《朱老师物联网大讲堂》学习笔记
学习地址:www.zhulaoshi.org
三个时钟域:
MSYS域:
ARMCLOCK:给CPU内核工作的频率,也就是我们说的主频,
HCLOCK_MSYS:MSYS域的高频时钟,给DMC0和DMC1使用,
PCLOCK_MSYS:MSYS的低频时钟,
HCLOCK_IMEM:给IROM和IRAM(合称iMEM)使用,
在这里,我们主要使用前面两个。
DSYS域:
HCLOCK_DSYS:DSYS的高频时钟,
PCLOCK_PSYS:DSYS的低频时钟,
PSYS域:
HCLOCK_PSYS:PSYS域的高频时钟,
PCLOCK_PSYS:PSYS域的低频时钟,
SCLK_ONENAND:
总结:
210内部的各个外设都是接在(内部AMBA)总线上面的,
AMBA总线有一条高频分支叫AHB,
有一条低频分支叫APB,
上面的各个域都有各自对应的HCLK_XXX和PCLK_XXX,
其中HCKL_XXX就是XXX这个域中AHB总线的工作频率,
PCLK_XXX就是XXX这个域中APB总线的工作频率,
SOC内部的各个外设是挂载在总线上工作的,
这个外设的时钟来自于它挂载的总线,
各时钟典型值(默认是:iROM中初始化时侯设置的值)
而系统刚上电的时候,也就是还没经过上面iROM的初始化的时候,时钟频率是原始时钟24MHz,
5. Set Clock divider, lock time, PLL (MPS value), and source clock.
这是BL0中的第五步设置。
关于这里具体数值,
有一个典型的参考值(三星推荐)
Values for the high-performance operation:
• freq(ARMCLK) = 1000 MHz
• freq(HCLK_MSYS) = 200 MHz
• freq(HCLK_IMEM) = 100 MHz
• freq(PCLK_MSYS) = 100 MHz
• freq(HCLK_DSYS) = 166 MHz
• freq(PCLK_DSYS) = 83 MHz
• freq(HCLK_PSYS) = 133 MHz
• freq(PCLK_PSYS) = 66 MHz
• freq(SCLK_ONENAND) = 133 MHz, 166 MHz