S3C6410裸机调试笔记(1)

liufan   2011-11-3 00:03 楼主

前不久,公司买了一套real6410的开发板,在调试过程中出现了一些问题,经过查找资料和实验,不断的排查,找了问题的所在。不过声明一下,我这里没有进行系统的测试,问题的真正原因有待深入排查,至少在我这里是解决了一些问题。

开发平台:Real6410

开发环境:RVDS2.2

工具:山寨版 JLINK V8

1.    AXD中加载大目标文件进SDRAM调试的时候,出现提示通信字节超时的错误,具体是什么提示字符现在不记得了。加载小目标文件的时候,可以顺利载入SDRAM,且能单步调试。

后来,在一次插拔JLINK的时候,JLINK的绿灯不亮了,且PC提示“无法识别的USB设备”,我感觉有点像是JLINK的硬件坏了,因为坏的时候是再插上USB得一瞬间,我想可能是静电击穿了IC,后来找代理商售后,售后说是JLINK的固件坏了,要重新烧录JLINK的固件,我半信半疑的试一试,后来给我发了固件烧录的方法和目标文件。照着步骤,果然烧写进去,这下确定就是固件坏了。

JLINK修好后,再进行AXD加载时候,很奇怪的事情发生了,大小目标程序居然都可以顺利加载进SDRAM了,且能单步调试,想想,是否是因为JLINK的固件部分损坏导致的呢?希望有经验的前辈也可以分析一下哈。

 

2. 接着说,JLINK的加载问题解决了,但是在调试中会出现“Failed to single step.CPU did not halt on breakpoint”错误提示。在下列的情况中,会出现这个错误提示:

a. 遇到BEQBNE跳转指令的时候。其他的跳转指令还没有测试,这个2个测试过的。

b. 遇到浮点运算指令的时候。编译选项中的VFP的选项如果是“AUTO……”,就出现,默认值就是这个。当选择softvfp的时候,编译就不会出现浮点指令,运行就没有问题。

c. 在启动代码中调用__rt_entry()的时候

 

在调试的时候,发现了这样的一个现象:

在汇编中用BXBBL调用函数或者在C中调用函数的时候,点击单步进入按钮和单步运行完成按钮是一个效果,AXD进不了函数中去。直接一步就走完函数。除非在函数内部打断点。

 

接着找原因中……郁闷……!!!

 

今天问题终于有新的进展了,在网上查资料的时候,看见飞凌的6410也是出现这个现象,后来看讨论说是和PC机的CPU有关系。我想换个电脑试一试。找了个没有人用的电脑(是INTER平台的,据说AMD平台不行,具体是否是CPU的问题呢?看后面!),耐心的装了RVDS2.2JLINK以及驱动。把开发板和JLINK搬过去,打开在原机中的那个代码工程,靠走到我测试的BEQBNE的时候,奇迹发生了,没有错误信息,并且走得很好!后来想是CPU的问题吧,赶紧将这个CPU换到原机上取,开机奇迹又发生了,又出现那个信息了,看来和CPU没有关系。本来想进一步证实的时候,下班的时间到了。没有办法,明天再弄吧。

 

这个问题纠结了我1个多星期了,终于在今天有了革命性的进展。今天晚上终于可以睡个好觉了。呵呵。。。不早了,休息去了,看明天的结果吧!祝我好运!!!!!!

 

回复评论 (8)

jiayou o ~
你好呀
点赞  2011-11-3 08:09
太恭喜你了。。
[url=http://www.51great.org/]嵌入式培训[/url
点赞  2011-11-3 09:37

回复 楼主 liufan 的帖子

呵呵 谢谢楼主的分享 很好的遇到问题 分析问题 解决问题的思路 赞一个
加油!在电子行业默默贡献自己的力量!:)
点赞  2011-11-3 09:46
真羡慕你。。。
嵌入式培训www.51great.org
点赞  2011-11-3 09:55
浪费时间
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙 =================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
点赞  2011-11-3 11:14
加油 小高档货
点赞  2011-11-3 12:12
没有办法,高档货在我的手中,暂时还只能这么折腾!!呵呵
点赞  2011-11-3 20:46
大程序要等很久的,jlink在12m速度下,估计一秒下200~300k左右,在jlink的状态窗口左下角有显示下载数据大小的,没下载完拔线会丢固件的
点赞  2014-3-2 06:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复