由于工作转向做嵌入式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. redis3.0 cluster功能介绍

    edis从3.0开始支持集群功能.redis集群采用无中心节点方式实现,无需proxy代理,客户端直接与redis集群的每个节点连接,根据同样的hash算法计算出key对应的slot,然后直接在slo ...

  2. Jedis连接redis

    今天与大家分享下,Jedis连接池使用.先看一段JAVA 代码:         JedisPoolConfig config = new JedisPoolConfig();         con ...

  3. linux diff(differential) 命令

    功能说明:比较文件的差异. 语法:diff [OPTION]... FILES 实例: diff -ur temp1 temp2 diff -ur temp1 temp2 > temp.diff ...

  4. Firebird Procedure 带返回的存储过程

    火鸟定义带返回的存储过程是这样,先定义返回结果字段列表,然后为返回字段一一赋值,当你需要返回一行时,就suspend. 当需要返回多行时,就再次为返回字段变量赋值,suspend. 示例: creat ...

  5. pom resource配置

    maven pom配置资源resource, make时可自动发布到release目录的 \WEB-INF\classes 下. 解决使用idea时, 每次都需要配置资源文件的手动配置. 具体: &l ...

  6. 解决VS2010在新建实体数据模型出现“在 .NET Framework Data Provider for Microsoft SQL Server Compact 3.5 中发生错误。请与提供程序供应商联系以解决此问题。”的问题

    最近想试着学习ASP.NET MVC,在点击 添加--新建项--Visual C#下的数据中的ADO.NET 实体数据模型,到"选择您的数据连接"时,出现错误,"在 .N ...

  7. 十一、cent OS下搭建SVN服务器

    安装SVN命令:yum install subversion 查看安装位置:rpm -ql subversion,我们看到它在/usr/bin目录下生成了svn的二进制文件 查看svn版本:/usr/ ...

  8. spring框架笔记

    Spring实现依赖注入的两种方式: 1.构造方法注入 2.set方法注入,p标签注入 Spring中事务的两种实现方式: 编程式事务管理 声明式事务管理(推荐) Spring增强类型: Before ...

  9. JDBC编程错误:Exception in thread "main" java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)

    出现上面的错误是因为连接数据库的用户名不对或密码赋值不对,请对用户名和密码进行检查. 或者在程序中没有获取到正确的用户名或密码.看是否少写了用户名或密码.

  10. Ubuntu 18 使用docker安装rancher/server:stable并运行kubernetes

    1.安装docker sudo apt-get install docker.io docker的版本:Docker version 17.12.1-ce 2.安装virtualbox-qt,因为vi ...