由于工作转向做嵌入式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. Struts2入门介绍(二)

    一.Struts执行过程的分析. 当我们在浏览器中输入了网址http://127.0.0.1:8080/Struts2_01/hello.action的时候,Struts2做了如下过程: 1.Stru ...

  2. Mac OS X安装OpenGL

    Mac OS X安装OpenGL 安装最新的cmake brew install cmake brew upgrade cmake 安装glew brew install glew 安装GLTools ...

  3. bzoj 4709: [Jsoi2011]柠檬

    Description Flute 很喜欢柠檬.它准备了一串用树枝串起来的贝壳,打算用一种魔法把贝壳变成柠檬.贝壳一共有 N (1 ≤ N ≤ 100,000) 只,按顺序串在树枝上.为了方便,我们从 ...

  4. 从零开始制作H5人脸融合小游戏

    去年的建军节,一个展示军装照的H5人脸融合游戏火遍朋友圈,带来很好的传播效果.最近欧冠决赛要来了,公司决定做一个寻找和你最像的欧冠球星的H5游戏,那么该怎么做呢?认真分析了一下,这个游戏其实用到的技术 ...

  5. webpack的学习感悟

    https://github.com/webpack/webpack    webpack gethub地址. http://webpack.github.io/   webpack 官网 前言 we ...

  6. Android 屏蔽recent task 按钮

    Step 1 Add this permission to the manifest.xml file <uses-permission android:name="android.p ...

  7. Eclipse 工具栏无法移动的解决办法

    升级到Juno后发现工具栏有些乱 而且无法拖动,试了下http://blog.csdn.net/cxx504659987/article/details/38532599的方法 发现配置文件里没有文中 ...

  8. 开源解决方案一:快速搭建单机版 LAMP 网站

    LAMP 通常表示 Linux + Apache + MySQL/MariaDB + Perl/PHP/Python,LAMP 的各个组件不是一成不变的,并不局限于它最初的选择.作为一个解决方案套件, ...

  9. 简单来看看JavaBean

    1.什么是JavaBean? JavaBean是一个遵循特定写法的java类. 用作JavaBean的类必须有一个公共的,无参数的构造方法. JavaBean的属性与普通的Java类的属性的概念一样, ...

  10. select下拉框选择字体大小

    效果: 结合Bootstrap.jQuery和ES6字符串模板与箭头函数使用JavaScript DOM操作动态添加option,随着option:selected选中的字号而改变相应的字体大小 代码 ...