ARM设置时钟开关的方法(使用PLL) - Go语言中文社区

ARM设置时钟开关的方法(使用PLL)


第一步:观察下面代码中r2=0x10001111

ldr	r1, 0xE0100200
ldr	r2, =0x10001111
orr	r1, r1, r2                         //orr用于将r1中一些位置1
str	r1, [r0, #CLK_SRC0_OFFSET]

第二步:将0x10001111转换为二进制

第三步:结合数据手册中寄存器的用法,如下图,根据上图可知将bit28、bit12、bit8、bit4、bit0设置为1;将bit24、bit20、bit16设置为0.(在下图中用红色笔将要设置的数值勾出来)。

第四步:根据上图中以蓝笔画出来的各种MUX开关,在下图的时钟系统图中找到对应的MUX。然后根据设置的(bit28、bit12、bit8、bit4、bit0设置为1;将bit24、bit20、bit16设置为0)对MUX开关进行选择。如下图所示,用红线连接了时钟的选择流向。这样就设置了时钟的MUX开关。

【补充】S5pv210各时钟的典型值:
     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

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/baidu_37973494/article/details/82912346
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-09-13 16:35:51
  • 阅读 ( 1323 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢