[ZLG-ARM] PLL不能锁定?(已经解决,谢谢大家!)

[复制链接]
 楼主| xuzw72 发表于 2007-10-24 20:11 | 显示全部楼层 |阅读模式
昨天用EASYARM2100调试还好好的,今天却不行了,可能是操作失误的原因,现在在AXD中调试的时候总是停在target.c中&nbsp;&nbsp;while((PLLSTAT&nbsp;&&nbsp;(1&nbsp;&lt&lt&nbsp;10))&nbsp;==&nbsp;0);处,从本句分析,应该是PLL一直没有能够锁定.<br /><br />可能是什么原因,如何解决?请高手指教!
ppz2005 发表于 2007-10-25 11:01 | 显示全部楼层

调试状态是不是和正常执行有点不一样

  
zlgarm 发表于 2007-10-25 11:23 | 显示全部楼层

RE~~~

1:不能用计算机模拟仿真<br />2:确保晶振的频率在10~25M之间<br />3:如果是有源晶振,请确保在1.8V<br />
 楼主| xuzw72 发表于 2007-10-25 18:34 | 显示全部楼层

不明白?

2楼所说“调试状态是不是和正常执行有点不一样”是指什么?调试时确不一样,正常时可以进入main运行的。<br /><br />3楼所说“不能用计算机模拟仿真”是什么意思,我以前试的时候是好好的,现在再反过去一样地进行试验就不行。至于晶振我没有动过板上的任何硬件,应该不会有任何问题,而且用示波器看过晶振上的波形,确实有信号,频率也对,只是看着不象方波而象正弦波。<br /><br />请再指导!
 楼主| xuzw72 发表于 2007-10-25 20:19 | 显示全部楼层

有没有可能是芯片被加密了?

有没有可能是芯片被误操作时加密了?<br /><br />如果被加密了就只有用ISP将芯片檫除,刚才试了一下ISP,但总是提示不能与目标板进行通信,记得以前正常的时候是可以进行串口通信的,现在不能与目标板通信就无法使用ISP了.<br /><br />请问该如何办才好?
 楼主| xuzw72 发表于 2007-10-25 21:15 | 显示全部楼层

越来越奇怪了!

越来越奇怪了!使用单步执行的方法跟踪程序的运行,结果程序运行进入target.c中后,从watch中查看时,程序中使用的一些寄存器的值都是&quot;name&nbsp;not&nbsp;found&quot;,包括PLLSTAT和PLLFEED,在程序执行到while((PLLSTAT&nbsp;&&nbsp;(1&nbsp;&lt&lt&nbsp;10))&nbsp;==&nbsp;0);之前,有两句与PLLFEED有关,也这样,照道理name&nbsp;not&nbsp;found时应该是标识符没有定义或没有执行到定义处,但这些寄存器的定义都在头文件中,头文件也包含了进来,不应该出现这种情况呀.<br /><br />有没有谁碰到过这种现象,帮忙给分析指导一下,非常感谢!
zlgarm 发表于 2007-10-27 11:57 | 显示全部楼层

re

PLLSTAT和PLLFEED不是变量,只是一个标号,不能当作变量来查看,<br />操作ISP时,请短接ISP脚,然后上电复位,然后在进行链接,如果还链接不上,请确认串口到芯片的通讯链路是否正常。
 楼主| xuzw72 发表于 2007-10-28 19:50 | 显示全部楼层

谢谢zlgARM! 但还有问题

谢谢zlgARM!<br /><br />将ISP短接后就可以连接了,能够正常地读ID、擦除芯片和写FLASH,而且在H-Flasher里面通过JTAG接口也是可以完成这些功能的。<br /><br />但是,在调试的时候(无论用DebugInRAM或是DebugInFLASH)还是会停在target.c中while((PLLSTAT&nbsp;&&nbsp;(1&nbsp;&lt&lt&nbsp;10))&nbsp;==&nbsp;0);处,即使将芯片擦除或在写上别的程序都一样。但是我将光盘里面program&nbsp;file目录下ledhex.hex通过上述两种方法写入flash后,有正常的执行结果:数码管显示数字、LED灯显示二进制代码、蜂鸣器会叫一声。<br /><br />请问该怎么办?
 楼主| xuzw72 发表于 2007-10-28 21:23 | 显示全部楼层

问题的原因

费了好多的劲,终于找到问题的原因了!<br /><br />到处查资料,反复地试,试了好多办法都不行,最后看了光盘里面的说明文档,其中提到了驱动的问题,虽然文中是针对EasyJTAG的,于我用的H-JTAG不同,但是还是从中找到了问题:不知道怎么回事,H-JTAG的驱动在AXD中没有了(我记得最初直接安装了ADS和H-JTAG的驱动就可以用的,没有经过后面的操作),然后在AXD中Options/Configure&nbsp;Target/Add,选择H-JTAG安装目录下的H-JTAG.dll,点OK就解决了问题。<br /><br />现在工作正常,总算是解决了问题,真是很开心,谢谢帮助我的人们,也希望我的这一点经验能够给后来者一点帮助。
qihao 发表于 2007-10-28 21:40 | 显示全部楼层

这个兄弟厚道,解决了再出来复述一遍。

呵呵&nbsp;任何团队都会欢迎你这样的人的。
 楼主| xuzw72 发表于 2007-10-29 16:27 | 显示全部楼层

呵呵,就是希望大家能互相帮忙、共同进步

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

18

帖子

0

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

2

主题

18

帖子

0

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