加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Jlink烧写问题

发布时间:2020-12-15 06:14:16 所属栏目:百科 来源:网络整理
导读:ARM9“裸板”编程授课过程中,发现很多同学都想用笔记本调试2440。无奈亚嵌的JTAG是并口Wiggler,可是现在的笔记本都没有并口,有些人买了usb转并口,可是又多半用不了。上网搜索,相关的文章不多。于是我专门为此做了一些研究,特将一些经验在此分享,希望
ARM9“裸板”编程授课过程中,发现很多同学都想用笔记本调试2440。无奈亚嵌的JTAG是并口Wiggler,可是现在的笔记本都没有并口,有些人买了usb转并口,可是又多半用不了。上网搜索,相关的文章不多。于是我专门为此做了一些研究,特将一些经验在此分享,希望对有此需求的朋友有所帮助。
? ? 目前市面上流行的ARM JTAG方案有3种,一种是J-LINK配IAR,一种是U-LINK配KEIL,一种是OpenJTAG配OpenOCD+GDB,因J-LINK目前有SZ版价位比较低,先说这个。
? ?按说选择J-LINK应该使用IAR才对,但世上人偏偏就爱钻这个牛角。
? ?因为课件设计原因,学生都使用ADS和AXD,以及本人对KEIL比IAR熟,这里介绍ADS和KEIL使用方式。
? ?(1)安装J-LINK驱动和官方软件,可去Segger官网下载
? ?(2)将J-LINK的20Pin JTAG线连在目标板上(非标JTAG口需要转换板)


对于ADS/AXD用户:
(3)运行ADS和AXD,在AXD menu->configure target中选择"add",在j-link软件安装目录,比如c:/program files/segger/j-linkARM_v4.04目录中,找形如Jlink-RDI.dll的一个文件添加。
? ?(4)添加完成后,不要关闭对话框,在"configure"选项下,可以设置Jlink-rdi的参数,注意其中一项时钟选择Auto Selection或手工选择时钟,不要使用adaptive那项。
? ?(5)一路确定后,就可以正常使用ADS编辑/编译程序,AXD调试。但我的实验过程中,常常出现AXD无反应的情况,无非是多重启几次。也许高版本的j-link软件会好些。
? ? (6)特别注意:程序最开始几句一定要把“狗”关掉。我手头的AKAE2440开发板,如果不关"狗",J-link会自动复位,这可能是因为板子JTAG连线问题,也可能是RDI.DLL的关系,我没有进一步分析。
对于KEIL用户
? ?(7)选择v3.9以上的uv3,选s3c2440 target.并创建工程。
? ? (8)在debug设置中,选择J-link(KEIL原生支持)
? ? (9)在utilities选项中,选择J-LINK,flash downloader选择KEIL本身的算法:S3C2440 FLASH support. RAM地址选择0-0x1000(注意:此设置为nand flash启动的),flash地址按你的连接的NAND flash容量设定,不过超过4K意义不大。
BIN文件烧写到2440 NAND FLASH的解决方法:
对于KEIL用户来说,支持2440 nand flash下载,但必须有工程源码,且必须用keil编译,不支持直接选择bin文件下载,有时很不方便。
而J-Link配套的软件J-Flash,目前不支持s3c2440 flash下载(可见2440在欧洲用的不多)
针对这种情况,我写了一个小程序,叫做M4K.bin专门用于J-link烧写s3c2440+k9f1208 flash.
步骤如下:
1.下载m4k.bin(尺寸约140字节)
2.运行segger目录中的j-link commander(命令行)
3.使用r命令或halt命令复位/暂停arm处理器
4.输入命令loadbin d:m4k.bin,f38
表示加载m4k.bin到2440的4K sram地址0x0f38处。
5. loadbin d:your.bin,0
注意,your.bin是你要烧写到nand flash中的镜像,尺寸不能超过0xf38
6. setPC f38
设置pc从m4k.bin开始执行
7.输入g命令,开始执行m4k.bin,此时程序开始把sram中从0到fff的4K数据,原封不动的写入到nand flash第0块,第0页开始的8个页中,也就是可以被2440启动自加载到sram中的。
8.片刻后,使用halt命令,再使用regs命令查看r5==8表示m4k烧写程序正确执行完毕。
9.重启开发板,2440将加载flash中前4K数据到sram中运行,也就是你的your.bin。
m4k.bin的源代码采用GPL v2开源协议发布。
请对此代码有所更改的朋友,将更改代码回帖在这里,以示尊重本人劳动及遵守GPL协议

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读