找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3100|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

ARM9之2440時鐘

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:82781 發(fā)表于 2015-6-13 16:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
其實ARM9并沒有什么了不起的,和ARM7,6基本是一樣的,裸奔起來并沒有什么不同,個人感覺八錯!倒是那萬能的C語言卻是真的!
  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ù)制代碼



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表