韦东山Linux嵌入式课程社区
直播中

刘永杰

7年用户 164经验值
私信 关注

裸机时钟设置中MPLLCON和CLKDIVN设置先后顺序不同导致结果

注意:如果点击空白处无法输入,则点击字会有输入提示符 | 则可以使用键盘进行输入!

此板块为  [ARM裸机加强版]
  • 问题所在章节:新1期第010课_掌握ARM芯片时钟体系
  • 发生问题的运行环境:jz2440 v3.0
  • 问题发生描述:
  • 根据数据手册进行时钟的设置后,调换了MPLLCON设置和CLKDIVN的设置顺序后,不能运行程序。(原本是先设置CLKDIVN->设置异步->设置MPLL,正常运行。我自己将CLKDIVN放在MPLLCON后设置,运行不了。查看数据手册没有这方面的描述,看了时钟树这样的设置顺序好像没什么问题,但是就是运行不了),网上没有找到解决方法,过来请教下各位,先谢过!



  • 输出的错误信息:程序不运行

附件中问题出现在Start.S中,注释“异常的位置”和“正确的位置”为调试的两个位置,程序正常运行时现象为JZ2440的三个按键按下分别对应三个led灯亮。

回帖(2)

肖晓新

2019-4-15 13:54:24
S3C2440芯片手册,p237
NOTES:
1. Although the MPLL starts just after a reset, the MPLL output (Mpll) is not used as the system clock until the software
writes valid settings to the MPLLCON register. Before this valid setting, the clock from external crystal or EXTCLK source
will be used as the system clock directly. Even if the user does not want to change the default value of MPLLCON
register, the user should write the same value into MPLLCON register.


我的理解是:只有在配置了MPLLCON register后,时钟才生效,如果调换,可能分频器无法工作吧

不知道对不对
举报

刘满贵

2019-4-15 14:08:45
感谢回复。

这段话我也看了,之前理解是设置了MPLLCON,MPLL才开始工作,在MPLL开始工作前,也就是机器刚开始启动时,按照时钟树来看是直接使用晶振作为FCLK工作的,也即是否设置MPLLCON仅和MPLL是否工作有关,但是和后面的分频器无关··所以才有MPLL和分频器设置顺序产生的异常的疑惑。

可能能知道启动时分频器是否工作,是否和MPLL启动有关就能解决了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分