关键字: H-JTAG 烧写 bootloder nandflash norflash mini2440
近几天我不断地在搜寻有关如何通过JTAG烧写bootloder到flash(norflash&nandflash)的问题.看到网上既能烧写norflash又能烧nandflash的软件比较流行的有两种:三星原厂提供的SJF2440和H-JTAG. 把bootloder烧写到了nor flash里面,这个很简单,按住手册上的说明操作H-JTAG即可!要烧写到nand flash里面,以前是可以使用sjf2440的,但是现在由于版本问题,使用sjf2440烧写有时候会不支持,而且操作起来比较麻烦,在这里不再描述.
这里说一下比较好用的H-JTAG烧写flash的办法,基本上鼠标就可以完成.
H-JTAG 是由twentyone 推出的一款免费调试代理软件。官方主页为:http://www.hjtag.com/
这里用的版本是0.9.2,支持下列特性(更新的版本请到H-JTAG 网站下载试用):
1. 支持 RDI 1.5.0 以及 1.5.1;
2. 支持 所有ARM7,ARM9,XSCALE 及CORTEX-M3 芯片;
3. 支持 THUMB 以及ARM 指令;
4. 支持 LITTLE-ENDIAN 以及 BIG-ENDIAN;
5. 支持 SEMIHOSTING;
6. 支持 WIGGLER, SDT-JTAG,自定义JTAG(sjf-jtag) 调试板和H-JTAG USB 仿真器;
7. 支持 WINDOWS 9.X/NT/2000/XP;
8.支持常用FLASH 芯片的编程烧写;
9. 支持LPC2000,AT91SAM,LUMINARY 和STM32F 系列的片内FLASH 自动下载;
我的板子是友善mini2440,为64 M Nand Flash, 2M Nor Flash.
注意:如果烧写nor flash的话,要把开关S2拨到nor端,同样如果烧写到nand的话把S2拨到nand端。
一, 安装并设置H-JTAG
(1)安装H-JTAG
H-JTAG 安装文件位本文件夹“H-JTAG V0.9.2”目录,双击运行,按照其提示安装即可。
安装完毕,会在桌面生成H-JTAG 和H-Flasher 快捷方式,双击运行H-JTAG,程序将
自动检测是否连接了JTAG 设备,因为之前我们还没有做任何设置,所以会跳出一个提示窗口:
点击确定,进入程序主界面,因为没有连接任何目标器件,因此显示如图所示:
(2)设置JTAG 端口
在H-JTAG 主界面的菜单里点setting->LTP Jtag Setting,然后按照下图的参数进行配置:
配置完成后点击OK.
(3)设置初始化脚本
把光盘“Windows 平台工具/H-JTAG ” 目录中的FriendlyARM2440.his 和
H-Flasher_QQ2440.hfc 文件复制到H-JTAG 的安装目录,如图:
在H-JTAG 的主界面,点Script->Init Script,跳出Init Script 窗口,点该窗口下面的
Load 按钮,找到并选择打开刚刚复制的FriendlyARM2440.his 文件,如图:
这时,Init Script 窗口会被载入的脚本填充,如图,注意不要点选“Enable Auto Init”,
点OK 退回H-JTAG 主界面:
如果没有FriendlyARM2440.his的话可以复制下面到文字保存成
FriendlyARM2440.his:
Setmem+32-Bit+0x53000000+0x00000000
Setmem+32-Bit+0x4A000008+0xFFFFFFFF
Setmem+32-Bit+0x4A00001C+0x000007FF
Setmem+32-Bit+0x53000000+0x00000000
Setmem+32-Bit+0x56000050+0x000055AA
Setmem+32-Bit+0x4C000014+0x00000007
Setmem+32-Bit+0x4C000000+0x00FFFFFF
Setmem+32-Bit+0x4C000004+0x00061012
Setmem+32-Bit+0x4C000008+0x00040042
Setmem+32-Bit+0x48000000+0x22111120
Setmem+32-Bit+0x48000004+0x00002F50
Setmem+32-Bit+0x48000008+0x00000700
Setmem+32-Bit+0x4800000C+0x00000700
Setmem+32-Bit+0x48000010+0x00000700
Setmem+32-Bit+0x48000014+0x00000700
Setmem+32-Bit+0x48000018+0x0007FFFC
Setmem+32-Bit+0x4800001C+0x00018005
Setmem+32-Bit+0x48000020+0x00018005
Setmem+32-Bit+0x48000024+0x008E0459
Setmem+32-Bit+0x48000028+0x00000032
Setmem+32-Bit+0x4800002C+0x00000030
Setmem+32-Bit+0x48000030+0x00000030
(4)检测目标器件
使用开发板附带的JTAG 小板连接开发板的JTAG 接口,并接上打开电源。点主菜单
Operations->Detect Target,或者点工具栏相应的图标也可以,这时就可以看到已经检测到目标器件了。
提示:如果没有设置初始化脚本,也可以检测到CPU,但无法进行下面的单步调试。
二, 烧写bootloder到NAND FLASH
(1).点 H-JTAG主菜单的Flasher -> Start H-Flasher 打开H-Flasher烧写程序窗口。
(2).在 H-Flasher 窗口菜单中选择“Load” ,出现打开文件选择窗口,选择H-JTAG安装目录下面HFC Examples目录下的S3C2440+K9F1208.hfc这个文件(如果是烧写nor的话选择S3C2440+SST39VF1601.hfc),这样烧写的配置基本就好了,但是在这里如果点击check的话可能检测不到nand 的id,因此在烧写前要把Pam Options里面到SKIP ID CHECK勾上,如下图:
(3).开始烧写
在Programming里面点击check的话就会正确检测出nand flash的id了,然后在Type选择“Plain Binary Format”,Src File选择要烧写的bootloder,最后点击program,等待烧写结束就可以了!如果您需要烧写更多的mini2440,无需重复以上步骤(下次打开运行H-JTAG 时会自动载入上次的配置),可以直接接上Jtag 线,打开电源,点“Check”先检测一下Flash,再点“Program”就可以开始新的烧写了。
三, 烧写 bootloder 到NOR FLASH
注意:执行以下步骤之前,要确保开发板选择从Nor Flash 启动
在H-JTAG检测到目标器件后
(1) 点H-JTAG 主菜单的Flasher