標(biāo)題: ARM9之2440時(shí)鐘 [打印本頁(yè)]

作者: xuwei    時(shí)間: 2015-6-13 16:12
標(biāo)題: ARM9之2440時(shí)鐘
其實(shí)ARM9并沒有什么了不起的,和ARM7,6基本是一樣的,裸奔起來并沒有什么不同,個(gè)人感覺八錯(cuò)!倒是那萬(wàn)能的C語(yǔ)言卻是真的!
  1. U32 val;
  2. U8 m, p, s;
  3. val = rMPLLCON;
  4. m = (val>>12)&0xff;
  5. p = (val>>4)&0x3f;
  6. s = val&3;

  7. //(m+8)*FIN*2 不要超出32位數(shù)!
  8. FCLK = ((m+8)*(FIN/100)*2)/((p+2)*(1<<s))*100;
  9. val = rCLKDIVN;
  10. m = (val>>1)&3;
  11. p = val&1;       
  12. val = rCAMDIVN;
  13. s = val>>8;
  14. switch (m) {
  15. case 0:
  16. HCLK = FCLK;
  17. break;
  18. case 1:
  19. HCLK = FCLK>>1;
  20. break;
  21. case 2:
  22. if(s&2)
  23. HCLK = FCLK>>3;
  24. else
  25. HCLK = FCLK>>2;
  26. break;
  27. case 3:
  28. if(s&1)
  29. HCLK = FCLK/6;
  30. else
  31. HCLK = FCLK/3;
  32. break;
  33. }
  34. if(p)
  35. PCLK = HCLK>>1;
  36. else
  37. PCLK = HCLK;
  38. if(s&0x10)
  39. cpu_freq = HCLK;
  40. else
  41. cpu_freq = FCLK;
  42. val = rUPLLCON;
  43. m = (val>>12)&0xff;
  44. p = (val>>4)&0x3f;
  45. s = val&3;
  46. UPLL = ((m+8)*FIN)/((p+2)*(1<<s));
  47. UCLK = (rCLKDIVN&8)?(UPLL>>1):UPLL;
復(fù)制代碼








歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1