由于工作转向做嵌入式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就好了,

我想版主出马了,问题还不解决,设置好已经,兴奋的点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工程可能对不同时期生产的板子是不通用的,最好选择自动检测。

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

tq2440 jlink连接问题的更多相关文章

  1. [异常] JLink Error: Could not find supported CPU core on JTAG chain J-Link连接不到stm32内核问题

    >_<" 昨天晚上还好好的,今天早上调试的时候就不行了,下载程序的时候总是报J-Link连接不上,而且stm32似乎也死机了,led灯不闪烁,TFT屏也无显示. >_< ...

  2. 痞子衡嵌入式:揭秘i.MXRT600的ISP模式下用J-Link连接后PC总是停在0x1c04a的原因(Debug Mailbox)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT600中的Debug Mailbox实现对JLink调试的影响. 事情缘起痞子衡的同事 - 喜欢打破砂锅问到底的Kerry小 ...

  3. 痞子衡嵌入式:揭秘i.MXRT1170上用J-Link连接复位后PC总是停在0x223104的原因

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1170上安全调试策略实现对JLink调试的影响. 痞子衡之前写过一篇旧文 <i.MXRT600的ISP模式下用J-L ...

  4. 怎么找到占用usb的模块,linux下Jlink连接失败

    问题是这样产生的,我在linux下安装jlink,启动JLinkExe执行,总是提示不能通过usb连接: SEGGER J-Link Commander V5.10q (Compiled Mar :: ...

  5. Ubuntu12.10 使用JLink连接开发板用arm-gdb调试ARM程序

    Part1 环境搭建和工具安装 1.1 设置交叉编译环境 安装相关的编译工具: sudo apt-get install build-essential gcc-arm-linux-gnueabi 这 ...

  6. 使用eclipse与jLink V8调试exynos 4412 u-boot

    /** ****************************************************************************** * @author    Maox ...

  7. 用jlink在mini2440上烧写uboot

    首先,附上我安装jlink驱动: http://download.csdn.net/detail/zzmno1/3776716#comment 以及我使用的uboot.bin文件下载地址: http: ...

  8. J-Link固件烧录以及使用J-Flash向arm硬件板下载固件程序

    这篇文章的最初版本是在15年写的https://blog.csdn.net/u010592722/article/details/45575663,后来又遇到了一些新问题,故更新在了这里. 一.始于安 ...

  9. 【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42239705  参考博客 : [嵌入式开发]嵌入式 开发环境 (远 ...

随机推荐

  1. 运行时用AnimatorOverrideController动态加载动画片段

    https://blog.csdn.net/tlrainty/article/details/54602786 项目中经常会遇到这种情况:很多模型动画的AnimatorController是一模一样的 ...

  2. MySQL wait_timeout参数设置与网上常见错误小纠

    discard connection com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link fail ...

  3. (转)The remote certificate is invalid according to the validation procedure

    If you get “The remote certificate is invalid according to the validation procedure” exception while ...

  4. RUP 4+1视图

    RUP开篇之作:http://www.ibm.com/developerworks/cn/rational/r-4p1-view/index.html 百科:http://baike.baidu.co ...

  5. MongoDb 学习笔记(一) --- MongoDb 数据库介绍、安装、使用

    1.数据库和文件的主要区别 . 数据库有数据库表.行和列的概念,让我们存储操作数据更方便 . 数据库提供了非常方便的接口,可以让 nodejs.php java .net 很方便的实现增加修改删除功能 ...

  6. element ui tabl 输出Html

    在使用element ui的表格的时候有遇到过表格中的数据需要换行的问题,数据是由后台传回的包含分隔符的字符串,在尝试过使用slot和直接输出html后并不能实现 解决方法:使用column的form ...

  7. 键盘录入(Java)

    键盘录入(Java): 1.导包 格式 import java.util.Scanner; 位置 在class上面 2.创建键盘录入对象 格式 Scanner sc = new Scanner(Sys ...

  8. css多行本文垂直集中

    <div style="display:table;height:400px;"> <span style="display:table-cell;ve ...

  9. js-原始类型和声明变量

    ** Java的基本数据类型:byte.short.int.long.float.double.char.boolean ** 定义变量 都是用关键字 var(ES6中可以使用const和let来定义 ...

  10. JS_1

    学习JS分为哪几步: 1.学习基础语法 JS写在哪 JS输出 JS变量 JS函数 JS分支 JS循环 2.学习JS操作网页DOM树 获取Dom节点 触发Dom事件 对Dom进行修改 3.学习JS对象及 ...