天嵌 ARM开发社区

 找回密码
 注册
查看: 1761|回复: 0

ARM 各频率计算方法(转)

[复制链接]
非也 发表于 2014-12-9 16:48:32 | 显示全部楼层 |阅读模式
nPLLVALUE = s2450CLK->MPLLCON ;
nCLKDIV = s2450CLK->CLKDIV0 ;




nM_DIV = ((nPLLVALUE >> 14) & 0x3ff);
nP_DIV =((nPLLVALUE >> 5) & 0x3F);
nS_DIV =((nPLLVALUE >> 0) & 0x7);




nARMDIVN=((nCLKDIV >> 9) & 0xf);
nARMDIV = (nARMDIVN == 0 ? 1 : (nARMDIVN == 1 ? 2 : (nARMDIVN == 2 ? 3 : (nARMDIVN == 3 ? 4 :(nARMDIVN == 5 ? 6 :(nARMDIVN == 7 ? 8 : (nARMDIVN == 11 ? 12 : (nARMDIVN == 15 ? 16 : 1)  ) ) ) ))));



nPREDIV         =        ((nCLKDIV >> 4) & 0x3);
nHCLKDIV       =         ((nCLKDIV>>0) & 0x3);
nPCLKDIV        =        ((nCLKDIV>>2) & 0x1);
nHALFHCLK      =      ((nCLKDIV>>3) & 0x1);


nS3C2450_FOUT    =       ((nM_DIV) * (12000000L / (nP_DIV) / (1<<nS_DIV )));
nS3C2450_FCLK     =   (nS3C2450_FOUT  / nARMDIV );
nS3C2450_HCLK    =    (nS3C2450_FOUT / (nPREDIV+1) / (nHCLKDIV+1));   // divisor 4
nS3C2450_PCLK     =   (nS3C2450_HCLK / (nPCLKDIV+1));  // divisor 2

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-1 20:18 , Processed in 1.031243 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表