JLINK无法(单步)调试,JLINK固件的烧写,S3C6410

来源:本站
导读:目前正在解读《JLINK无法(单步)调试,JLINK固件的烧写,S3C6410》的相关信息,《JLINK无法(单步)调试,JLINK固件的烧写,S3C6410》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《JLINK无法(单步)调试,JLINK固件的烧写,S3C6410》的详细说明。
简介:整理下如何烧写JLINK固件的步骤。

2014.03.29/写

昨天终于准备开始进行S3C6410的裸机开发,写好了程序,编译生成了.axf文件,一切顺利的准备利用JLINK进行在线调试了,突然有种成功就在前面的感觉,Jlink也能被电脑正常的识别,利用AXD进行Jlink的相关设置也很正常,也能检测到CPU,于是load image,进行调试,选择go,发现开发板啥反应没有,这是怎么回事呢??

进行单步调试,发现程序可以从启动文件运行到main函数,但是到了main之后就无法单步执行了,有时会报错“can not read register 26(R13_SVC)while CPU is running”之类的错误,反正程序是跑飞了,程序是例程,也特别的简单,不至于跑飞的,上网查找,发现提出此类问题的还蛮多的,有些有回答,大部分归于沉寂,终于从中汲取了可能跟JLINK盗版有关,需要重新烧写下固件。那下面就整理下如何烧写JLINK固件的步骤吧。

(这说明,JLINK固件如果出现问题,不单单是以前我们熟知的PC提示无法识别的USB设备,JLINK的灯不亮,也有可能是JLINK突然不能单步调试,调试程序跑飞等情况,此时灯仍然亮着,这种情况更容易浪费发现问题的时间)

A:准备所需的软件和固件,包括:

a:Install AT91-ISP v1.13.exe——下载J-LINK V8固件的工具软件

b:J-LINK v8.bin——J-LINK V8的固件

c:Setup_JLinkARM_v422g.exe——JLINK V8的驱动

B:安装Install AT91-ISP v1.13.exe软件,生成了两个图标sam-ba v2.9和SAM-PROG V2.4.(WINXP电脑,WIN7可能不行),其次安装好Setup_JLinkARM_v422g.exe这个JLINK驱动程序。

JLINK无法(单步)调试,JLINK固件的烧写,S3C6410

C:擦除芯片并使其进入编程模式

JLINK无法(单步)调试,JLINK固件的烧写,S3C6410

如图,有AB两个红框,A为ERASE跳线,B为RESET跳线(不同JLINK位置可能不同)

a:用USB线连接JLINK与PC,提供电源;

b:短接A处两过孔,25s以上,然后断开短接;

c:断开JLINK与PC之间的USB连接;

d:短接B处两过孔;

e:用USB线连接JLINK与PC,提供电源,20s以上,然后断开电源;

f:断开B处的短接。(顺序不能乱)

D:更新固件

a:运行SAM-PROG v2.4烧录软件,并进行如下设置:

JLINK无法(单步)调试,JLINK固件的烧写,S3C6410

b:用USB线将JLINK与PC相连。此时需要注意的是,如果电脑初次烧固件,一般会提示你发现新硬件,是否安装驱动,此时一定要安装驱动,直接点击本机自动查找就行,安装成功会如下图所示,否则软件中的write flash仍然无效。一切顺利的话,此时write flash变为有效,active connection也变为1。这一步的安装驱动很重要。

JLINK无法(单步)调试,JLINK固件的烧写,S3C6410

c:点击write flash,烧录固件,待烧录完成后,Active Connection:将变为1。

d:拔掉USB线,此时固件更新完毕。

E:自动更新固件

在电脑开始菜单中找到SEGGER->J-Link ARM V4.34->J-Link Commander并打开,如果你前面的操作正确,这里首先会提示你更新固件,这里我直接按的是,自动更新固件。

(对于这一步,有的同学说需要先按否,不更新固件,然后输入命令Exec SetSN=20140328,后面的为目前的时间,这样可以覆盖掉固件上次的时间,然后重新运行J-Link Commander,此时按同意更新固件。我这样做了,但是提示“无法覆盖掉原来的SN”,至于why,没有深入研究)

(还有同学提出,重新烧写固件到Jlink,将原来V8.bin固件用Winhex打开,并找到偏移地址为0xff00为首地址4bytes修改为其他值,只要不为原来的11111117或805306163即可,因为更新后的固件对这两个固件SN进行了强制校验,修改为其他值即可完美解决问题,同时将0xff30后面的GDBFull对应改成GDBFULL,对应ASCII码为47 44 42 46 55 4C 4C,目的是跳过GDBFull检查。我也用winhex看了下,发现好像下载的最新版的2012固件的bin文件里面已经符合此要求,不需要改了)

F:成功的现象——JLINK指示灯先闪烁,然后变为常绿。

(有人说,JLINK固件经常容易掉链子,因此我们需要做好长期与之斗争的准备)

提醒:《JLINK无法(单步)调试,JLINK固件的烧写,S3C6410》最后刷新时间 2024-03-14 00:59:17,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《JLINK无法(单步)调试,JLINK固件的烧写,S3C6410》该内容的真实性请自行鉴别。