由于工作转向做嵌入式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. 以cmd命令行方式执行php文件时,传递参数

    1. php自带的两个参数$argc, $argv: 1.1. $argv : (后面的v是variables的意思),传递进来的参数会以数组的方式保持在这个变量里 1.2. $argc : (后面的 ...

  2. Hibernate实体类编写规则和主键策略

    一.实体类的编写规则 1.属性要是私有的. 2.要有公开的setter和getter方法供外界访问和修改. 3.每一个实体类要有一个属性作为唯一值(一般都是使用对于数据表的主键). 4.建议数据类型不 ...

  3. [shell基础]——变量

    变量的赋值 #定义变量,注意等号两边没有任何空格 variable=#定义环境变量export variable= #双引号:可含空格.可转义特殊字符 variable=" " # ...

  4. 架构实战项目心得(十):基于spring-ladp的统一用户中心结构设计以及代码结构设计

    一.目录设计 1 公司 2 部门 3 注册人员 4 层级人员 二.规则 1 注册 自行注册人员放到模拟公司的目录下,等所属公司组织结构建立完毕,将此人员迁移到所属公司(或者删除此人员,所属公司新建此人 ...

  5. CentOS7部署.Net Core2.0站点(中)

    继续上篇的内容,本篇来学习下nginx的配置和守护进程supervisor的使用. 一.Nginx安装及配置 (1)安装nginx sudo yum install epel-release #添加源 ...

  6. jQuery插件 -- UI插件Tabs Widget 1.10

    最近将tabs(标签页)整合到Admin LTE( 一个完全响应式管理模板,基于Bootstrap3的框架.)中使用.过程中走了不少弯路,原因是没有注意版本问题,jquery ui tabs 每次升级 ...

  7. ORA-12541:TNS-12560:ORA-12518:ORA-28040:ORA-01017

    说明 环境(参考): Oracle 12c SQL Developer/Navicat Premium(64位)连接数据库 后续出现的错误代码: ORA-12541: no listener TNS- ...

  8. MySQL:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

    错误 原因:可能是服务没有启动 以管理员身份打开cmd 输入 net start mysql

  9. log4j2分层输出日志

    在java mvc框架开发过程中,我们经常的将代码分为类似controller(控制层).service(业务层).rpc(远程接口调用层).dao(数据层)等层级,如果将所有层级的日志全部都打到一个 ...

  10. Hadoop 完全分布式部署(三节点)

    用来测试,我在VMware下用Centos7搭起一个三节点的Hadoop完全分布式集群.其中NameNode和DataNode在同一台机器上,如果有条件建议大家把NameNode单独放在一台机器上,因 ...