【在线求助?】ARM9 PLL变频死
【现象】ARM上电初始化跑在ARM PLL(PLL时钟输入为外部时钟24MHz),PLL变频时需要更换时钟源,更换到外部时钟24MHz,一更换时钟源,程序就飞了(代码下在DDR中);可能是哪些因素导致的呢?【已做实验】1.更换时钟源为外部时钟24MHz后,不执行代码,通过JTAG操作GPIO口,拉高、拉低都正常;怀疑是DDR问题;
2.把变频部分代码放入SRAM中运行,时钟源切到外部时钟24M后,PLL变频代码可以执行,完成后,时钟源切回PLL后,出现预取异常;
【跪谢】哪位大侠遇到此类问题的请指点下呀,这个问题可能会影响到本人的转正,跪谢! 目前看起来优先考虑DDR的问题
你试试降频,或者干脆不使用pll的结果会怎么样 jlass 发表于 2013-9-5 11:26 static/image/common/back.gif
目前看起来优先考虑DDR的问题
你试试降频,或者干脆不使用pll的结果会怎么样 ...
谢谢您的答复,是DDR的问题,设置PLL函数延迟过久,导致刷新变慢,DDR部分数据丢失 不能下这样的结论“是DDR的问题”。
1. 变频代码要确认在SRAM中,或lock在cache中执行;
2. 确保变频代码不会产生tlb miss, 去访问DDR中页表;
3. 之前要让DDR进入self-refresh;
试用期间调不出来,其实没关系。把原理给领导讲清楚,也能转正。
页:
[1]