tq2440 jlink连接问题

  由于工作转向做嵌入式linux平台上的手台通信协议开发,所以想系统的学习一下嵌入式linux的开发流程。

  向同事借了tq2440的板子来玩,一边看书,一边做实验,看的书是《嵌入式linux基础教程》,看完uboot那章,觉得需要边看边实践效果要好,那就对照板子的手册和其他资料,准备先编个uboot,烧到板子上去,一开始本来想用usb烧uboot的,结果不知道怎么搞的,操作几次后,板子就白屏了,串口也没打印东西,感觉不妙,应该是把 uboot擦掉了,好吧,学习本来就是应对各种挑战的过程,第一个挑战出现了。

  看了一下手册,烧uboot有三种方式,前两种需要pc有并口,可惜我的电脑没有,只能用第三种了,强大的j-link.还好同事同时把jlink的仿真器也借给我了,还带10 pin转20pin的转接板,如果不把板子系统恢复,我都不好意思还给他了。一切工具都就绪,准备烧写了。由于同事这块板子也是他同学送给他的,自带的光盘已经丢失了,我只能去网上下载2010年的光盘镜像,找到还是很幸苦。在光盘镜像中的windows开发工具里找到jlink的安装软件,是4.08i版本,连接板子和jlink,打开光盘中的TQ2440.jflash,这个是配置好的jlink工程文件,已经配置好cpu和flash,我在option->project setting 中,点击flash,选择我这块板子的flash型号EN29LV160AB,按照手册写的,我只要点击Target->connect,就可以连接上板子了,如果就这么简单的成功了,我就不会写这篇博客了,是的,没有成功 软件提示 write memory error @0x40000000,word access: memory
access timeout,结果这个问题整整困扰了我三个礼拜。 一开始,我去网上找,看其他人有没有碰到过这个问题,结果有是有,不过是flash型号选错引起,我这个flash选的没问题。去论坛找,也没发现有这个问题,看看大家都是在提移植的问题,都没人提出过类似的问题,一个礼拜过了,我开始怀疑线是不是坏的,于是去淘了新的线和连接板,东西到了后,满以为这次就要成功了,迎接我的是一盆凉水,不行呀。接下来的时间,又是找资料,各种尝试,期间动用了公司的jlink仿真器(公司用的是正版的),换了最新的jlink版本,还是不行,4.08i的版本,控制台模式还是显示识别到了cpu的一些信息,4.56啥都没显示。没办法了,只能在天嵌的论坛里发帖提问了,http://www.armbbs.net/forum.php?mod=viewthread&tid=18052,结果没几天,引起了版主大人的注意,回了一个贴,说可能设成自动检测cpu和flash就好了,

tq2440 jlink连接问题

 

tq2440 jlink连接问题

我想版主出马了,问题还不解决,设置好已经,兴奋的点connect,笑容僵住了,还是write 出错,只是地址变了,暗想,版主大人应该不会忽悠人呀,实在没办法呀,把同事的板子弄成这样,我脸皮太薄,不好意思就这样还了,继续查资料吧。接下来一个星期,公司的事情很忙,天天加班,就没有时间搞这个了。忙了一个礼拜后,终于可以好好休息,弄弄自己的事情,还是得把这个问题解决呀,试着试着,我突然想到好像看过一个贴,说烧这个板子的jlink需要jlink 4.02c的版本,还有其他一些注意事项,认为高版本的应该要好点,今天再想起来,结合4.56版本连cpu的不能识别的情况,我想试试看4.02版本吧,结果网上下不到4.02c版本,只有4.02a版本,只能碰碰运气了。

安装好以后,打开光盘带的jlink 工程文件,还是连接不上,我快绝望了!恩!版主大人说自动检测试试看,好吧,最好一招了,设置成自动检测,点击connect,一个我从来没出现的画面出现了,一个进度条在写数据,我知道,我成功了,接下来的事情就很简单了,烧好uboot,再用tftp把linux内核和文件系统down到flash,终于,一切都恢复了,那种喜悦就像编程解决一个难题,或者调试定位一个bug,程序员是要有坚持的品质。

  

  好了,废话了这么多,总结一下:

  要选好配对的jlink软件版本,光盘的jlink工程可能对不同时期生产的板子是不通用的,最好选择自动检测。

  当然,最重要的是,如果没有好的天赋,只能自己不断坚持努力,好学多问。

 

 

 

你可能感兴趣的:(link)