H-JTAG用户使用
手册
华为质量管理手册 下载焊接手册下载团建手册下载团建手册下载ld手册下载
H-JTAG
用户使用手册
com
H-JTAG
用户使用手册
Copyright 2008 com All Rights Reserved
修改
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
日期 版本 改动
2007-10-01 A 发布第一版本
2007-11-30 B 修改版本
2008-03-03 C 更正了 TAP 的设置说明
版权声明
1 文档中出现的 JTAG 表述为 IEEE-1149 标准其所有权属于国际电子电气协会
2 文档中出现的所有 ARM 标识和表述均为 ARM 公司的注册商标其所有权属于 ARM 公司
3 文档中提及的任何第三方的注册商标和产品标识均属于第三方公司所有
4 如果文档当中有任何地方侵犯了您的权利和版权请和我们联系我们将及时修改
5 本文档为开放文档用户可以在保证文档完整性的前提下自由分发
官方主页
HTTPcom
USER MANUAL Copyright 2008 com All Rights
Reserved I
目 录
前言
A 关于本手册IV
B 适合的读者IV
C 意见反馈IV
第一章 H-JTAG 介绍
11 H-JTAG 介绍1-1
12 H-JTAG 调试烧写结构1-1
第二章 H-JTAG 的安装和 GUI
21 H-JTAG 的安装2-1
22 H-JTAG 的卸载2-3
23 H-JTAG 的GUI2-3
24 H-FLASHER 的 GUI2-7
第三章 H-JTAG 的使用和配置详解
31
检测
工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训
调试目标3-1
32 复位调试目标3-1
33 FLASH 自动下载3-1
34 设置初始化脚本3-2
35 设置 JTAG3-2
36 设置并口3-5
37 设置调试目标3-5
38 添加芯片 ID3-5
39 TAP 设置3-6
310 H-JTAG 常用选项3-7
311 检查软件更新3-8
第四章 H-FLASHER 的使用和配置详解
41 H-FLASHER 工作流程4-1
42 H-FLASHER 编程向导4-2
43 常见提示4-4
44 烧写实例 1,AT91SAM7X2564-6
45 烧写实例 2 ,LPC2210 SST39VF16014-9
第五章 初始化脚本
51 初始化脚本的定义5-1
52 初始化脚本的编辑5-3
第六章 调试软件的配置
61 AXD 的配置6-1
USER MANUAL Copyright 2008 com All Rights
Reserved II
62 RVDS 的配置6-4
63 IAR 的配置6-8
64 KEIL 的配置6-12
USER MANUAL Copyright 2008 com All Rights
Reserved III
前 言
A 关于本手册
H-JTAG 用户使用手册简单介绍了 H-JTAG 和 H-FLASHER 的基本使用和配置手册同时也提供了一
些简单的例子供用户参考如果用户需要更多的相关信息请访问 H-JTAG 主页 com
B 适合的读者
如果你是一个初级用户打算使用 H-JTAG 进行调试和开发本手册可作为一个快速入门指南如果
你是高级用户本手册可以作为参考用户可以选择性的阅读某些章节
C 意见反馈
如 果 你 发 现 本 手 册 中 有 不 正 确 的 地 方 或
者 有 什 么 好 的 建 议 请 发 送 电 子 邮 件 至
twentyonehjta gcom
USER MANUAL Copyright 2008 com All Rights Reserved IV
第一章 H-JTAG 介绍
11 H-JTAG 介绍
H-JTAG 是一款简单易用的的调试代理软件功能和流行的
MULTI-ICE 类似H-JTAG 包括两个工具
软件H-JTAG SERVER 和H-FLASHER 其中H-JTAG SERVER 实现调
试代理的功能而H-FLASHER
则实现了FLASH 烧写的功能H-JTAG 的基本结构如下图所示
H-JTAG
H-JTAG SERVER H-FLASHER
图1-1 H-JTAG 软件结构
H-JTAG 支持所有基于ARM7 和ARM9 的芯片的调试并且支持大多数主流的ARM 调试软件如ADS
RVDS IAR 和KEIL 通过灵活的接口配置H-JTAG 可以支持WIGGLER SDT-JTAG 和用户自定义的各
种JTAG 调试小板同时附带的H-FLASHER 烧写软件还支持常用片内片外FLASH 的烧写使用H-JTAG
用户能够方便的搭建一个简单易用的ARM 调试开发平台H-JTAG 的功能和特定总结如下
1 支持 RDI com 以及 com
2 支持 所有ARM7 以及 ARM9 芯片
3 支持 THUMB 以及ARM 指令
4 支持 LITTLE-ENDIAN 以及 BIG-ENDIAN
5 支持 SEMIHOSTING
6 支持 WIGGLER SDT-JTAG和用户自定义JTAG调试板
7 支持 WINDOWS 9XNT2000XP
8(支持常用FLASH 芯片的编程烧写
9 支持LPC2000 和AT91SAM 片内FLASH 的自动下载
12 H-JTAG 调试烧写结构
H-JTAG 支持ARM 公司的RDI 接口通过RDI 接口H-JTAG 能
够支持大多数主流的ARM 调试软件
调试的结构如图1-2 所示
调试软件 H-JTAG
JTAG ARM
RDI 并口
JTAG
AXDRVDSIAR KEIL SERVER 调试板 目标开发板
图1-2 H-JTAG 调试结构
调试软件AXDRVDSIARKEIL 通过RDI 接口与H-JTAG SERVER 进行交互H-JTAG SERVER
通过与并口相连的JTAG 调试板控制目标调试板H-JTAG 提供了
灵活的JTAG 接口设置通过设置H-JTAG
可以支持不同类型的JTAG 调试板例如流行的WIGGLER SDT-JTAG用户也可以根据自己的需要使用
USER MANUAL Copyright 2008 com All Rights
Reserved 1-1
自定义的JTAG 调试板
除了调试用户还可以通过 H-FLASHER 将程序和
数据烧写 下载到 FLASH 芯片中去目前
H-FLASHER 支持的常见的片内和片外FLASH 芯片随着软件的更
新和升级H-FLASHER 支持的芯片类
型也会不断的增加在执行FLASH 烧写时H-FLASHER 与H-JTAG
SERVER 的连接如下图所示
H-FLASHER H-JTAG JTAG
ARM
RDI 并口 JTAG
SERVER 调试板 目标开发板
图1-3 H-FLASHER 与H-JTAG SERVER 的连接
烧写FLASH 时H-FLASHER 与H-JTAG 的连接交互和调试的时
候十分类似H-FLASHER 通过RDI
接口与H-JTAG SERVER 进行交互以访问和控制目标开发板根据用户提供的配置文件H-FLASHER
最终完成FLASH 烧写工作
USER MANUAL Copyright 2008 com All Rights
Reserved 1-2
第二章 H-JTAG 的安装和 GUI 介绍
本章将简单介绍 H-JTAG 的安装和卸载以及H-JTAG 与 H-FLASHER 的GUI 图形用户接口具体
的使用和设置请参考 3-6 章节
21 H-JTAG 的安装
用户可以从 H-JTAG 的主页 com 下载最新版本的 H-JTAG 安装程序一般情况下用
户下载的是一个压缩文件RARZIP 解压后可以得到 H-JTAG 的
安装文件H-JTAGEXE双击该文
件就可以开始进行安装
首先用户会看到一个欢迎页面如图 2-1 所示点击NEXT 就可以进入到安装的下一步
图2-1 H-JTAG 安装步骤 1
在第二步用户会看到 H-JTAG 的使用协议如图 2-2 所示请仔细阅读该协议在同意后请选择
I agree with the above terms and conditions 表示接受然后点击 NEXT 就可以进入到安装的下一步
图2-2 H-JTAG 安装步骤 2
在第三步用户会看到如图 2-3 所示的页面在该页面用户可以选择 H-JTAG 的安装目录或者使
用默认的安装目录选择好目录后点击 NEXT 进入安装的下一步
USER MANUAL Copyright 2008 com All Rights
Reserved 2-1
图2-3 H-JTAG 安装步骤 3
在第四步当中用户将会看到如图 2-4 所示的安装进度该图
表示安装正在进行H-JTAG 将自动安
装必要的文件和驱动程序
图2-4 H-JTAG 安装步骤 4
安装完成后用户将会看到如图 2-5 所示的提示表示安装完
成按照提示点击 FINISH 就可以完
成最后的安装
图2-5 H-JTAG 安装步骤 5
USER MANUAL Copyright 2008 com All Rights
Reserved 2-2
安装完成后H-JTAG 会在开始菜单和桌面上创建相应的快捷方式如图 2-6 所示
图2-6 H-JTAG 快捷方式
22 H-JTAG 的卸载
如果用户要卸载 H-JTAG 请运行 H-JTAG 菜单下的 UNSTALL 程序该程序将自动卸载 H-JTAG 并
删除所有的相关文件卸载过程当中只需要按照提示操作即可
23 H-JTAG 的 GUI
H-JTAG 运行时用户主界面如图 2-7 所示其中1为H-JTAG 菜单2 为H-JTAG 工具栏3
为 H-JTAG 检测到的目标 CPU 的类型4 为目标CPU 的芯片ID
图2-7 H-JTAG 主界面
H-JTAG 的菜单包括了 H-JTAG 的所有操作和设置而工具
栏则包括了大部分常用的操作和设置当
H-JTAG 检测到连接的目标开放板后在主界面的中央部分会显示芯片的类型和其 32 位芯片 ID 如果检
测失败或者芯片无法识别H-JTAG 将会显示 UNKNOWN 提示用户 H-JTAG 无法检测识别目标开放板
com H-JTAG 菜单介绍
FILE 菜单如图 2-8 所示
图2-8 H-JTAG FILE 菜单
USER MANUAL Copyright 2008 com All Rights
Reserved 2-3
EXIT – 退出 H-JTAG
OPERATIONS 菜单如图 2-9 所示
图2-9 H-JTAG OPERATIONS 菜
单
RESET TARGET – 复位调试目标
DETECT TARGET – 检测调试 目标
KILL CONNECTION – 断开当前连接
FLASHER 菜单如图 2-10 所示
图2-10 H-JTAG FLASHER 菜单
START FLASHER – 启动 H-FLASHER
AUTO DOWNLOAD – 启用禁用 自动FLASH 下载
SCRIPT 菜单如图 2-11 所示
图2-11 H-JTAG SCRIPT 菜单
INIT SCRIPT – 设置初始化脚本
AUTO INIT – 启用禁用 自动初始化
SETTINGS 菜单如图 2-12 所示
图2-12 H-JTAG SETTINGS 菜单
USER MANUAL Copyright 2008 com All Rights
Reserved 2-4
JTAG SETTINGS – JTAG 设置
PORT SETTINGS – 并口设置
TARGET SETTINGS – 调试目标设置
TARGET MANAGER – 芯片 ID 管理器
TAP CONFIGURATION – TAP 设置
OPTIONS 菜单如图 2-13 所示
图2-13 H-JTAG OPTIONS 菜单
OPTIONS WINDOW – 打开选项设置主窗口
DISABLE SEMIHOSTING – 禁用 SEMIHOSTING 功能
DISABLE VECTOR CATCH – 禁用中断向量捕获功能
AUTO SYSTEM RESET – 启用禁用 自动系统复位
REPORT DATA ABORT – 报告数据异常
HELP 菜单如图 2-14 所示
图2-14 H-JTAG HELP 菜单
H-JTAG HOME – 访问 H-JTAG 主页
CHECK UPDATE – 检查更新
ABOUT H-JTAG – 关于 H-JTAG
com H-JTAG 工具栏介绍
H-JTAG 工具栏包括了菜单中使用频率比较高的大部分操作方便用户使用H-JTAG 的工具栏如下图
所示
图2-15 H-JTAG 工具栏
工具栏上每个按钮的功能定义如下
复位调试目标
检测调试目标
USER MANUAL Copyright 2008 com All Rights
Reserved 2-5
断开当前连接
启动 H-FLASHER
设置初始化脚本
调试目标设置
芯片 ID 管理器
JTAG 设置
并口设置
打开选项设置窗口
退出 H-JTAG
com H-JTAG 系统托盘菜单
当 H-JTAG 最小化的时候主窗口会自动隐藏来只在系统托
盘上显示 H-JTAG 的图标左键单击该
图标可以恢复 H-JTAG 的主窗口右键单击该图标可以显示系统
托盘菜单其中包括了常用的一些操
作和设置按钮系统托盘菜单如图 2-16 所示
图2-16 H-JTAG 系统托盘菜单
H-JTAG 系统托盘菜单的功能定义如下
RESTORE – 恢复主窗口
H-JTAG HOME – 访问主页
ABOUT H-JTAG – 关于 H-JTAG
OPTIONS – 选项菜单
SCRIPT – 脚本菜单
FLASHER – H-FLASHER 菜单
KILL CONNECTION – 断开当前连接
DETECT TARGET – 检测调试 目标
RESET TARGET – 复位调试目标
EXIT – 退出 H-JTAG
USER MANUAL Copyright 2008 com All Rights
Reserved 2-6
24 H-FLASHER 的 GUI
H-FLASHER 运行时其主窗口如图 2-17 所示其中 1为菜单2 为FLASH 编程向导区域3
为 FLASH 烧写配置区域在 FLASH 编程向导当中可以选择不同的步骤根据当前向导中的选择配
置区域会显示不同的设置具体请参考第四章
图2-17 H-FLASHER 主界面
com H-FLASHER 的菜单介绍
H-FLASHER 的主菜单如图2-18 所示
图2-18 H-FLASHER 主菜单
H-FLASHER 菜单的具体定义如下
NEW – 创建新的配置文件
LOAD – 装载配置文件
SAVE – 保存持当前配置文件
SAVEAS – 将当前的配置文件另存为
OPTIONS – 设置选项
EXIT – 退出 H-FLASHER
ABOUT – 关于 H-FLASHER
com H-FLASHER 的系统托盘菜单
当H-FLASHER 最小化的时候主窗口会自动隐藏来只在系统托盘上显示 H-FLASHER 的图标左
键单击该图标可以恢复 H-FLASHER 的主窗口右键单击该图标可以显示系统托盘菜单如图 2-19
所示
USER MANUAL Copyright 2008 com All Rights
Reserved 2-7
图2-19 H-FLASHER 系统托盘菜单
H-FLASHER 系统托盘菜单的具体定义如下
RESTORE – 恢复主窗口
ABOUT – 关于 H-FLASHER
EXIT – 退出 H-FLASHER
com H-FLASHER 的编程向导
这个章节将简单介绍 H-FLASHER 的编程向导具体的设置请参考第 4 章编程向导总共包括四个步
骤与一个帮助部分下面我们一起看看每个步骤的设置
1Flash Selection
Flash Selection 是编程向导中的第一步如下图所示在这一步用户需要确定烧写的目标芯片是什么
所有 FLASH 芯片按照厂商分类当用户选定一块片子的时候右边会显示该芯片的基本信息例如芯片
类型容量和 ID 等
图2-20 H-FLASHER 编程向导,Flash Selection
2 Configuration
Configuration 是编程向导中的第二步如下图所示在这一步用户需要设置基本的信息例如 FLASH
芯片的位宽FLASH 的起始地址RAMSDRAM 的起始地址和外部晶振的频率等这些都是必须的信息
H-FLASHER 会根据这些信息来完成 FLASH 烧写如果这个步骤中的设置框为灰色说明对应选择的
FLASH 芯片来说这些信息都是固定的不需要用户提供对大部分的片内 FLASH 芯片而言这些存储
USER MANUAL Copyright 2008 com All Rights
Reserved 2-8
信息都是固定的往往都不需要用户提供
图2-2 1 H-FLASHER 编程向导,Configuration
3 Init Script
Init Script 是编程向导中的第三步如下图所示在这个步骤当中用户可以输入必要的初始化脚本
用以配置目标系统在烧写的时候H-FLASHER 首先会执行用户提供的初始化脚本以初始化目标系统
然后在根据用户提供的存储信息对目标 FLASH 进行操作对于片内 FLASH 而言H-FLASHER 的驱动
当中已经包括了初始化所以用户不需要提供初始化脚本此时脚本编辑功能会自动被禁用掉
图2-22 H-FLASHER 编程向导,Init Script
4 Programming
Programming 是编程向导中的第四步如下图所示在这个步骤当中用户可以对选定的目标 FLASH
芯片进行基本的操作检测烧写擦除和检查芯片是否为空
USER MANUAL Copyright 2008 com All Rights
Reserved 2-9
图2-23 H-FLASHER 编程向导,
Programming
5 H-Flasher Help
在 H-FALSHER 的向导还提供了一些基本的帮助信息如果下
图所示这些基本的信息可以帮助用
户了解每个步骤的设置
图2-24 H-FLASHER 编程向导
,Help
USER MANUAL Copyright 2008 com All Rights
Reserved 2-10
第三章 H-JTAG 的使用和配置详解
这个章节将详细介绍H-JTAG 的使用和配置在介绍的过程当中还结合实际提供了简单的例子以
帮助用户更好的理解
31 检测调试目标
在检测前请将JTAG 调试小板连接到计算机并口并和调试目标连上在打开H-JTAG 的时候H-JTAG
会自动执行检测操作用户也可以通过H-JTAG 的菜单工具栏进行检测如果检测成功H-JTAG 主界面
将会显示检测到的芯片类型和ID 如果检测失败请检查H-JTAG 设置和硬件连接
32 复位调试目标
用户可用通过H-JTAG 对调试目标进行复位标准的JTAG 接口定义了两个独立的复位信号系统
复位 nSRST 和JTAG 复位 nTRST 通过这两个复位信号可以分别
执行系统复位和JTAG 复位用
户可以选择执行系统复位JTAG 复位或是同时执行H-JTAG 提供了相应的选项供用户选择具体请参
考H-JTAG 常用选项
提示
因为有些JTAG 调试板本身没有提供系统复位信号所以不能通过H-JTAG 执行系统复位只能通过
手动进行复位有些JTAG 调试板将系统复位和JTAG 复位连接在一起所以复位的时候相当于同时
执行了系统复位和JTAG 复位
33 FLASH 自动下载
有些ARM 芯片片内集成了FLASH 和RAM 方便用户开发省去了扩展外部存储的必要针对这
类芯片例如LPC2000 系列和AT91SAM7 系列H-JTAG 提供了FLASH 自动下载功能利用这个功能
调试的时候可以将程序直接烧写到FLASH 中进行调试就象直接装载到RAMSDRAM 里调试一样要使
用自动FLASH 下载功能请用户在H-JTAG 里将AUTO DOWNLOAD 选项打开图3-1 并在H-FLASHER
里选择正确的目标芯片设置好后H-JTAG 会自动根据程序下载时的地址信息区分那些部分需要下载
到RAMSDRAM 中去那些部分需要下载烧写到 FLASH 中去需要烧写到FLASH 中去的程序部分
H-JTAG 会自动调用H-FLASHER 完成烧写
图3-1 FLASH 自动下载设置
提示
FLASH 自动下载一般只支持片内FLASH 例如LPC2000 和
AT91SAM7因为这类芯片的存储系统相
对来说比较简单和固定对于支持较复杂存储配置的芯片例如 MMUREMAP 等建议用户先用
H-FLASHER 将程序烧写到FLASH 中里去然后在进行调试
USER MANUAL Copyright 2008 com All Rights
Reserved 3-1
34 设置初始化脚本
对于一般的系统来说上电后都需要执行一些必要的初始化操作和配置然后才能使用某些功能一
个最常见的初始化操作就是存储系统的配置大部分情况下FLASH 和片内SRAM 在上电后都是可以直
接访问但片外SDRAM 需要预先配置才能正确访问很多新手往往会碰到程序下载不正确的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
最
常见的是为什么程序下载后看到的是乱码为什么程序会跑飞为
什么跑不到MAIN 函数很多时候
都是因为没有对存储系统进行必要的初始化造成的执行系统初始化有两种常用的方法第一种方法是在
FLASH 芯片里烧一段初始化程序上电后自动执行这样系统每次上电后目标系统就自动配置好了
可以直接进行调试第二种方法就是通过初始化脚本来实现用户根据数据手册编辑好初始化脚本然后
通过执行脚本以对系统进行初始化有些调试器DEBUGGER 提供了命令行窗口用户可以通过命令
行执行脚本命令为了方便用户H-JTAG 也提供了自动初始化的功能要使用自动初始化功能用户首
先需要在 H-JTAG 里输入 装载初始化脚本同时把 AUTO
INIT 选项给打开这样每次调试器
DEBUGGER 连接H-JTAG 的时候H-JTAG 都会自动执行用户指定的初始化脚本对系统进行初始化
初始化脚本设置窗口如下图所示
图3-2 初始化脚本设置
提示
如果用户打开了AUTO INIT 选项就必须指定初始化脚本这样H-JTAG 才知道如何执行初始化
如果该选项打开了又没有指定初始化脚本那H-JTAG 会提示Cant open specified init script
提示
H-JTAG 脚本的具体定义以及脚本的编辑请参考第五章
35 设置JTAG
这个小节简单介绍了JTAG 的接口定义并口连接以及JTAG 的配置最后还提供了一个JTAG 设置
的例子供用户参考
com JTAG 信号
JTAG 是由IEEE 制定的一个测试标准其标准号为IEEE-1149 如果用户想详细了解该标准请参考
IEEE 的JTAG 标准ARM JTAG 调试接口总共定义了7 个基本的信号TMSTCK TDI TDO RTCK
USER MANUAL Copyright 2008 com All Rights
Reserved 3-2
nSRST nTRST 对于ARM79 的调试TMS TCK TDI 和TDO 为必选信号而RTCK nSRST
nTRST 为可选信号
注意
XSCALE 的调试要求JTAG 调试板提供nSRST 和nTRST 信号并且必须是独立的否则无法进行
调试
com JTAG 并口连接
H-JTAG 通过与并口连接的JTAG 调试板来产生JTAG 信号
并通过调试目标板的JTAG 接口来控制
ARM 处理器典型的连接如图3-3 所示其中JTAG 接口是定义在
ARM 目标开发板上的一般都采用标
准的20-PIN 或 14-PIN 的JTAG 接口不需要用户设置而并口与
JTAG 调试板的具体连接需要用户根
据实际使用的JTAG 调试板进行设置具体设置请参考下一小节
H-JTAG JTAG
ARM
并口 JTAG
SERVER 调试板
目标开发板
图3-3 JTAG 并口连接
com JTAG 设置
JTAG 调试板并没有固定的电路图就算是常用的WIGGLER 和 SDT-JTAG 也没有固定的电路图
例如有些WIGGLER 支持系统复位信号 nSRST 而有些却没有有些板子的系统复位信号和JTAG 复
位信号是独立的有些却是连接在一起的针对这样的情况H-JTAG 提供了灵活的 JTAG 设置以支持
不同的JTAG 调试板用户需要根据自己使用的JTAG 调试板进行设置明确告诉H-JTAG 并口与JTAG
调试板是如何连接的
并口提供了8 位数据位D0-D7其方向为输出我们可以利用这些数据位来输出JTAG 控制信号TMS
TCK TDI nSRST nTRST 并口还提供了几个状态位其方向为输入我们可以利用其中的一位来
读取TDO 的状态所以JTAG 的设置就是要告诉H-JTAG并口与JTAG 调试板是如何连接的并口数
据位状态位与JTAG 信号是如何一一对应的在提供了nSRSTnTRST 信号的JTAG 调试板上复位信号
有可能是经过反向三极管来产生反向电平的所以用户也需要在配置的时候告诉H-JTAG 复位信号是否
是反向的这样H-JTAG 才能正确的执行复位操作
下面我们来看一个例子假设JTAG 调试板的电路图如图3-4 所示从图中我们可以发现并口和JTAG
接口的连接如下其中nTRST 信号经过了一个反向三极管而nSRST 信号根本没有提供
TMS 并口D1 PIN3
TCK 并口D2 PIN4
TDI 并口D3 PIN5
TDO 并口BUSY PIN1 1
nTRST 并口D0 PIN2 反向
nSRST X 没有提供
USER MANUAL Copyright 2008 com All Rights
Reserved 3-3
图3-4 JTAG 调试板电路图
根据图3-4 所示的JTAG 调试板的电路图和上面的分析JTAG 设置可以采用下面的任何一种设置下
面的设置明确的告诉了H-JTAG 并口和JTAG 调试板是如何连接的
图3-5 JTAG 设置实例
上面我们给出了一个JTAG 配置的实例供用户参考在实际应用当中用户需要根据自己使用的JTAG
调试板的电路图进行相应的设置
com 设置TCK 速度
在JTAG 设置中用户还可以根据需要选择不同的TCK 速度设置窗口如下图所示因为并口的速度
本身比较慢大部分情况下用户不需要降低TCK 的速度所以建议用户选择默认设置1
图3-6 设置TCK 速度
USER MANUAL Copyright 2008 com All Rights
Reserved 3-4
36 设置并口
对于大部分计算机并口的默认地址都是0x378但也有些计算机的并口地址不是0x378H-JTAG 提
供了并口设置窗口用户可以根据自己的情况设定并口地址并口设置窗口如下图所示在并口设置窗口
上还有一个端口测试按钮用户可以用它对并口做简单的读写测试
图3-7 并口设置
37 设置调试目标
H-JTAG 通过JTAG 读取芯片的ID 并根据此ID 来判断调试目标采用的是什么ARM 内核H-JTAG
可以识别常用的大部分芯片如果H-JTAG 不能识别调试目标用户可以在TARGET SETTINGS 里手动指
定ARM 内核TARGET SETTINGS 的设置窗口如图3-8 所示
一般的ARM 芯片都同时支持大小端 Little EndianBig
Endian 不同的方式数据和指令的存储是
完全不同的具体的请参考数据手册如果大小端设置不正确调试的时候肯定会出问题用户需要在
TARGET SETTINGS 里面指定调试目标的大小端大小端的选择如下图所示
图3-8 调试目标设置
38 添加芯片ID
上面我们提到H-JTAG 根据芯片ID 来判断芯片使用的是什么ARM 内核对于不能识别的芯片用
户可以手动指定其类型同时用户也可以将新的 ID 添加到 H-JTAG 的芯片列表当中去这样H-JTAG
就可以自动检测该芯片H-JTAG 提供了TARGET MANAGER 用户可以利用这个管理器添加新的芯片ID
或删除已经存在的芯片ID 要添加新的芯片ID用户需要在管理器中输入新ID并指定该ID 对应的ARM
内核完成后H-JTAG 会自动更新芯片列表H-JTAG 的TARGET MANAGER 如下图所示
USER MANUAL Copyright 2008 com All Rights
Reserved 3-5
图3-9 调试目标管理器
提示
根据IEEE 1149 标准芯片ID 为32 位并且ID 的最低位必须为1用户可以通过这点来判断芯片ID
的有效性同时如果用户有H-JTAG 不能识别的芯片欢迎你把芯片ID 和型号发给我们我们会
及时更新H-JTAG 的芯片列表
39 TAP 设置
对大部分的ARM 芯片而言ARM JTAG 扫描链是独立的对于这样的芯片TAP CONFIGURATION
应该采用默认设置如下图所示下图表示在ARM 扫描链的前面和后面都没有串接别的扫描链
图3-10 TAP 默认设置
有些ARM 芯片的JTAG 扫描链是和芯片内部集成的其它部件的JTAG 扫描链串接在一起的这样的
芯片比较特殊对于这类特殊的芯片用户需要在TAP CONFIGURATION 里进行相应的设置例如ST
公司的STR91xF 芯片其内部的JTAG 扫描链如图3-11 所示从图中可以看到STR91xF 芯片内部的扫
描链包括三部分TAP 1TAP2 和TAP3 其中TAP2 是ARM 调试需要访问的扫描链在ARM 扫描
链的前面和后面都串接了别的扫描链他们的指令寄存器的长度
分别为5-Bit 和8-Bit 对STR91xF 芯片而
言TAP CONFIGURATION 应该设置成图3-12 所示图3-12 的设置告诉H-JTAG 在ARM 扫描链之前
有一条别的扫描链指令寄存器的长度为5-Bit 在ARM 扫描链的后面也有一条别的扫描链其指令寄存
器的长度为8-Bit 这样H-JTAG 就知道该如何正确访问STR91xF 内部的ARM 调试扫描链
USER MANUAL Copyright 2008 com All Rights
Reserved 3-6
图3-11 STR91xF 扫描链内部结构
图3-12 TAP 设置STR91xF
310 H-JTAG 常用选项
H-JTAG 提供了一些常用的选项供用户选择用户可以通过选
项设置主窗口进行设置也可以通过
OPTIONS 菜单进行快速设置选项设置主窗口如下图所示用户可以在左侧窗口选择需要设置的选项
然后在右边窗口进行设置
图3-13 选项设置主窗口
H-JTAG 提供了四个常用选项
SEMIHOSTING
Semihosting 是一种辅助调试
机制
综治信访维稳工作机制反恐怖工作机制企业员工晋升机制公司员工晋升机制员工晋升机制图
用来实现主机与目标开发板的通信但需要仿真器和目标程序的配
合和支持而且Semihosting 只能用在调试上在实际的产品当中是不能使用的因为Semihosting 会
占用断点资源建议用户在调试的时候禁用掉该功能
USER MANUAL Copyright 2008 com All Rights
Reserved 3-7
VECTOR CATCH
Vector Catch 是用来捕获异常的如果打开了该选项并在调试软件里做了相应的设置ARM 处理器
出现异常的时候调试软件就会提示用户出现了异常Vector
Catch 也会占用断点资源建议用户在
调试的时候禁用掉该功能
TARGET RESET
在该选项里用户可以选择如何对调试目标进行复位用户可以选择只用 nTRST 信号或是同时使
用两个信号对系统执行复位同时用户还可以选择每当调试软件连接到H-JTAG SERVER 的时候自
动执行一个复位操作
提示
复位操作依赖于用户具体使用的JTAG 调试板如果JTAG 调试板没有系统复位信号H-JTAG 将无
法执行系统复位
DATA ABORT
在调试的过程当中即使在CPU 停止运行的时候也需要对存储系统进行读写例如设置清除断点
在对存储进行读写的时候有可能会出现数据异常例如访问未定义的存储空间或是访问受保护
的存储空间如果用户打开了REPORT DATA ABORT 选项H-JTAG 在检测到数据异常的时候将会
提示用户否则H-JTAG 只是在内部进行处理而不会提示用户用户可以根据自己的需要进行选
择
311 检查软件更新
通过H-JTAG 的CHECK UPDATE 菜单用户可以检查是否有新的版本可以下载如果有更新的版本
H-JTAG 会提示用户下载用户也可以访问H-JTAG 的主页以获得更多的更新信息
USER MANUAL Copyright 2008 com All Rights
Reserved 3-8
第四章 H-FLASHER 的使用和配置详解
这个章节详细介绍了H-FLASHER 的使用和配置同时还提供了两个配置实例供用户参考
41 H-FLASHER 工作流程
H-FLASHER 的工作原理很简单其流程如图4-1 所示H-FLASHER 的工作流程分为四个主要的步骤
执行初始化脚本下载FLASH 烧写驱动检查FLASH ID 和对FLASH 执行用户指定的操作如果任何一
个步骤出错H-FLASHER 都会提示错误中断当前的操作
图4-1 H-FLASHRE 工作流程
com Execute Init Script
如果用户指定了初始化脚本H-FLASHER 首先会执行用户指定的初始化脚本如果用户没有指定初
始化脚本或是不需要用户提供初始化脚本H-FLASHER 会直接跳过这一步在初始化的时候如果脚
本有错或执行脚本的时候出错H-FLASHER 会停止当前的操作并提示错误如果初始化成功则准备
下载FLASH 驱动
com Download Flash Driver
初始化完成后H-FLASHER 会根据用户选择的 FLASH 型号
和位宽查找相应的驱动然后把驱动
下载到用户指定的SRAMSDRAM 中去如果下载成功则进入下一步
否则停止当前的操作并提示用
户Cant download driver to specified address
USER MANUAL Copyright 2008 com All Rights
Reserved 4-1
com Check Flash ID
FLASH 驱动程序下载成功后H-FLASHER 会马上读取FLASH 的ID 这样做有两个作用一是看看
在指定的地址上是否能访问 FLASH 二是通过 ID 来
判断用户选择的 FLASH 芯片型号和目标系统上的
FLASH 芯片是否一致
com Read Erase Program Check Blank
在前面的步骤都成功执行后H-FLASHER 就会根据用户的请求对 FLASH 芯片执行相应的操作例
如读取擦除编程和检查FLASH 是否为空操作完成后提示用户操作是否成功
42 H-FLASHER 编程向导
H-FLASHER 提供了编程向导以方便用户配置和烧写FLASH 用户可以一步一步的按照编程向导提
供的四个步骤进行设置在介绍了H-FLASHER 的基本工作流程后我们一起来看看在编程向导的每个步
骤中该如何进行设置
com Flash Section
在这个步骤当中用户需要在FLASH 列表里选择相应的FLASH 芯片型号并确定H-FLASHER 提供
的芯片信息和目标系统上的FLASH 芯片的信息是一致的因为不同的FLASH 芯片定义了不同的操作命令
所以正确选择FLASH 芯片型号很重要
com Configuration
在这个步骤当中用户需要提供基本的配置信息包括 FLASH
的位宽FLASH 的起始地址RAM
的起始地址和外部晶振的频率
1 位宽
有些片外FLASH 的读写操作同时支持不同的位宽例如8-BIT 16-BIT 或 32-BIT 如果FLASH 芯
片支持不同的读写位宽需要用户根据实际的硬件连接选择FLASH 采用的位宽因为不同的连接
FLASH 工作的位宽不一样FLASH 烧写驱动也有所区别如果目标 FLASH 芯片只支持一种读写方
式则不需要指定
2 FLASH 起始地址
H-FLASHER 需要知道 FLASH 的起始地址才能对 FLASH 进行正确的操作所以用户需要指定
FLASH 的起始地址H-FLASHER 会根据用户指定的起始地址和FLASH 的容量自动计算FLASH 的
有效地址空间FLASH START ADDRESS , FLASH START ADDRESS SIZE – 1 对FLASH 进行
写操作的时候如果烧写目的地址不在这个范围内H-FLASHER 将会提示OUT OF RANGE 的错误
大部分情况下FLASH 都可以从地址0X0 访问而不需要特别的初始化但有些目标系统支持REMAP
可以把FLASH 配置到不同的地址对于这样的系统用户需要保证设置的FLASH 起始地址与提供的
初始化脚本是相一致的以免出错总之如果有需要请提供初始化脚本对存储系统进行初始化
保证H-FLASHER 可以在用户指定的地址访问目标FLASH
USER MANUAL Copyright 2008 com All Rights
Reserved 4-2
3 RAM 起始地址
在烧写的时候FLASH 驱动需要使用4KByte 的RAM 空间所以需要用户指定一段 4KByte 的RAM
空间在用户指定RAM 开始地址后H-FLASHER 会把FLASH 驱动下载到RAM START ADDRESS
RAM START ADDRESS 4K – 1 的范围内FLASH 驱动可以下载到片内SRAM 或是片外SDRAM
如果目标系统有片内SRAM建议用户使用片内SRAM因为片内SRAM 的速度比外部SDRAM 快
在设置初始化脚本的时候请提供必需的初始化脚本对存储系统进行初始化保证用户指定的RAM
空间是可以被正确访问的
4 XTAL
对有些芯片而言H-FLASHER 需要知道目标系统外接晶振的频率在选定 FLASH 芯片型号后如
果XTAL 对应的编辑框处于禁用状态则说明不需要用户指定XTAL
com Init Script
在这个步骤当中用户需要提供初始化脚本用以对目标系统进行初始化H-FLASHER 专门提供了
脚本编辑窗口用户可以添加和删除脚本并对脚本进行排序关于初始化脚本的具体定义和编辑请参
考第五章
对片内FLASH 而言一般不需要用户提供初始化脚本而对片外FLASH 一般都需要用户提供初始
化脚本初始化脚本主要有两个作用一是设置系统时钟这可以保证ARM 处理器的运行速度二是配
置调试目标的存储系统以保证H-FLASHER 可以正确的对FLASH 进行操作同时也保证FLASH 驱动可
以正确下载到目标系统的SRAMSDRAM 中去
初始化脚本直接影响到 FLASH 驱动是否能成功下载如果 H-FLASHER 提示错误Cant download
driver to specified address大部分情况下都是用户没有提供初始化脚本或是初始化脚本有问题要提供
正确的初始化脚本要求用户对目标系统有一定的了解建议用户仔细阅读目标芯片的数据手册特别是
存储设置部分
com Programming
在这个步骤当中用户可以对FLASH 芯片执行以下的操作检查FLASH 及其目标系统的基本信息
对FLASH 进行烧写擦除FLASH 和检查FLASH 是否为空
1 Check
这个操作可以读取目标系统上的FLASH 的ID 及其处理器的基本信息用户可以使用Check 功能来检
查用户的配置是否正确读取的目标系统的信息是否正确
2 Program
H-FLASHER 提供了三种烧写方式供用户选择Auto Flash DownloadIntel HEX Format和Plain Binary
Format 在烧写的时候烧写的数据程序和目的地址都是必须
的这三种方式的唯一区别在于这些信
息由哪里获得
A - Auto Flash Download
采用这种方式的时候用户不需要指定源文件和目的地址要烧写的数据和烧写的目的地址都是
USER MANUAL Copyright 2008 com All Rights
Reserved 4-3
由H-JTAG 提供给H-FLASHER 的
B - Intel HEX Format
因为HEX 文件本身包含了地址信息所以选择这种文件格式的时候用户只需要指定HEX 文
件的路径而不需要指定烧写的目的地址H-FLASHER 会自动从HEX 文件中提取地址信息
C - Plain Binary Format
Binary 文件本身不包含除了程序数据外的任何其它信息所以选择这种文件格式的时候用户
需要同时指定二进制文件的路径和烧写的目的地址
3 Erase Check Blank
用户可以对FLASH 进行擦除和检查FLASH 是否为空在执行这两个操作的时候用户可以选择对整
块FLASH 执行操作或是通过FROM 与TO 下拉框选择操作的地址范围
3 Erase Check Blank
H-Flasher 还提供了读取操作用以读取存储系统的内容在执行读取操作的时候用户需要同时指定
开始地址和长度长度的单位是BYTE
43 常见提示
提示-1
在设置的时候如果有那个输入框或是下拉框是灰色的或是不可编辑的说明该选项只有一个选择
不需要用户设定
提示-2
在用户配置好各个选项后用户可以将配置保存为 HFC
文件在需要的时候可以在 H-FLASHER
里直接装载HFC 文件省去了每次都需要配置的麻烦
提示-3
烧写前H-FLASHER 会自动执行必要的擦除操作所以用户不需要在烧写的时候对 FLASH 芯片先
执行擦除操作
提示-4
FLASH 擦除操作都是以块Sector为最小单位的一个块的大小通常都是大于一个BYTE 为了避
免数据丢失H-FLASHER 提供了自动备份和恢复机制在执行擦除前H-FLASHER 会备份部分数
据并在烧写的时候自动恢复这部分数据通过这个机制可以避免烧写区域外的数据被改写
提示-5
烧写的时候如果用户看到错误提示Destination flash
address is out of range说明用户指定的目的地
址不在FLASH 的有效地址范围内或是HEX 文件中提取的地址不在FLASH 的有效地址范围内请
用户检查地址设置是否正确或是HEX 文件的地址是否正确
提示-6
有些FLASH 芯片随着新版本的推出其芯片ID 有可能会更改如果发现这种情况请用户和我们
USER MANUAL Copyright 2008 com All Rights
Reserved 4-4
联系我们会提供新的FLASH 驱动程序
提示-7
如果对 FLASH 进行操作的时候出错请检查配置是否正确如果配置正确但还是出现错误请和
我们联系我们将会分析问题出在那里必要的时候我们会提供新的FLASH 烧写驱动
USER MANUAL Copyright 2008 com All Rights
Reserved 4-5
44 烧写实例1 – AT91SAM7X256
AT91SAM7X256 是ATMEL 公司的一款基于ARM7 的芯片该芯片带有256KByte 的片内FLASH
下面我们将介绍利用H-FLASHER 的编程向导如何来配置和烧写AT91SAM7X256
com Flash Selection
在向导的第一步当中选择芯片型号在这个例子当中选择芯片AT91SAM7X256 如下图所示
图4-2 选择AT91SAM7X256
com Configuration
在向导的第二步中对存储进行配置因为烧写的是AT91SAM7X256 的片内FLASH 而且这块芯片
的位宽FLASH 起始地址和RAM 起始地址都是固定的所以用户不需要进行设置采用默认的值就可以
了用户也不需要指定外部晶振的频率设置如下图所示
图4-3 配置设置
USER MANUAL Copyright 2008 com All Rights
Reserved 4-6
com Init Script
在向导的第三步中设置初始化脚本因为烧写的是 AT91SAM7X256 的片内 FLASH 而且
AT91SAM7X256 的烧写驱动当中已经包括了初始化部分所以不需要用户提供初始化脚本在这种情况下
脚本编辑的按钮全都是禁用的如下图所示
图4-4 设置初始化脚本
com Programming
在配置好后在编程向导的第四步中就可以对FLASH 执行不同
的操作了首先可以试一试CHECK
操作通过 CHECK 操作用户可以大概判断前面的设置是否正确在本例中CHECK 的结果如图 4-5
所示由图中显示的信息可以看出前面的配置是正确的
图4-5 CHECK 操作结果
USER MANUAL Copyright 2008 com All Rights
Reserved 4-7
下面尝试烧写一个二进制文件在本例中选择文件格式为二进制源文件为C\TESTbin 烧写的目
的地址为0x0设置如图4-6 所示设置好后点击PROGRAM 按钮开始烧写烧写过程当中用户会看
到烧写文件的大小平均烧写速度当前的进度等信息烧写完成后H-FLASHER 会提示烧写并验证成
功如果图4-7 所示
图4-6 烧写设置
图4-7 烧写完成
com 保存设置
用户可以将上面的设置保存为HFC 配置文件供以后使用在以后的使用中可以直接在H-FLASHER
里装载HFC 文件省去了每次都必须进行设置的麻烦
USER MANUAL Copyright 2008 com All Rights
Reserved 4-8
45 烧写实例2 - LPC2210 SST39VF1601
LPC2210 是NXP 公司 前PHILIPS 半导体的一款ARM7 芯片该芯片有16KB 的片内SRAM但
没有片内FLASH 该芯片有4 个外部MEMORY BANK 可用用来扩展外部FLASH 和外部SDRAM在
本例中假设 BANK0 用来扩展外部 FLASH 型号为 SST39VF1601 BANK0 的地址范围为
0x800000000x80FFFFFF BANK1 用 来 扩展外 部 SDRAM
BANK1 的地 址范围 为
0x810000000x81FFFFFF 下面我们将介绍如何对SST39VF1601 进行烧写
com Flash Selection
在向导的第一步当中选择芯片型号在这个例子当中我们需要选择芯片SST39VF160 1 如下图所
示
图4-8 选择SST39VF160 1
com Configuration
在向导的第二步中对存储进行配置SST39VF1601 只支持
16-BIT 模式所以位宽采用默认设置
FLASH 是利用 BANK0 扩展的而 BANK0 的起始地址是 0x80000000所以FLASH 的起始地址应该是
0x80000000 在指定RAM 空间的时候我们可用使用片内SRAM 或是片外SDRAM在本例中我们选
择使用外部SDRAM 外部SDRAM 是利用BANK1 扩展的而BANK1 的起始地址是0x81000000所以
RAM 的起始地址可以设为0x81000000 在这个例子里用户也不需要指定外部晶振的频率最终的设置
如下图所示
USER MANUAL Copyright 2008 com All Rights
Reserved 4-9
图4-9 配置设置
com Init Script
根据 LPC2210 的数据手册我们需要对三个寄存器进行设置PINSEL20xE002C0 14 BCFG0
0xFFE00000 和BCFG 10xFFE00004 其中PINSEL2 是管脚选择控制寄存器用以确定复用管脚的功能
例如地址线和读写控制信号而BCFGx 则是对BANK0 和BANK1 进行配置用以设置读写等待周期数
据位宽等寄存器的具体定义请参考LPC2210 的数据手册在本例中我们需要3 条初始化脚本最终
的脚本设置如下图所示
图4-10 设置初始化脚本
USER MANUAL Copyright 2008 com All Rights
Reserved 4-10
com Programming
在配置好后在编程向导的第四步中就可以对FLASH 执行不同的操作了首先可以试一试CHECK
操作通过 CHECK 操作用户可以大概判断前面的设置是否正确在本例中CHECK 的结果如下图所
示由图中显示的信息可以判断前面的设置是正确的
图4-11 CHECK 操作结果
下面尝试烧写一个二进制文件在本例中选择文件格式为二进制源文件为C\TESTbin 烧写的目
的地址为0x80000000设置如图4-12 所示设置好后点击PROGRAM 按钮开始烧写烧写过程当中
用户会看到烧写文件的大小平均烧写速度当前的进度等信息烧写完成后H-FLASHER 会提示烧写
并验证成功如果图4-13 所示
图4-12 烧写设置
USER MANUAL Copyright 2008 com All Rights Reserved 4-11
图4-13 烧写完成
com 保存设置
如前面的例子一样用户可以将上面的设置保存为 HFC 配置文件供以后使用在以后的使用中
可以直接在H-FLASHER 里装载HFC 文件
USER MANUAL Copyright 2008 com All Rights Reserved 4-12
第五章 初始化脚本
这个章节将简单介绍H-JTAG 定义的初始化脚本并介绍如何
利用H-JTAGH-FLASHER 的脚本编辑
器编辑初始化脚本
51 初始化脚本的定义
H-JTAG 总共定义了3 条初始化脚本SetmemDelay 和SoftReset其作用分别是设置内存的值增加
延迟和执行软复位如表5-1 所示用户可以根据自己的需要使用任意的脚本组合对系统进行初始化
表5-1 初始化脚本
初始化脚本 脚本作用
Setmem 设置内存寄存器的值
Delay 添加延迟
SoftReset 执行软复位
提示
H-JTAG 目前只定义了几个简单的脚本命令这些命令可以满
足大部分的需求但H-JTAG 定义的初
始化脚本有可能会根据实际的应用的需要而扩充
下面分别介绍这个几条初始化脚本的格式
com Setmem
Setmem 是最常用的脚本利用这个脚本用户可以设置内存或是寄存器的值用以完成系统的初始化
Setmem 的具体格式是
Setmem 位宽 目的地址 目标值
Setmem , 脚本命令
位宽 , 表示的设置的目标值的位宽可选的位宽为8-Bit 16-Bit32-Bit
目的地址 , 表示的是操作的目的地址设置的时候请根据选择的位宽保证地址是对齐的
目标值 , 用户希望写到目的地址的值设置的时候请根据选择的位宽输入合适的值
例子
Setmem 08-Bit 0x0 0x12 , 将地址0x0 的值设为0x 12位宽为8-Bit
Setmem 16-Bit 0x0 0x1234 , 将地址0x0 的值设为0x 1234位宽为16-Bit
Setmem 32-Bit 0x0 0x12345678 , 将地址0x0 的值设为0x 12345678位宽为32-Bit
com Delay
Delay 可以用来添加延迟在执行初始化的时候有时候有必要在执行完一条指令后等待一定的时
间再执行后面的操作这种情况下用户可以使用Delay 脚本命令Delay 的具体格式是
USER MANUAL Copyright 2008 com All Rights
Reserved 5-1
Delay 延迟值单位毫秒
Delay , 脚本命令
延迟值 , 延迟的时间单位是毫秒
例子
Delay 1 00 ,延迟100 毫秒
Delay 5000 ,延迟5000 毫秒
com SoftReset
SoftReset 可以用来执行软复位该操作主要是用来复位CP15 控制寄存器用以关闭 CACHE禁用
MMU 等S3C2410 是三星的一款基于ARM920T 的芯片支持MMU 在
将LINUX 烧录到S3C2410 后
LINUX 会自动配置MMU 进行复杂的REMAP 操作如果用户想重新烧写FLASH 最好在初始化脚本
的开头加入SoftReset 命令这样可以关闭CACHE 和禁用MMU 保证目标系统的存储是用户所期望的
SoftReset 的具体格式是
SoftReset 没有任何参数
USER MANUAL Copyright 2008 com All Rights
Reserved 5-2
52 初始化脚本的编辑
H-JTAG 和H-FLASHER 都提供了脚本编辑器方便用户编辑脚本H-JTAG 和H-FLASHER 的脚本编
辑器界面分别如图5-1 和图5-2 所示H-JTAG 和H-FLASHER 的编辑器是一样的在下面的介绍中我们
将不做区分
图5-1 H-JTAG 脚本编辑器
图5-2 H-FLASHER 脚本编辑器
USER MANUAL Copyright 2008 com All Rights
Reserved 5-3
com 脚本编辑按钮
在脚本编辑器中提供了4 个箭头状的按钮分别用来添加删除上移和下移脚本具体定义如下
将当前选择的脚本命令向上移动
添加一个新的脚本命令
删除当前选择的脚本命令
将当前选择的脚本命令向下移动
com 编辑脚本
对每条新脚本用户需要先选择脚本命令然后根据定义提供必要的参数要添加一条新的脚本在
脚本编辑器中单击右侧的添加按钮添加新脚本后如下图所示
图5-3 添加新脚本
点击脚本的Cmd 列用户就可以看到如下图所示的脚本命令列表用户可以根据需要选择命令
图5-4 脚本命令列表
USER MANUAL Copyright 2008 com All Rights
Reserved 5-4
如果用户选择的是SoftReset 命令根据定义用户不需要在提供别的参数SoftReset 命令设置完成后
如下图所示
图5-5 设置SoftReset 脚本
如果用户选择了Delay 命令根据Delay 命令的定义用户需要在Value 列里输入期望的延迟时间
Delay 命令设置完成后如下图所示
图5-6 设置Delay 脚本
如果用户选择了Setmem 命令根据Setmem 命令的定义用户需要设置位宽目的地址和目标值对
于Setmem 命令点击Width 列可以选择位宽如图5-7 所示选择好位宽后用户需要在Address 列和
Value 列分别填入目的地址和目标值Setmem 命令设置完成后如图5-8 所示
USER MANUAL Copyright 2008 com All Rights
Reserved 5-5
图5-7 选择位宽
图5-8 设置Setmem 脚本
USER MANUAL Copyright 2008 com All Rights
Reserved 5-6
第六章 调试软件的配置
这个章节介绍了如何配置常用的调试软件 Debugger 以使用H-JTAG 进行程序调试本章介绍的调
试软件包括AXD RVDS IAR 和 KEIL 在设置完成后要确保调试的顺利进行请正确连接好硬
件打开H-JTAG 并检测到调试目标调试软件的具体使用请参考各个软件自带的用户手册
61 AXD 的配置
ADS 的全称是ARM DEVELOPER SUIT是ARM 公司原厂的IDE 拥
有众多的用户而AXD 是ADS
自带的调试软件下面介绍如何配置AXD 以配合H-JTAG 进行调试
首先点击Options - Configure Target 菜单如图6-1 所示
图6-1 Configure Target 菜单
USER MANUAL Copyright 2008 com All Rights
Reserved 6-1
接下来用户会看到如图6-2 所示的Choose Target 配置窗口
图6-2 Choose Target 配置窗口
在上图所示的配置窗口中点击Add 按钮用户会看到如图6-3 所示的选择DLL 文件的对话框在
对话框里选择H-JTAG 安装目录下的H-JTAGDLL 然后点击确定
图6-3 选择H-JTAGDLL
USER MANUAL Copyright 2008 com All Rights
Reserved 6-2
确定后用户可以看到H-JTAG 已经添加到AXD 里去了如图
6-4 所示在下图中双击H-JTAG 或
是单击Configure 按钮用户就可以看到如图6-5 所示的H-JTAG
信息在图6-4 中点击OKAXD 的配
置就全部完成了
图6-4 配置完成
图6-5 H-JTAG 信息
USER MANUAL Copyright 2008 com All Rights
Reserved 6-3
62 RVDS 的配置
RVDS 的全称是REALVIEW DEVELOPER SUIT 也是ARM 公司原厂的IDE 下面将以RVDS20 为
例介绍如何配置RVDS 以配合H-JTAG 进行调试RVDS22 的配置稍有不同但基本一样
首先点击RVDS 主界面上的Click to connect a target如下图所示
图6-6 RVDS 主窗口
接下来用户会看到如图6-7 所示的Connection Control 配置窗口
图6-7 Connection Control 配置窗口
USER MANUAL Copyright 2008 com All Rights
Reserved 6-4
在上图的配置窗口中单击右键就可以看到如图6-8 所示的菜单
图6-8 添加菜单
在图6-8 所示的菜单中选择AddRemoveEdit Devices就可以看到如下图所示的RDI Target List 窗
口
图6-9 RDI Target List 窗口
USER MANUAL Copyright 2008 com All Rights
Reserved 6-5
在图6-9 中选择Add DLL 用户会看到如6-10 所示的Select RDI DLL 文件的窗口在这个窗口中
选择H-JTAG 安装目录下的H-JTAGDLL 然后点击确定
图6-10 选择H-JTAGDLL
确定后用户会看到如图6-11 所示的Create New RDI Target 窗口在这个窗口中用户可以输入名字
和简单的描述或是采用默认值
图6-11 Create New RDI Target 窗口
USER MANUAL Copyright 2008 com All Rights
Reserved 6-6
确定后用户可以看到H-JTAG 已经添加到RVDS 里去了如
图6-12 所示在下图中单击Configure
按钮用户就可以看到如图6-13 所示的H-JTAG 信息在图6-12
中点击CloseRVDS 的配置就全部完
成了
图6-12 配置完成
图6-13 H-JTAG 信息
USER MANUAL Copyright 2008 com All Rights
Reserved 6-7
63 IAR 的配置
IAR Embedded Workbench 是IAR 公司出的一款针对ARM 处理器的IDE 下面将介绍如何配置IAR
以配合H-JTAG 进行调试
首先在IAR 中打开一个项目然后点击Project- Options 菜单如下图所示
图6-14 IAR Options 菜单
接下来用户会看到如图6-15 所示的Options 配置窗口
图6-15 Options 配置窗口
USER MANUAL Copyright 2008 com All Rights
Reserved 6-8
在图6-15 所示的Options 配置窗口中选择Debugger 设置
并在Setup 页面中驱动选项中选择RDI
如下图所示
图6-16 Debugger 设置
然后再选择RDI 设置如下图所示在这个页面里用户需要指
定RDI 驱动的路径
图6-17 RDI 设置
USER MANUAL Copyright 2008 com All Rights
Reserved 6-9
在上图中点击Browse 按钮选择H-JTAG 安装目录下的
H-JTAGDLL如下图所示
图6-18 选择H-JTAGDLL
在上图中点击OK 按钮IAR 的设置就完成了设置完成后IAR 的主窗口中多了一个RDI 菜单
如图6-19 所示在菜单中点击Configure就可以看到如图6-20 所示的H-JTAG 相关信息
图6-19 IAR 设置完成
USER MANUAL Copyright 2008 com All Rights
Reserved 6-10
图6-20 H-JTAG 信息
提示
如果用户用IAR 调试的时候希望使用FLASH 自动下载功能请在IAR 的Options 中请不要打开Verify
Download 选项设置如下图所示
图6-21 Verify Download 设置
USER MANUAL Copyright 2008 com All Rights
Reserved 6-11
64 KEIL 的配置
KEIL FOR ARM 是KEIL 公司开发的IDE 下面将介绍如何配置KEIL FOR ARM 以配合H-JTAG 进行
调试
首先在KEIL 中打开一个项目然后点击Project - Options for Target菜单如下图所示
图6-22 Options 菜单
接下来用户会看到如图6-23 所示的Options 配置窗口
图6-23 Options 配置窗口
USER MANUAL Copyright 2008 com All Rights
Reserved 6-12
在图6-23 所示的Options 配置窗口中选择Debug 设置如
下图所示
图6-24 Debug 设置
在Debug 设置中选择使用RDI 接口如下图所示
图6-25 选择使用RDI 接
口
USER MANUAL Copyright 2008 com All Rights
Reserved 6-13
然后点击上图所示的Settings 按钮KEIL 会弹出如下图所
示的RDI Interface Driver Setup 窗口需要
用户设置H-JTAGDLL 的路径
图6-26 RDI Interface Driver
Setup 窗口
在上图所示的设置窗口中按Browse 按钮然后选择H-JTAG 安装目录下的H-JTAGDLL 设置好路
径如下图所示
图6-27 设置H-JTAGDLL 路径
提示
在设置H-JTAGDLL 路径的时候如果H-JTAG Server 没有打开KEIL 会报错用户可以忽略这个错
误
在上图中用户点击OK 按钮就会回到图6-25 所示的设置窗口继续点击OK 按钮回到KEIL 的
主窗口KEIL 的设置就完成了
USER MANUAL Copyright 2008 com All Rights
Reserved 6-14