【在线求助?】ARM9 PLL变频死

[复制链接]
2241|4
 楼主| arm_debug_yj 发表于 2013-9-5 11:05 | 显示全部楼层 |阅读模式
【现象】ARM上电初始化跑在ARM PLL(PLL时钟输入为外部时钟24MHz),PLL变频时需要更换时钟源,更换到外部时钟24MHz,一更换时钟源,程序就飞了(代码下在DDR中);可能是哪些因素导致的呢?
【已做实验】1.更换时钟源为外部时钟24MHz后,不执行代码,通过JTAG操作GPIO口,拉高、拉低都正常;怀疑是DDR问题;
2.把变频部分代码放入SRAM中运行,时钟源切到外部时钟24M后,PLL变频代码可以执行,完成后,时钟源切回PLL后,出现预取异常;
【跪谢】哪位大侠遇到此类问题的请指点下呀,这个问题可能会影响到本人的转正,跪谢!
jlass 发表于 2013-9-5 11:26 | 显示全部楼层
目前看起来优先考虑DDR的问题
你试试降频,或者干脆不使用pll的结果会怎么样
 楼主| arm_debug_yj 发表于 2013-9-7 11:41 | 显示全部楼层
jlass 发表于 2013-9-5 11:26
目前看起来优先考虑DDR的问题
你试试降频,或者干脆不使用pll的结果会怎么样 ...

谢谢您的答复,是DDR的问题,设置PLL函数延迟过久,导致刷新变慢,DDR部分数据丢失
ymind 发表于 2013-9-7 12:54 | 显示全部楼层
不能下这样的结论“是DDR的问题”。
1. 变频代码要确认在SRAM中,或lock在cache中执行;
2. 确保变频代码不会产生tlb miss, 去访问DDR中页表;
3. 之前要让DDR进入self-refresh;
ymind 发表于 2013-9-7 12:58 | 显示全部楼层
试用期间调不出来,其实没关系。把原理给领导讲清楚,也能转正。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

33

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部