注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

时间记录器

记录我的Linux、Android学习之路

 
 
 

日志

 
 

用H-JTAG烧写ARM9开发板flash指南 (ZT)  

2010-09-14 17:56:08|  分类: Mini2440 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

关键字: 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烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

   安装完毕,会在桌面生成H-JTAG 和H-Flasher 快捷方式,双击运行H-JTAG,程序将

自动检测是否连接了JTAG 设备,因为之前我们还没有做任何设置,所以会跳出一个提示窗口:

     

用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

 

点击确定,进入程序主界面,因为没有连接任何目标器件,因此显示如图所示:

  

用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

(2)设置JTAG 端口

     在H-JTAG 主界面的菜单里点setting->LTP Jtag Setting,然后按照下图的参数进行配置:

                                         用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog 

 

配置完成后点击OK. 

(3)设置初始化脚本

把光盘“Windows 平台工具\H-JTAG ” 目录中的FriendlyARM2440.his 和

H-Flasher_QQ2440.hfc 文件复制到H-JTAG 的安装目录,如图:

                                             用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

 

在H-JTAG 的主界面,点Script->Init Script,跳出Init Script 窗口,点该窗口下面的

Load 按钮,找到并选择打开刚刚复制的FriendlyARM2440.his 文件,如图:

                                                 用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

 

这时,Init Script 窗口会被载入的脚本填充,如图,注意不要点选“Enable Auto Init”,

点OK 退回H-JTAG 主界面:

                                                           用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

 

如果没有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,但无法进行下面的单步调试。

                                                          用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

二, 烧写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勾上,如下图:

                              用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog 

(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 ? Start H-Flasher 打开H-Flasher 烧写程序窗口,如图:

                用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

(2)在H-Flasher 窗口菜单中选择“Load”,出现打开文件选择窗口,选择上面步骤复制

的H-Flasher_mini2440.hfc 文件,如图:

                                        用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

 

(3)可以看到Flash 初始文件已经被载入并显示在H-Flasher 窗口标题栏中,如图:

                                           用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

 

这时,点H-Flasher 左侧导航栏的“4 Programming”,出现如图界面:

                                           用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

 

(4)点一下“Check”按钮,H-Flasher 将会探测到mini2440 所用的Nor Flash 所用的型号

为AM29LV160DB,如图:

                                        用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

 

(5)点Type 下拉列表,选择“Plain Binary Format”,如图:

                                         用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

 

再点Src File 右侧的浏览按钮,选择所要烧写的文件supervivi,并在Dst Addr 一栏中输

入烧写的起始地址“0”,如图:

     

用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

 

(6)点“Program”按钮开始烧写supervivi,如图

                                                          用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

 

 

烧写结束,“Stop”按钮会变为“Close”,点“Close”结束烧写并取下JTAG 烧写板,如

图:                        

                                  用H-JTAG烧写ARM9开发板flash指南 - 懵懂者 - 懵懂者s blog

                                

(7)至此,您已经把BIOS 烧写入Nor Flash 中,如果您需要烧写更多的板子,无需

重复以上步骤(下次打开运行H-JTAG 时会自动载入上次的配置),可以直接接上Jtag 线,打开电源,点“Check”先检测一下Flash,再点“Program”就可以开始新的烧写了。

 

(8)常见问题

   有的用户可能尝试少了其他程序或者文件到NOR FLASH 中,这时再使用H-JTAG 烧

写Supervivi 有可能会失败,通常是因为系统复位或者开机后就马上执行NOR FLASH 中的程序了,这导致H-JTAG 无法正常执行。

可以尝试这样解决:在复位之后马上点H-Flaser 的“Progarm”按钮,防止NOR FLASH中的程序进一步执行。

 

后记:  以上文章参考了友善之臂的用户手册和部分网友的文章后的个人笔记/总结.如有鄙陋疏忽之处万望海涵

你可以通过这个链接引用该篇文章:http://leelao.bokee.com/viewdiary.43854108.html

  评论这张
 
阅读(1120)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017