打印

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

[复制链接]
1867|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;

使用特权

评论回复
5
ymind| | 2013-9-7 12:58 | 只看该作者
试用期间调不出来,其实没关系。把原理给领导讲清楚,也能转正。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

33

帖子

0

粉丝