HOLTEK HT-IDE3000 User Manual

HT-IDE3000 使用手册
二○○六年七月
使用手册
使用手册使用手册
Copyright 2006 by HOLTEK SEMICONDUCTOR INC.
本使用手册版权为盛群半导体股份有限公司所有,非经盛群半导体股份有限公司书面授权同意,不得通过任
何形式复制、储存或传输。
注意
注意
注意注意
使用指南中所出现的信息在出版当时相信是正确的,然而盛群对于说明书的使用不负任何责任。文中提到的
应用目的仅仅是用来做说明,盛群不保证或表示这些没有进一步修改的应用将是适当的,也不推荐它的产品
使用在会由于故障或其它原因可能会对人身造成危害的地方。盛群产品不授权使用于救生、维生器件或系统
中 做 为 关 键 器 件 。 盛 群 拥 有不 事 先 通 知 而 修 改 产 品 的 权 利 。 对 于 最 新 的 信 息 , 请 参 考 我 们 的 网 址
http://www.holtek.com.tw
目录
目录
目录目录
目录
第一部份
第一部份 集成开发环境
第一部份第一部份
第一章
第一章 概要与安装
第一章第一章
集成开发环境 ........................................................... 1
集成开发环境集成开发环境
概要与安装.................................................................................... 3
概要与安装概要与安装
HT-IDE 集成开发环境................................................................................3
盛群单片机仿真器(HT-ICE) ......................................................................5
HT-ICE 接口卡 ....................................................................................5
OTP 烧录器..........................................................................................5
OTP 适配卡..........................................................................................5
系统配置......................................................................................................6
安装..............................................................................................................7
系统需求..............................................................................................7
硬件安装..............................................................................................7
软件安装..............................................................................................8
目录
目录目录
第二章
第二章 快速
第二章第二章
第三章
第三章 菜单
第三章第三章
i
快速开始
开始...................................................................................... 13
快速快速
开始开始
步骤一:建立一个新项目................................................................13
步骤二:将源程序文件加到项目中 ................................................13
步骤三:编译项目............................................................................13
步骤四:烧录 OTP 单片机...............................................................14
步骤五:传送程序与掩膜选项单至 Holtek ....................................14
菜单 −−− 文件
菜单菜单
启动 HT-IDE3000 系统.............................................................................15
文件菜单....................................................................................................18
编辑菜单....................................................................................................19
视图菜单....................................................................................................20
文件/编辑
编辑/视图
文件文件
编辑编辑
视图/工具
工具/选项
视图视图
工具工具
选项 ........................................... 15
选项选项
目录
工具菜单....................................................................................................21
Mask Option.......................................................................................21
Diagnose.............................................................................................22
Writer..................................................................................................23
Library Manager................................................................................. 23
Voice/VROM Editor........................................................................... 24
Voice/Download .................................................................................24
LCD Simulator ...................................................................................25
Virtual Peripheral Manager ................................................................25
Data EEPROM Editor ........................................................................25
选项菜单....................................................................................................26
Project Command...............................................................................26
Debug Command................................................................................27
Directories Command.........................................................................29
Editor Command ................................................................................30
Color Command .................................................................................30
Font Command...................................................................................30
第四章
第四章 菜单
第四章第四章
菜单 −−− 项目
菜单菜单
建立新项目................................................................................................31
打开和关闭项目........................................................................................32
管理项目的源文件....................................................................................33
将源程序文件加到项目中................................................................33
从项目中删除源程序文件................................................................34
向上或向下移动源程序文件的位置 ................................................34
建立项目的任务文件................................................................................34
建立项目的任务文件........................................................................35
重建项目的任务文件........................................................................35
编译............................................................................................................35
编译程序............................................................................................35
Print Option Table Command ....................................................................36
Generate Demo File (.DMO) Command....................................................36
项目................................................................................ 31
项目项目
目录
目录目录
第五章
第五章 菜单
第五章第五章
ii
菜单 −−− 除错
菜单菜单
复位 HT-IDE3000 系统.............................................................................38
HT-IDE3000 复位 .........................................................................39
从应用电路板复位............................................................................39
应用程序的硬件仿真................................................................................40
硬件仿真应用程序............................................................................40
停止硬件仿真应用程序....................................................................40
执行应用程序到指定的程序行........................................................40
直接跳跃到应用程序中的某一行....................................................41
单步执行....................................................................................................41
除错................................................................................ 37
除错除错
目录
断点............................................................................................................43
断点特性............................................................................................43
断点项目的说明................................................................................43
如何设定断点....................................................................................45
跟踪应用程序............................................................................................47
跟踪的初步设定................................................................................47
停止跟踪............................................................................................49
跟踪的启动与停止............................................................................49
跟踪记录的格式................................................................................52
除错器的命令模式....................................................................................54
进入命令模式与离开命令模式........................................................54
命令模式所支持的功能....................................................................54
Log 文件格式.....................................................................................61
HT-COMMAND 错误信息................................................................62
第六章
第六章 菜单
第六章第六章
第七章
第七章 软件仿真
第七章第七章
第第第第八章
八章 OTP 烧录
八章八章
菜单 −−− 窗口
菜单菜单
窗口菜单命令............................................................................................64
软件仿真...................................................................................... 69
软件仿真软件仿真
开始仿真....................................................................................................70
简介............................................................................................................71
安装............................................................................................................72
烧录器转接座............................................................................................72
使用 HT-HandyWriter 烧写 OTP 单片机 .................................................73
系统信息....................................................................................................81
窗口................................................................................ 63
窗口窗口
烧录..................................................................................... 71
烧录烧录
目录
目录目录
第二部份
第二部份 开发语言与工具
第二部份第二部份
第九章
第九章 汇编语言和编译器
第九章第九章
iii
开发语言与工具 ......................................................83
开发语言与工具开发语言与工具
汇编语言和编译器...................................................................... 85
汇编语言和编译器汇编语言和编译器
常用符号....................................................................................................85
语句语法....................................................................................................86
名称....................................................................................................86
操作项................................................................................................86
操作数项............................................................................................86
注释....................................................................................................86
汇编伪指令................................................................................................87
条件汇编伪指令................................................................................87
文件控制伪指令................................................................................88
程序伪指令........................................................................................90
数据定义伪指令................................................................................94
目录
宏指令................................................................................................96
汇编语言指令..........................................................................................100
名称.................................................................................................. 100
助记符.............................................................................................. 100
操作数,运算子和表示式.............................................................. 100
其它..........................................................................................................103
前置引用.......................................................................................... 103
局部标号.......................................................................................... 103
汇编语言保留字.............................................................................. 104
编译器选项..............................................................................................105
编译列表文件格式..................................................................................105
源程序列表...................................................................................... 105
编译总结.......................................................................................... 106
其它.................................................................................................. 106
第十章
第十章 盛群
第十章第十章
iv
盛群 C 语言
盛群盛群
简介..........................................................................................................109
C 语言的程序结构..................................................................................110
语句.................................................................................................. 110
注释.................................................................................................. 110
标识符...................................................................................................... 111
保留字.............................................................................................. 111
数据类型.................................................................................................. 111
数据类型与大小.............................................................................. 111
宣告.................................................................................................. 112
常量..........................................................................................................113
整型常量.......................................................................................... 113
字符型常量...................................................................................... 114
字符串常量...................................................................................... 114
枚举常量.......................................................................................... 114
运算符......................................................................................................115
算术运算符...................................................................................... 115
关系运算符...................................................................................... 115
等式运算符...................................................................................... 115
逻辑运算符...................................................................................... 116
位运算符.......................................................................................... 116
复合赋值运算符.............................................................................. 116
递增和递减运算符.......................................................................... 117
条件运算符...................................................................................... 117
逗号运算符...................................................................................... 117
运算符的优先权与结合性.............................................................. 118
类型转换.......................................................................................... 119
程序流程控制..........................................................................................120
函数..........................................................................................................124
古典形式.......................................................................................... 124
语言............................................................................... 109
语言语言
目录
目录目录
目录
现代形式.......................................................................................... 124
指针与数组..............................................................................................125
指针.................................................................................................. 125
数组.................................................................................................. 125
结构体与共用体(Structures and Unions)................................................ 126
前置处理伪指令......................................................................................127
盛群 C 语言的扩充功能与限制.............................................................132
关键字.............................................................................................. 132
存储器区块(memory bank) .............................................................132
位数据类型...................................................................................... 133
内嵌式汇编语言.............................................................................. 133
中断.................................................................................................. 134
变量.................................................................................................. 135
静态变量.......................................................................................... 135
常量.................................................................................................. 135
函数.................................................................................................. 135
数组.................................................................................................. 136
常量.................................................................................................. 136
指针.................................................................................................. 136
初始值.............................................................................................. 136
乘法/除法/.................................................................................... 137
内建函数.......................................................................................... 137
堆栈.................................................................................................. 138
第十一章
第十一章 混合语言
第十一章第十一章
Little Endian.............................................................................................139
函数与参数的命名规则..........................................................................140
参数的传递..............................................................................................142
返回值......................................................................................................142
寄存器内容的保存..................................................................................142
C 程序调用汇编语言函数.................................................................143
在汇编程序调用 C 函数 .........................................................................144
使用汇编语言撰写 ISR 函数..................................................................146
混合语言................................................................................ 139
混合语言混合语言
全局变量.......................................................................................... 140
局部变量.......................................................................................... 140
函数.................................................................................................. 141
函数的参数...................................................................................... 142
目录
目录目录
第十二章
第十二章 连接器
第十二章第十二章
连接器的作用..........................................................................................147
连接器的选项..........................................................................................147
地址映射文件..........................................................................................148
连接器的任务文件与除错文件..............................................................149
v
连接器.................................................................................... 147
连接器连接器
函数库文件...................................................................................... 147
程序段地址...................................................................................... 148
生成地址映射文件.......................................................................... 148
目录
第三部份
第三部份 公用程序
第三部份第三部份
第十三章
第十三章 函数库管理器
第十三章第十三章
第十
第十四章
第十第十
公用程序 ................................................................151
公用程序公用程序
函数库管理器........................................................................ 153
函数库管理器函数库管理器
函数库管理器的功能..............................................................................153
设定函数库文件......................................................................................153
生成新的函数库文件...................................................................... 155
往函数库文件中添加程序模块...................................................... 155
从函数库文件中删除程序模块...................................................... 155
从函数库文件中取得程序模块并生成目标文件 ..........................156
目标模块的信息.............................................................................. 156
四章 LCD 仿真器
四章四章
简介..........................................................................................................157
LCD 面板配置文件.................................................................................157
面板文件的文件名与项目的关系.................................................. 158
选择 HT-LCDS.................................................................................158
LCD 面板图形文件.................................................................................159
建立 LCD 面板配置文件........................................................................160
建立面板的配置结构...................................................................... 160
选择图形并设定位置...................................................................... 161
加入新的图形.................................................................................. 161
删除图形.......................................................................................... 162
改变图形.......................................................................................... 162
改变图形位置.................................................................................. 162
如何加入用户定义的矩阵.............................................................. 163
使用 Panel Editor 定义图形 ............................................................164
使用批处理文件将图形加入面板.................................................. 165
选择 LCD 面板的颜色 .................................................................... 165
VFD 面板设定颜色样式 ............................................................ 166
LCD 仿真.................................................................................................167
停止仿真.......................................................................................... 167
仿真器 .......................................................................... 157
仿真器仿真器
目录
目录目录
第十五章
第十五章 虚拟外围设备管理器
第十五章第十五章
简介..........................................................................................................169
VPM 窗口................................................................................................170
VPM 菜单................................................................................................171
VPM 外围组件........................................................................................174
快速开始的范例......................................................................................178
vi
虚拟外围设备管理器((((VPM))))........................................... 169
虚拟外围设备管理器虚拟外围设备管理器
文件菜单.......................................................................................... 171
功能菜单.......................................................................................... 172
LED ..................................................................................................174
Button/Switch...................................................................................175
Seven Segment Display.................................................................... 176
霹雳灯.............................................................................................. 178
目录
第四部份
第四部份 附录
第四部份第四部份
附录
附录 A 编译器使用的保留字
附录附录
附录
附录 B 编译器的错误信息
附录附录
附录
附录 C 连接器的错误
附录附录
附录
附录 D 函数库的错误信息
附录附录
附录
附录 E 盛群
附录附录
附录 ........................................................................181
附录附录
编译器使用的保留字 ................................................................ 183
编译器使用的保留字编译器使用的保留字
汇编语言保留字......................................................................................183
指令集......................................................................................................184
编译器的错误信息 .................................................................... 187
编译器的错误信息编译器的错误信息
连接器的错误信息
连接器的错误连接器的错误
函数库的错误信息 .................................................................... 197
函数库的错误信息函数库的错误信息
盛群 C 编译器的错误信息
盛群盛群
错误码......................................................................................................199
警告码......................................................................................................204
致命码......................................................................................................205
信息.................................................................... 191
信息信息
编译器的错误信息 ....................................................... 199
编译器的错误信息编译器的错误信息
目录
目录目录
vii
目录
目录
目录目录
viii
第一部份
第一部份
第一部份第一部份
集成开发环境
集成开发环境
集成开发环境集成开发环境
第一部份
第一部份 集成
第一部份第一部份
集成开发环境
开发环境
集成集成
开发环境开发环境
1
HT-IDE3000 使用手册
使用手册
使用手册使用手册
2
第一章
1
第一章
第一章
第一章第一章
概要与安装
概要与安装
概要与安装概要与安装
在简化应用程序的开发过程方面,单片机支持工具的重要性和有效性是不可低 估的。为了支持所有系列的单片机,盛群用心的提供了具有完整功能的工具, 让用户在开发与使用上更加便利,例如众所周知的 HT-IDE 集成开发环境。软 件方面有 HT-IDE3000 软件,提供友好的视窗界面,以便进行程序的编辑及除 错,同时硬件方面为 HT-ICE 仿真器,提供多种实时仿真功能,包含多功能跟 踪、单步执行和断点设定功能。HT-IDE 开发系统提供完整的接口卡,并定期 更新软件服务包,保证设计者可以有最佳的工具,并能以最高效率进行单片机 应用程序的设计与开发。
第一章 概要与安装
第一章第一章
概要与安装
概要与安装概要与安装
HT-IDE 集成开发环境
3
集成开发环境
集成开发环境集成开发环境
HT-IDE(Holtek Integrated Development Environment)是一个具有高效能,使用于 设计盛群 8 位单片机应用程序的集成开发环境。系统中的硬件及软件工具能帮 助客户使用盛群 8 位单片机芯片,快速且容易的开发应用程序。HT-IDE 中, 最主要的组件为 HT-ICE(In-Circuit Emulator),它提供了盛群 8 位单片机的实 时仿真功能,和强有力的除错和跟踪功能。最新版本的 HT-ICE 仿真器进一步 集成了 OTP 烧写器,为使用者提供从程序设计、除错到烧写的所有功能。
在软件方面,HT-IDE3000 开发系统提供友好的工作平台。此平台将所有的软 件工具,例如编辑器、编译器、连接器、函数库管理器和符号除错器,并入到 视窗环境,使程序开发过程更加容易。HT-IDE3000 还提供软件仿真功能,无 需接上 HT-ICE 仿真器,就可以进行程序开发。此软件仿真器可以仿真盛群 8 位单片机,以及 HT-ICE 硬件的所有基本功能。
HT-IDE3000 使用手册
HT-IDE3000 使用手册中包含 HT-IDE 开发系统的相关细节。为了确保开发系统 包含有最新的单片机和软件更新信息,盛群也定期提供 HT-IDE3000 服务软件(Service Pack)。这 些服务软件 不是用来取 代 HT-IDE3000 的,它必 须在
HT-IDE3000 系统软件安装后才能被安装。
HT-IDE3000 开发系统具有下列的特性:
仿真
仿真
仿真仿真
程序指令的实时仿真
硬件
硬件
硬件硬件
使用及安装方便
可使用内部或外部振荡器
断点功能
支持跟踪功能与触发能力的跟踪仿真器
HT-ICE 通过打印口与计算机连接
使用者的应用电路板通过 I/O 接口卡连接至 HT-ICE
HT-ICE 中集成 OTP 烧写器
软件
软件
软件软件
通用的视窗软件
源程序层次的除错器(符号除错器)
支持多个源程序文件的工作平台(一个应用项目可以包含一个以上的源程序
文件)
所有的工具都用于开发、除错、评估和产生最后的应用程序代码(Mask ROM
file OTP file)
可将公用程序建立成函数库,连接到其它项目中使用
软件仿真器不需要连接 HT-ICE 硬件即可进行程序的仿真和除错
虚拟外围器件管理(VPM)可以仿真外围器件的行为
LCD 仿真器可仿真 LCD 面板的动作
使用手册
使用手册使用手册
4
第一章
盛群单片机仿真器
盛群单片机仿真器(HT-ICE)
盛群单片机仿真器盛群单片机仿真器
对于盛群的 8 位单片机而言,盛群的 ICE 是全功能的仿真器,系统中的硬件及 软件工具能帮助客户快速方便的开发应用程序。系统中最主要的是硬件仿真 器,除了能够有效地提供除错和跟踪功能之外,还能以实时的方式进行盛群 8 位单片机的仿真工作。在软件方面,HT-IDE3000 开发系统提供友好的工作平 台,将所有软件工具,例如编辑器、编译器、连接器、函数库管理器和符号除 错器,合并到视窗环境。此外,在软件仿真模式下,系统不需连接 HT-ICE 硬 件即可执行程序的仿真。
第一章 概要与安装
第一章第一章
概要与安装
概要与安装概要与安装
HT-ICE 接口卡
HT-ICE 接口卡(图 1-1)可以应用于大多数应用电路中,使用者也可自行设计接 口卡。将必要的接口电路放在他们自己的接口卡上,就可以直接把他们的应用 电路板连接到 HI-ICE CN1 CN2 连接器。
OTP 烧写器
所有盛群的 OTP 芯片都有烧写器支持。对于工业级的 OTP 芯片烧写而言,盛 群 OTP 烧写工具提供一个快速有效的方法,来进行 OTP 的小规模量产烧写。 最新版本的 HT-ICE 仿真器进一步将 OTP 烧写器集成在 HT-ICE 仿真器上,提 供使用者从程序设计、除错到烧写验证的所有必需功能。另外有更多的烧写器 供应商可提供有效及更大容量的烧写服务。请参阅网站以获得更多的供应商情 况。
接口卡
接口卡接口卡
烧写器
烧写器烧写器
图图图图 1-1
OTP 适配卡
适配卡
适配卡适配卡
OTP 烧写器本身提供了一个标准的芯片插座,OTP 适配卡适用于烧写其它封 装形式的 OTP 芯片,这些封装形式的芯片无法在标准芯片插座上烧写,需要 在 OTP 烧写器插上此适配卡才能烧写。
5
系统配置
系统配置
系统配置系统配置
HT-IDE3000 使用手册
使用手册
使用手册使用手册
HT-IDE 系统配置如图 1-2,主机需为 Pentium 兼容机器,操作系统为 Windows 95/98/NT/2000/XP 或更新的版本)。注意在 Windows NT/2000/XP 系统中安装 HT-IDE3000 时,需在 Supervisor Privilege 模式下才能安装 HT-IDE3000 软件。
P o w e r A d a p t e r
E m u l a t o r
F l a t C a b l e
P r i n t e r C a b l e
图图图图 1
1----2222
1 1
E m u l a t o r B o x
H T - I C E
O T P W r i t e r
I n t e r f a c e
C a r d
T a r g e t
B o a r d
HT-IDE 集成系统环境包含下列硬件组成:
HT-ICE仿真器,包含印刷电路板 PCB(配有一个用于连接到主机的打印口),
I/O 信号接头以及电源指示灯 LED,如图 1-3 所示。
连接目标电路板与 HT-ICE 仿真器的 I/O 接口卡
变压器(输出 16V)
D 25 脚打印并口线
集成 OTP 烧写器
6
P r i n t e r P o r t
H T - I C E R e a r V i e w
H T - I C E F r o n t V i e w
图图图图 1
1----3333
1 1
R e s e t
D C 1 6 V
+
C N 1C N 2
安装
安装
安装安装
第一章
系统要求
系统要求
系统要求系统要求
安装 HT-IDE3000 系统的硬件及软件要求如下:
Pentium 等级以上 CPU PC/AT 兼容机器
SVGA 彩色显示器
至少 32M 以上的 RAM
CD ROM 装置(光盘安装时需要)
至少 20M 以上的硬盘空间
具有并行口,可连接 PC HT-ICE
操作系统 Windows 95/98/NT/2000/XP
* Window 95/98/NT/2000/XP Microsoft 公司注册商标
硬件安装
硬件安装
硬件安装硬件安装
步骤 1
将电源变压器插入 HT-ICE 的电源插孔
步骤 2
通过 I/O 接口卡或排线连接目标电路板与 HT-ICE
步骤 3
使用打印并口线连接 HT-ICE 与主机 此时 HT-ICE 上的 LED 应该是亮的,如果不亮,则重新操作连接的步骤或与代 理商联系。
第一章 概要与安装
第一章第一章
概要与安装
概要与安装概要与安装
警告
警告:::: 请小心使用电源变压器,勿使用输出不是 16V 的变压器,否则可能导致 HT-ICE 损坏,因
警告警告
此强烈建议使用由盛群所提供的变压器。首先将电源变压器插入 HT-ICE 的电源插座。
7
HT-IDE3000 使用手册
软件安装
软件安装
软件安装软件安装
步骤 1
使用手册
使用手册使用手册
HT-IDE3000 CD 放入 CD ROM 中,将出现下列的对话框。
图图图图 1
1----4444
1 1
按下<HT-IDE3000>按钮,下列的对话框会出现。
图图图图 1
1----5555
1 1
依照你想要安装的功能,请按下<HT-IDE3000>或者<Service Pack>。
以下为选择安装<HT-IDE3000>的范例说明,按下<HT-IDE3000>。
8
第一章
步骤 2
第一章 概要与安装
第一章第一章
按下<Next>按钮(继续安装)或按下<Cancel>按钮(中止安装)。
概要与安装
概要与安装概要与安装
图图图图 1
1----6666
1 1
步骤 3
下面显示的对话框会要求使用者输入安装处的文件夹名称。
图图图图 1
1----7777
1 1
9
HT-IDE3000 使用手册
使用手册
使用手册使用手册
图图图图 1
1----8888
1 1
图图图图 1
1----9999
1 1
步骤 4
指定你希望安装 HT-IDE3000 的文件夹路径,然后按下<Next>按钮。
10
第一章
步骤 5
SETUP 会将文件复制到你指定的文件夹。
第一章 概要与安装
第一章第一章
概要与安装
概要与安装概要与安装
图图图图 1
步骤 6
安装成功的话,则会出现下面的对话框。
图图图图 1
1----10
10
1 1
1010
1----11
11
1 1
1111
11
HT-IDE3000 使用手册
步骤 7
使用手册
使用手册使用手册
请按下<Finish>按钮完成安装并重新启动计算机系统,然后,你就可以执行
HT-IDE3000 程序了。SETUP 会在你指定的文件夹下,建立四个子文件夹
(BININCLUDELIBSAMPLE)BIN 子文件夹包含所有的系统可执行
文件(EXE)、动态链接库(DLL)和配置文件(CFGFMT),INCLUDE 子文件
夹包含所有由盛群所提供的包含文件(.H.INC)LIB 子文件夹包含由盛群
所提供的库文件(.LIB)SAMPLE 子文件夹包含若干范例程序。
注意,在第一次执行 HT-IDE3000 之前,系统会要求输入如图 1-12 所示的
公司资料,请选择适当的区域并填入公司名称及识别码,其中识别码可由
HT-IDE3000 的供应商提供。
图图图图 1
1----12
12
1 1
1212
12
第二章
2
第二章
第二章
第二章第二章
快速开始
快速开始
快速开始快速开始
本章简述如何快速使用 HT-IDE3000 去开发一个应用程序项目。
步骤一
步骤一:建立一个新项目
步骤一步骤一
按下 Project 菜单并选择 New 命令
输入项目名称并从组合框选择此项目使用的单片机型号
按下 OK 按键则系统将会要求设定单片机的掩膜选项
设定所有掩膜选项并按下 SAVE
建立一个新项目
建立一个新项目建立一个新项目
第二章 快速开始
第二章第二章
快速开始
快速开始快速开始
步骤二
步骤二:将源程序文件加到项目中
步骤二步骤二
使用 File/New 命令建立源程序文件
撰写完程序后存盘,如 TEST.ASM 文件名
按下 Project 菜单并选择 Edit 命令
进入 Edit Project 对话框以便将源程序文件加入项目,或从项目中删除
选择一个源程序文件名称,如 TEST.ASM,按下 Add 按钮
当所有源程序文件都被加入项目后,按下 OK 按钮
步骤三
步骤三:编译
步骤三步骤三
按下 Project 菜单并选择 Build 命令
系统将会对项目中的所有源程序文件执行编译动作
重复上述步骤直到没有错误
13
将源程序文件加到项目中
将源程序文件加到项目中将源程序文件加到项目中
编译项目
项目
编译编译
项目项目
如果程序中有错误,只要在错误信息行连按两次,系统将会提示错误发生 的位置并且打开此错误所在的源程序文件,可直接修改程序及存储文件
如果所有程序 文件都没 有错误,系统会产生一个执行文件并且载入到 HT-ICE 中,准备仿真及除错
HT-IDE3000 使用手册
步骤四
步骤四:烧写
步骤四步骤四
烧写 OTP 单片机
烧写烧写
单片机
单片机单片机
使用手册
使用手册使用手册
建立项目,产生.OTP 文件
按下 Tools 菜单并选择 Writer 命令,烧写 OTP 芯片
步骤五
步骤五:传送程序与掩膜选项单至
步骤五步骤五
传送程序与掩膜选项单至 Holtek
传送程序与掩膜选项单至传送程序与掩膜选项单至
按下 Project 菜单并选择 Print Option Table 命令,打印掩膜选项确认单
传送.COD 文件和掩膜选项确认单到盛群半导体公司,进行生产
程序及数据流程可由下图表示:
. I N C . A S M
. H . C
P r o j e c t / / B u i l d / R e b u i l d A l l 1 . A s s e m b l e / C o m p i l e 2 . L i n k e r 3 . L o a d e r 4 . C o d e G e n e r a t o r
. C F G
T o o l s / /
M a s k O p t i o n
T o o l s / /
P r i n t O p t i o n T a b l e
O p t i o n
A p p r o v a l S h e e t
T o o l s / /
L i b r a r y M a n a g e r
. T S K
. O P T
A s s e m b l e / C o m p i l e
. O B J
. L I B
L o a d e r
D o w n l o a d t o I C E
C o d e G e n e r a t o r
H o l t e k
图图图图 2
2----1111
2 2
P r o j e c t / /
. O T P. C O D
M a s k
I C s
L i n k e r
C r e a t e T a s k F i l e
D e b u g / / G o G o t o C u r s o r J u m p t o C u r s o r S t o p / T r a c e S t o p R e s e t P o w e r - o n R e s e t R e s e t T r a c e S t e p I n t o / O v e r / O u t S t e p p i n g
H a n d y W r i t e r
T o o l s / /
O T P
I C s
. F M T
. L S T
. M A P
. D B G
14
第三章
3
第三章
第三章
第三章第三章
菜单
菜单 −−
菜单菜单 文件
文件/编辑
文件文件
启动
启动 HT-IDE3000 系统
启动启动
编辑/视图
编辑编辑
本章描述 HT-IDE3000 的部分菜单和命令,其它的菜单则在项目、除错及窗口 等章节中叙述。
视图/工具
视图视图
系统
系统系统
第三章 菜单
第三章第三章
工具/选项
工具工具
菜单 −−− 文件
菜单菜单
选项
选项选项
文件/编辑
编辑/视图
文件文件
编辑编辑
视图/工具
工具/选项
视图视图
工具工具
选项
选项选项
图图图图 3-1
15
HT-IDE3000 使用手册
按下[开始]按钮,选择[程序]并选择 Holtek HT-IDE3000
使用手册
使用手册使用手册
按下 HT-IDE3000 的小图标
若上次在 HT-IDE3000 中的项目是工作在硬件仿真模式(使用 HT-ICE),如
果下面的条件发生时,将会显示图 3-2 的画面。
计算机与 HT-ICE 之间没有连接或连接失败。
HT-ICE 电源关闭。
图图图图 3-2
如果选择“YES”并且计算机与 HT-ICE 已经连接,则显示如图 3-3 的画面, HT-IDE3000 进入仿真模式,HT-ICE 开始动作。
若上次在 HT-IDE3000 中的项目是工作在软件仿真模式(使用软件仿真器),
则会显示如图 3-4 的画面,表示 HT-IDE3000 进入软件仿真模式。
16
图图图图 3-3
图图图图 3-4
第三章
HT-IDE3000 提供九种菜单-文件(File)、编辑(Edit)、视图(View)、项目(Project)、 除错(debug)、工具(Tools)、选项(Options)、窗口(Windows)以及帮助(Help),下 面的章节将会分别描述每一个菜单的命令及功能。
在菜单栏下方的是工具栏(如图 3-5 所示),可以随处移动此工具栏的位置。 其中所包含的小图标,都是经常使用的菜单命令,可让使用者更方便地去执行 菜单命令。将光标放置在工具栏的任何一个小图标上时,相对应的命令名称会 显示在旁边,按下小图标就会执行此命令。
状态栏位于底线处(如图 3-5 所示),显示硬件仿真或软件仿真的当前状态以 及命令的执行结果状态。
当执行除错时(除错菜单),状态栏中的字段(PC=0001H)会显示程序计数器 的内容。
第三章 菜单
第三章第三章
菜单 −−− 文件
菜单菜单
文件/编辑
编辑/视图
文件文件
编辑编辑
视图/工具
工具/选项
视图视图
工具工具
选项
选项选项
状态栏所显示的信息可能在程序除错阶段有所帮助。例如程序计数器在程序执 行期间会显示实际程序计数器的内容,而在使用程序编辑器时,行与列的指示 器(状态栏最右边的两个字段)会显示光标当前的位置。
17
图图图图 3-5
文件菜单
文件菜单
文件菜单文件菜单
HT-IDE3000 使用手册
文件菜单提供文件处理命令,对应的工具栏小图标显示如上,细节说明如下:
New
建立新文件
Open
打开已有文件
Close
关闭当前文件
Save
储存当前文件
Save As
将当前文件另存成新文件名
Save All
储存所有被打开的文件
Print
将当前数据送到打印机进行打印
Print Setup
设定打印机
Recent Files
列出最近打开和关闭的四个文件
Exit
退出 HT-IDE3000,回到 Windows 窗口
使用手册
使用手册使用手册
18
编辑菜单
编辑菜单
编辑菜单编辑菜单
第三章
Undo
撤消前次的编辑动作
Redo
取消前次的撤消动作
Cut
将选定的行从文件中移除并且把它存放到剪贴板(clipboard
Copy
将选定的行复制到剪贴板
Paste
将剪贴板中的数据贴到当前的嵌入点
Delete
删除选定的数据
Find
在编辑窗口中寻找特定字符
Replace
将编辑窗口中指定的字符用特定字符取代
第三章 菜单
第三章第三章
菜单 −−− 文件
菜单菜单
文件/编辑
编辑/视图
文件文件
编辑编辑
视图/工具
工具/选项
视图视图
工具工具
选项
选项选项
19
视图菜单
视图菜单
视图菜单视图菜单
HT-IDE3000 使用手册
视图菜单提供下列命令控制 HT-IDE3000 的窗口(参考图 3-6)
Line
移动光标到文件的指定行处(由行号指定)
Cycle Count
累计指令的执行周期数。按下复位钮可清除计数周期,使用基数钮可改变 计数的基数为十六进制或十进制,最大计数周期为 65535
Toolbar
此命令可将工具栏的信息显示在窗口上或从窗口上取消,其中包含一些按 钮群组,它的命令功能与每个对应的菜单项目相同。当鼠标光标放置在工 具栏按钮上时,相对应的功能名称将显示在按钮之旁,若按下鼠标按钮则 开 始 执 行 此 命 令 , 每一 个 按 钮 的 功 能 请 参 考 相 对 应 的 章 节 。 Toggle Breakpoint 按钮可将光标所在位置的行设为断点(高亮标示),再次按这个 钮则取消已经设定的断点。
Status Bar
打勾表示在窗口上显示状态栏信息。
使用手册
使用手册使用手册
20
图图图图 3-6
工具菜单
工具菜单
工具菜单工具菜单
第三章
工具菜单提供特别的命令帮助使用者程序除错,这些命令为 Mask Option
Diagnose、HandyWriter、Library Manager、Voice tools、LCD Simulator virtual peripheral manager
第三章 菜单
第三章第三章
菜单 −−− 文件
菜单菜单
图图图图 3-7
文件/编辑
编辑/视图
文件文件
编辑编辑
视图/工具
工具/选项
视图视图
工具工具
选项
选项选项
Mask Option
在建立一个新项目时(请参考第四章),系统会根据使用者所选定的单片机以及 外围配置,生成一个掩膜选项文件。在使用 Project 菜单的 Build 命令编译此项 目的过程中,系统需要此掩膜选项文件以便生成执行文件。在项目建立后,可 以使用 Mask Option 命令去修改单片机的掩膜选项,之后必须重新使用 Build 命令编译项目,否则修改无效。
→→→→ 选择
选择时钟源
时钟源
选择选择
时钟源时钟源
当建立一个新项目或是修改掩膜选项文件时,必须要设定 HT-ICE 所使用的时 钟源。HT-ICE 提供内部及外部两种时钟源,若是选用外部的时钟源则 I/O 接 口卡上的跳针 JP1 必须被跨接在正确的位置。
若使用晶体振荡模式,则需要将晶体振荡器插到 I/O 接口卡的 X1 位置,同
时将 I/O 接口卡上跳针 JP1 的位置 2 3 短路。
若使用 RC 模式,则通过 VR1 调整系统频率,同时将 I/O 接口卡上跳针 JP1
的位置 12 短路。
21
HT-IDE3000 使用手册
→→→→ 内部时钟源
内部时钟源
内部时钟源内部时钟源
使用手册
使用手册使用手册
如果使用内部的时钟源,则必须指定 HT-ICE 的系统频率。HT-IDE3000 软件系 统将会估算一个 HT-ICE 能够支持而且最近似于所指定的系统频率值。当估算 频率不等于指定的频率时,将会显示警告信息以及指定的频率值与估算的频率 值。客户必须确认要使用估算的频率或指定另一个系统频率,否则就只有使用 外部的时钟源。无论选用何种时钟源,必须要指定系统频率。
Diagnose
诊断命令将验证 9 个项目,目的是帮助使用者检查 HT-ICE 是否可以正常工作 (图 3-8)。可以选择验证数个项目然后按下 Test 键,也可按下 Test All 键去诊 断所有项目。这些项目如下所列。
MCU resource option space
诊断 HT-ICE 的单片机掩膜选项空间
Code space
诊断 HT-ICE 的程序代码存储器
Trace space
诊断 HT-ICE 的跟踪存储器
Data space
诊断 HT-ICE 的程序数据存储器
System space
诊断 HT-ICE 的系统数据存储器
I/O EV 0
诊断 HT-ICE 在插槽 0 的 I/O 仿真模块
I/O EV 1
诊断 HT-ICE 在插槽 1 的 I/O 仿真模块
I/O EV 2
诊断 HT-ICE 在插槽 2 的 I/O 仿真模块
I/O EV 3
诊断 HT-ICE 在插槽 3 的 I/O 仿真模块
22
第三章
Writer
在工具菜单下的烧录命令可以控制 HT-ICE 自带的 OTP/MTP 烧录功能。在烧 录命令下的子命令 Handywriter 可以用来烧录所有的 Holtek OTP 类型的 MCU,子命令 HT-MTPWriter 可以用来烧录所有的Holtek MTP 类型的MCU 然而,这个烧录命令不能应用于其他外部静态烧写器,例如 HT-Writer。请访 问我们的网站以获得相关信息。
第三章 菜单
第三章第三章
菜单 −−− 文件
菜单菜单
图图图图 3-8
文件/编辑
编辑/视图
文件文件
编辑编辑
视图/工具
工具/选项
视图视图
工具工具
选项
选项选项
Library Manager
在图 3-9 Library Manager 命令支持函数库功能。经常使用的程序代码可以编 译成函数文件,然后通过 Option 菜单中的 Project 命令把它引用到应用程序内 (请参考 Options 菜单中的 Project 命令的 Cross Linker 选项)。Library Manager 的功能如下:
建立新的函数库文件或修改函数库文件。
将程序模块加到函数库文件或从函数库文件删除程序模块。
从函数库文件中取出程序模块然后建立一个目标文件。
有关 Library Manager 更详细的资料,会在第三部份说明。
23
HT-IDE3000 使用手册
使用手册
使用手册使用手册
Voice/VROM Editor
对于特别指定的单片机(例如 HT86 系列),此命令提供 VROM 编辑器,让使 用者可安排语音码。
Voice/Download
此命令下载后缀名为.VOC 的语音文件内容到 HT-ICE 做硬件仿真,也可以从 HT-ICE VROM 上传储存数据到指定的.VOC 文档。图 3-10 的对话框显示由 VROM 编辑器所生成的下载语音文件.VOC 的文件名,文件名下方的方框会显
示项目中单片机的语音数据所需要的存储器大小(单位 Bytes)。当上传时,可 以指定不同于项目名称的文件名来储存 HT-ICE 中语音存储器的内容。在下载 语音文件之前,必须确定语音 ROM 文件.VOC 已通过 VROM 编辑器生成。
24
图图图图 3-9
第三章
第三章 菜单
第三章第三章
菜单 −−− 文件
菜单菜单
图图图图 3-10
文件/编辑
编辑/视图
文件文件
编辑编辑
视图/工具
工具/选项
视图视图
工具工具
选项
选项选项
LCD Simulator
LCD 软件仿真器,简称 HT-LCDS,提供 LCD 驱动的软件仿真。根据设计好 的图形和控制程序,HT-LCDS 能够实时将图形显示在显示器上。有关 LCD simulator 更详细的资料,会在第三部份加以说明。
Virtual Peripheral Manager
Virtual Peripheral ManagerVPM ) 提供外 围 器件的 软 件仿 真 ,它 必 须 在 HT-IDE3000 处于软件仿真模式下才能使用。
Data EEPROM Editor
某些盛群的 MCU HT48E 系列内部含有 Data EEPROMData EEPROM 编辑 器提供一个界面可让使用者来编辑资料,并可以从 HT-ICE 上传或者下载资料。
25
图图图图 3-11
选项菜单
选项菜单
选项菜单选项菜单
注意
注意: 在执行 Build 命令之前,要先确认项目选项的设定正确。
注意注意
HT-IDE3000 使用手册
选项菜单(图 3-12)提供下列命令,可对其它菜单与命令设定工作参数。
使用手册
使用手册使用手册
Project Command
Project 命令设定 Project 菜单中 Build 命令的默认参数值。在程序开发期间,项 目选项依据应用程序的需求而改变。HT-IDE3000 在执行 Project 菜单中的 Build 命令时,将根据这些选项的设定生成对应的任务文件及内容。对话框(图 3-13) 用来设定 Project 的选项。
26
图图图图 3-12
图图图图 3-13
第三章
Micro Controller
项目中的单片机名称。使用滚动条浏览可使用的单片机,并选择合适的单 片机。
Enter free run mode(debug options disabledafter build
选中此对话框将会命令 HT-IDE3000 编译出自动执行模式的项目执行文件。 自动执行模式的项目执行文件只能执行程序,所有除错功能都无法运作。
Language Tool Option(编译器选项)
盛群允许其他的合作厂商为其 MCU 提供 C 编译器。目前你也可以选用 Hi-Tech 所提供的另一种选择。
Assembler/Compiler Options
编译器的命令行选项。Define Symbol 栏允许使用者对指定的符号定义数值, 而所指定的符号则在编译过程中使用。语法如下:
symbol1[=value1] [,symbol2 [=value2] [,...]]
例如:
debugflag=1, newver=3
另外,可选中生成列表文件(Generate listing file)检查框以便生成源程序列表 文件。
Cross Linker options
指定连接器的选项。Libraries 文字框用来指定被连接器所参考使用的函数库 文件。例如:
libfile1, libfile2
第三章 菜单
第三章第三章
菜单 −−− 文件
菜单菜单
文件/编辑
编辑/视图
文件文件
编辑编辑
视图/工具
工具/选项
视图视图
工具工具
选项
选项选项
也可以按下 Browse 键来浏览及选择函数库文件。 另外,程序段地址(Section address)输入框则是用来设定程序段的 ROM/RAM 地址。例如:
codesec=100, datasec=40
最后一行的映射文件检查框(Generate map file)则是命令连接器生成项目的 程序映射文件。
Debug Command
此命令设定供 Debug 菜单使用的选项功能(第五章 HT-IDE3000 菜单-除错)。 对话框(图 3-14)列出附带有检查框的除错选项,当完成选项的选择并按下 OK 钮之后,除错过程中 Debug 菜单及命令就根据这些选项执行对应的动作。
27
HT-IDE3000 使用手册
图图图图 3-14
Trace Record Fields
使用手册
使用手册使用手册
此字段中的各选项将会影响程序跟踪(trace)时所记录的数据是否要显示在 窗口内。在执行 Window 菜单的 Trace List 命令时,这些选项会指示哪些跟 踪数据需要显示出来。对于每个源程序文件内的指令,信息的显示顺序将 和对话框项目的排列秩序一致,从上往下。如果其中的项目没有被选取, 则下一个被选取的项目的数据将往前移。跟踪列表的默认数据只会显示文 件名称和各行的行号。program counter 是指令的存储器地址,machine code 是指令的机器代码,de-assembled instruction 是从机器代码直接反译回来的 指令,而 source line 是源程序文件的指令行。
如果是只读动作的指令,execution data 显示的是读取的数据,然而若是只 写或读写动作的指令,则显示被写入的数据。fileline number 是要显示源 程序文件名与指令行的行号。external signal status 则是选择是否要显示外部 输入的信号。当选择软件仿真模式时,external signal status 无效。
Auto Stepping Command
此选项可以选择自动调用程序的执行步骤,即 Step Into Step Over。只能 选择其中之一。
28
第三章
Connection Port
选择 HT-ICE 连接口。个人计算机的任何一个并行端口 LPT1LPT2 或 LPT3 都可被选取与 HT-ICE 连接。如果选择软件仿真模式,则连接口无用。
Mode
选择 HT-IDE3000 的工作模式为软件仿真或硬件仿真模式。如果 HT-ICE 被 连接到个人计算机且电源已打开,则 HT-IDE3000 可以选择软件仿真或是硬 件仿真模式。
Detect Stack Overflow
如果你不需要系统在发现堆栈溢出时显示警告信息,请不要勾选此对话框。
第三章 菜单
第三章第三章
菜单 −−− 文件
菜单菜单
文件/编辑
编辑/视图
文件文件
编辑编辑
视图/工具
工具/选项
视图视图
工具工具
选项
选项选项
Directories Command
这个命令用来设定查找执行文件或储存输出文件的默认路径及文件夹(图 3-15)。
Executable files path
HT-IDE3000 会从此处所设定的路径或文件夹去查找将要被执行的文件。
Include files path
编译器会从此处设定的路径或文件夹查找包含文件。
Library files path
连接器会从此处设定的路径或文件夹查找函数库文件。
Output files path
储存编译器的输出文件(.obj.list)和连接器的输出文件(.tsk.map,.dbg) 所使用的路径。
29
图图图图 3-15
HT-IDE3000 使用手册
使用手册
使用手册使用手册
Editor Command
这个命令会设定编辑器选项,如 TAB 键的大小和 Undo 的有效次数。Save Before Assemble 选项是要在编译前预先储存文件。Maximum Undo Count 是可以连续
执行恢复动作的最大次数。
图图图图 3-16
Color Command
这个命令可以设定指定行的前景和背景颜色。在图 3-17 左边的选项中,Text Selection 用在 Edit 菜单,Current Line,Breakpoint Line,Trace Line Stack Line 用在 Debug 菜单,而 Error Line 则是针对编译器的输出。
Font Command
这个命令可以改变显示的字型。
30
图图图图 3-17
第四章
4
第四章
第四章
第四章第四章
菜单
菜单 −− 项目
菜单菜单
项目
项目项目
HT-IDE3000 提供项目范例帮助第一次使用者快速地熟悉项目开发流程,从 HT-IDE3000 系统的观点来看,一个工作单元是由包含应用程序的项目所描述。
当首次开发一个 HT-IDE3000 的应用程序时,应遵循先前所建议的开发步骤进 行。
第四章 菜单
第四章第四章
菜单 −−− 项目
菜单菜单
项目
项目项目
建立新项目
建立新项目
建立新项目建立新项目
Project 菜单(图 4-1)中选择 New 命令,建立一个新项目,此命令会要求 使用者输入或选择两项信息,即 Project Name Micro Controller(图 4-2)。使 用者可以按下浏览(Browse)键,选取期望的路径,新建项目或覆盖原有项目。
31
图图图图 4-1
HT-IDE3000 使用手册
另外再选择此项目使用的单片机型号。
注意
注意: 项目名称的后缀名为.PRJ
注意注意
使用手册
使用手册使用手册
打开和关闭项目
打开和关闭项目
打开和关闭项目打开和关闭项目
任何时候 HT-IDE3000 只能执行一个项目,就是已经打开的项目。如果要使项 目开始工作,则首先要使用 Project 菜单的 Open 命令打开此项目(图 4-1),可 直接输入项目名称,或浏览文件夹选择项目名称。Close 命令将关闭当前使用 的项目。
注意
注意: 当打开一个项目时,则当前已打开的项目会自动地关闭。
注意注意
在开发过程中,亦即在编辑、设定选项及除错的阶段时,必须确定项目在打开的状态。可
以从显示在 HT-IDE3000 窗口上方的打开项目名称得知。如果项目不在打开状态下,则结果
是不可预测的。
当结束 HT-IDE3000 的执行回到一般窗口时,如果没有关闭已打开的项目,则系统会将此项
目的数据保存起来,在下次执行 HT-IDE3000 时,系统会自动去打开此项目。
32
图图图图 4-2
第 四 章
管理项目的源文件
管理项目的源文件
管理项目的源文件管理项目的源文件
项目中必须要有源程序文件,使用 Project 菜单的 Edit 命令可以将源程序文件 加到项目中,也可从项目中将源程序文件删除。列表框中源程序文件由上而下 的顺序就是送入连接器的文件的顺序,连接器会根据列表框中文件的顺序去处 理这些输入文件。可以使用[Move Up]与[Move Down]按钮重新调整文件的排列 顺序。图 4-3 Project 菜单中 Edit 命令的对话框。
第 四 章 菜 单
第 四 章第 四 章
菜 单 −−− 项 目
菜 单菜 单
项 目
项 目项 目
将源程序文
将源程序文件加到项目中
将源程序文将源程序文
Edit Project 对话框中的 File name 文字框中输入源程序文件的文件名。
另外一种方法是选择源文件的文件类型 Files of type,再去浏览文件列表。
通过浏览 Drives 和 Directories 的方式(从 Look in 浏览框中选取),选定源
从文件名称(File name)项目上方的列表框中选取源程序文件名称。
双击所选取的文件名称或是按下[Add]钮,将源程序文件加到项目中。
当所选取的源程序文件被加入到项目后,文件的名称会显示在项目中的文件列 表框上(Files in Project)
33
件加到项目中
件加到项目中件加到项目中
程序文件所在的驱动器和路径。
图图图图 4-3
HT-IDE3000 使用手册
从项目中删除源程序文件
从项目中删除源程序文件
从项目中删除源程序文件从项目中删除源程序文件
Files in Project 列表框中选择欲删除的文件。
按下 Delete 钮。
注意
注意: 从项目中删除源程序文件并不会真正将文件删除,只是将文件数据从项目中移除。
注意注意
向上或向下移动源程序文件的位置
向上或向下移动源程序文件的位置
向上或向下移动源程序文件的位置向上或向下移动源程序文件的位置
Files in Project 列表框中,将光标移到指定的文件处,并按下鼠标左钮。
再按下[Move Up]钮或[Move Down]钮,将指定的文件往上移或往下移动位
置。
建立项目的任务文件
建立项目的任务文件
建立项目的任务文件建立项目的任务文件
编译新的项目之前,应确定下列工作已完成:
项目已经打开
已完成项目选项的设定
已经将源程序文件加到项目中
已选定项目所使用的单片机(参考 Tools 菜单章节)
有两个编译项目文件的命令,分别为 Build 命令和 Rebuild All 命令。
使用手册
使用手册使用手册
Build 命令会执行下列的工作:
根据程序文件的后缀名.asm .c 分别调用汇编编译器或 C 编译器去编译项
目中所有的源程序文件
将汇编编译器或 C 编译器生成的目标文件连接,并生成任务文件和除错文
如果 HT-ICE 的电源已打开,并且与个人计算机相连,则下载任务文件至
HT-ICE
将开始执行点的源程序显示在工作窗口上(HT-IDE3000 硬件仿真须参考源
文件、任务文件和除错文件)
注意
注意: Build 命令会根据相关文件建立的日期与时间决定上述那些步骤会被执行或不被执行。规则
注意注意
如下:
若源程序文件的生成日期/时间晚于它的目标文件的生成日期及时间,则 Build 命令会调
用汇编编译器或 C 编译器去编译源程序文件并生成新的目标文件。
若有一个目标文件的生成日期/时间晚于任务文件的生成时间,则 Build 命令会调用连接
器将所有目标文件连接起来并生成新的任务文件。
34
第 四 章
无论上述的步骤是否都被执行,Build 命令会自动将任务文件的内容下载到 HT-ICE
Rebuild All 命令与 Build 命令执行的工作相同,其差异在于 Rebuild All 会立即 执行工作,而不会先比较所有文件的生成日期/时间。
Build Rebuild 命令执行结果的信息会显示在 Output 窗口。在处理过程中如
果发生错误,其后的步骤会被忽略,不会生成任务文件及下载任务文件。
建立项目的任务文件
建立项目的任务文件
建立项目的任务文件建立项目的任务文件
按下 Project 菜单中的 Open 命令,打开项目。
按下 Project 菜单中的 Build 命令或工具栏中的 Build 键(图 4-1),开始编
译这个项目。
重建项目的任务文件
重建项目的任务文件
重建项目的任务文件重建项目的任务文件
按下 Project 菜单中的 Open 命令,打开项目。
按下 Project 菜单中的 Rebuild All 命令或工具栏中的 Rebuild All 键(图 4-1),
开始编译这个项目。
一旦编译好项目的任务文件,就可以开始进行应用程序的仿真和除错(参考 HT-IDE3000 菜单-除错章节)。
第 四 章 菜 单
第 四 章第 四 章
菜 单 −−− 项 目
菜 单菜 单
项 目
项 目项 目
编译
编译
编译编译
可以先用此命令去编译源程序以及在 Output 窗口上显示其结果的方式,来验 证应用程序的正确与否。
编译程序
编译程序
编译程序编译程序
使用 File 菜单 Open 命令打开源程序文件以进行编译
选用 Project 菜单的 Assemble/Compile 命令或按下工具栏的 Assemble 键去
编译程序文件 假如已打开文件的后缀名为.asm,则系统会调用汇编编译器执行编译工作。如 果已打开文件的后缀名为.c,则系统会调用 C 编译器去编译程序。
35
HT-IDE3000 使用手册
如果没有发生错误,则会生成后缀名为.OBJ 的目标文件,并且储存在 Output Files Path 所指定的目录内(参考 Options 菜单中的 Directories 命令)。如果发
生错误,则在 Output 窗口上显示错误信息,可使用下列的方式将错误行所在 的源程序文件打开并使光标停留在错误行。
双击鼠标左键或
将光标移到 Output 窗口内的错误信息行,按下<Enter>
Print Option Table Command
此命令会将当前使用中的掩膜选项文件的内容送到指定的打印机上进行打印, 可以选用不同的打印机去打印。建议不要使用连接至 HT-ICE 的打印机端口。
假如打印机和 HT-ICE 使用相同的打印机端口,则发出此命令时会造成除错信 息与相关数据的丢失。在打印工作结束后,假如应用程序仍需做硬件仿真与除 错,则使用者应回到开发过程的开始处,再使用 Project 菜单中的 Build 指令做 下载动作。
Generate Demo File (.DMO) Command
此命 令 将会生成一个 可 供 HT-DEMO 使用的.dmo 文件,使用者 只需携带 HT-DEMO .dmo 文件,在未安装或未执行 HT-IDE3000 的计算机上执行项目
的程序。
使用手册
使用手册使用手册
36
第五章
5
第五章
第五章
第五章第五章
菜单
菜单 −− 除错
菜单菜单
除错
除错除错
在程序开发的过程中,重复的修正和测试源程序是不可避免的。HT-IDE3000 提供许多工具,不仅让除错工作更加容易,而且也减少开发时间。这些功能包 含了单步执行、符号断点、自动单步执行、跟踪触发条件等。
当应用程序成功建立之后(参考前一章中建立项目的任务文件),在工作窗口 (图 5-1)中的源程序代码,被高亮标示的程序行,将是第一个被执行的程序 行。之后,系统准备接受及执行使用者所下的除错命令。
第五章 菜单
第五章第五章
菜单 −−− 除错
菜单菜单
除错
除错除错
图图图图 5-1
37
HT-IDE3000 使用手册
复位
复位 HT-IDE3000 系统
复位复位
HT-IDE3000 系统提供四种复位方法:
电源复位(Power-on resetPOR)通过将电源变压器接到 HT-ICE 或按下
HT-ICE 上的复位钮。
来自应用电路板的复位信号。
来自 HT-IDE3000 Debug 菜单(图 5-2)的软件复位 Reset 命令。
来自 HT-IDE3000 Debug 菜单(图 5-2)的软件电源复位 Power-on Reset
命令。
系统
系统系统
使用手册
使用手册使用手册
38
图图图图 5-2
第五章
第五章 菜单
第五章第五章
5-1 列出上述四种复位的影响。
Reset Item
Clear Registers
Clear Options Clear PDTO
PC Value
Emulation Stop
Check Stand-Alone
注意
注意: (*):寄存器在不同复位下所受的影响,请参考各单片机的规格书。
注意注意
(**)PC 值为 0,同时停止硬件仿真。
(***):假如复位来自于应用电路板,则系统会在复位完成后自动开始硬件的仿真。
PC-程序计数器
PD-暂停标志位
TO-WDT 溢出标志位
Power-On
Reset
(*) (*) (*) (*)
Yes No No No
Yes No No Yes
(**) 0 0 0
(**) No(***) Yes Yes
Yes No No No
Target Board
Reset
表表表表 5-1
Software
Reset
Command
菜单 −−− 除错
菜单菜单
Reset Command
除错
除错除错
Software
Power-On
从从从从 HT-IDE3000 复位
复位
复位复位
选按 Debug 菜单的 Reset 命令或按下工具栏的 Reset 钮去执行软件复位。
选按 Debug 菜单的 Power-on Reset 命令或按下工具栏的 Power-On Reset
去执行复位。
从应用电路板复位
从应用电路板复位
从应用电路板复位从应用电路板复位
利用 DIN 连接器上的µ_RES 引脚(pin 03-C)在应用电路板上设计单片机的复 位钮,这个复位后的结果列在表 5-1 中。
39
HT-IDE3000 使用手册
应用程序的硬件仿真
应用程序的硬件仿真
应用程序的硬件仿真应用程序的硬件仿真
在应用程序撰写完成后,需要使用 Build Rebuild 命令建立项目的工作文件 以及将程序下载到 HT-ICE。如果此命令执行完毕,没有发生错误,则在工作 窗口(图 5-1)中高亮标示源程序中最先被执行的程序行。此时,可以使用 HT-IDE3000 的除错命令开始进行应用程序的仿真。
注意
注意: 在应用程序的硬件仿真期间,对应的项目必须已经被打开。
注意注意
硬件仿真应用程序
硬件仿真应用程序
硬件仿真应用程序硬件仿真应用程序
选用 Debug 菜单的 Go 命令
或按下快捷键 F5
或按下工具栏的 Go 按钮 在硬件仿真期间可以启动其它的窗口。如果断点条件符合的话,HT-IDE3000 系统将会自动停止仿真,否则它会继续执行直到应用程序结束为止。当 HT-ICE 在硬件仿真时,工具栏的 Stop 钮会呈现红色,代表此时 Stop 钮是有效的。如 按下 Stop 钮则仿真会立刻停止。Stop 钮在仿真停止状态下会呈现灰色,代表 此时 Stop 钮是无效的。
使用手册
使用手册使用手册
停止硬件仿真应用程序
停止硬件仿真应用程序
停止硬件仿真应用程序停止硬件仿真应用程序
共有三种停止硬件仿真的方法,如下所示:
开始硬件仿真之前先设定断点。
选用 Debug 菜单的 Stop 命令或按下快捷键 Alt+F5
按下工具栏的 Stop 钮。
执行应用程序到指定的程序行
执行应用程序到指定的程序行
执行应用程序到指定的程序行执行应用程序到指定的程序行
在进行程序的除错过程中,可以命令仿真动作停在指定的程序行。下列的方法 提供此种功能。除了条件跳行指令之外,从当前停在的程序行到指定程序行之 间所有的指令都会被执行。由于条件跳行或其它情况,程序执行的结果也许不 会停留在指定的程序行。
移动光标到停止的程序行(高亮标示此行)。
选择 Debug 菜单的 Go to Cursor 命令
或按下快捷键 F7
或按下工具栏的 Go to Cursor
40
单步执行
单步执行
单步执行单步执行
第五章
直接跳跃到应用程序中的某一行
直接跳跃到应用程序中的某一行
直接跳跃到应用程序中的某一行直接跳跃到应用程序中的某一行
如果从当前停留的程序行到指定程序行之间所有的指令,其执行结果不影响除 错效能,则可以直接跳跃至某一程序行。除了程序计数器之外,此命令不会改 变数据存储器、寄存器和状态寄存器的内容,指定的程序行就是下一条要被执 行的指令。
移动光标至要跳跃到的程序行或高亮标示此行。
选用 Debug 菜单的 Jump to Cursor 命令。
以上章节所描述的除错命令是查看与侦错数个程序行执行的结果,如果想要执 行一行程序之后就去查看其结果,则需要使用单步执行命令。HT-IDE3000 提 供两种单步执行模式,手动模式与自动模式。
手动模式下,使用者每发出一个单步执行命令,HT-IDE3000 只会执行一次单 步执行命令。但是在自动模式下,HT-IDE3000 则会重复执行单步执行命令直 到用 Debug 菜单的 Stop 命令让硬件仿真停止。在自动模式下,所有设定的断 点都无效,而单步执行的速率可以被设定为 FAST0.51、2、3、4 和 5 秒。 总共有三个单步执行命令,分别为 Step Into、Step Over 和 Step Out。
Step Into 命令一次只执行一条指令就停止,但是如果所执行的指令是 CALL
程序指令时,则会进入此子程序并且停在子程序中的第一条指令处。
Step Over 命令一次只执行一条指令就停止,但是如果所执行的指令是
CALL 程序指令时,则不会进入子程序,而是停留在 CALL 指令后的下一
条指令处,此子程序中所有的指令会被执行,而且寄存器与状态寄存器的
内容也根据执行的结果做改变。
Step out 命令只能在仿真停在子程序之内时被使用,它会执行当前停在的程
序行和 RET 指令(包括 RET 指令)之间所有的指令,然后停留在 CALL
指令后的下一条指令处。
第五章 菜单
第五章第五章
菜单 −−− 除错
菜单菜单
除错
除错除错
注意
注意: Step out 命令只能被使用在当前的停止点在子程序内的情况下,否则会发生无法预期的结
注意注意
果。
如果要使用自动模式,则需要先使用 Options 菜单的 Debug 命令去设定自动模 式的单步执行命令,即 Step Into 或是 Step Over
41
HT-IDE3000 使用手册
启动单步执行的自动模式
Debug 菜单中选择 Stepping 命令,也选择单步执行的速度 Stepping Speed
(使用 Options 菜单的 Debug 命令去选择单步执行命令: Step Into 或 Step
Over
结束单步执行的自动模式
Debug 菜单中选择 Stop 命令
改变自动模式下的单步执行命令
Options 菜单中选择 Debug 命令
Stepping 命令框中选择 Step Into Step Over 命令
启动 Step Into 命令
Debug 菜单中选择 Step Into 命令
或按下快捷键 F8
或按下工具栏的 Step Into
启动 Step Over 命令
Debug 菜单中选择 Step Over 命令
或按下快捷键 F10
或按下工具栏的 Step Over
启动 Step Out 命令
Debug 菜单中选择 Step Out 命令
或按下快捷键 Shift + F7
或按下工具栏的 Step Out
使用手册
使用手册使用手册
42
断点
断点
断点断点
第五章
HT-IDE3000 提供一个有力的断点功能,可接受多种形式的条件,包括程序地 址、源程序行号及符号中断等。
断点特性
断点特性
断点特性断点特性
HT-IDE3000 断点功能的主要特性如下:
任何时刻,最多有 3 个具有相同优先级的断点同时有效。
任何断点被设定之后,它会被记录在断点列表框(Breakpoints)内,然而此
断点或许不会立即有效,但是只要它不被删除(即仍然在断点列表框内),
稍后可将它再设为有效。
任何时刻,断点列表框中最多可加入 20 个断点。如果要加入第 21 个,则
必须从原先的 20 个断点中至少删除一个。
允许使用二进制形式(含 don’t care)的地址与数据断点。
当指令行被设定为有效的断点时,HT-ICE 会停在这个指令行但是不会执行
此指令,即这条指令将是下条被执行的指令。虽然指令行被设定为有效的
断点,但由于执行流程或条件跳转的缘故,HT-ICE 可能不会停留在这个指
令行。如果有效的断点是在 Data Space(RAM),符合断点数据的指令将会
被执行,且 HT-ICE 会停在下一个指令行。
第五章 菜单
第五章第五章
菜单 −−− 除错
菜单菜单
除错
除错除错
断点项目的说明
断点项目的说明
断点项目的说明断点项目的说明
下面说明断点的描述项目及内容,如图 5-3 所示,并非所有的项目都需要设定:
Space
断点的位置空间,可以设定为程序代码空间或数据空间。
Location
断点的确切位置。下一节会说明位置的格式。
Content
断点的数据内容。此项目只有当位置空间被设为数据空间时才有效,同时
需要使用 Read Write 检查框设定数据的存取类型作为中断的执行条件。
43
HT-IDE3000 使用手册
→→→→ 描述项目的格式
描述项目的格式————位置
描述项目的格式描述项目的格式
位置项目的格式如下:
共有四种形式的绝对地址(在程序代码空间或数据空间),称为:十进制、
十六进制(字尾为“H”或“h”)、二进制及全部符合的二进制位(don’t-care
bits),例如:
表示十进制的 20、十六进制的 14h、二进制的 00010100b 及都符合的位 4
5
注意
注意: Don’t-care bits 必须是二进制的形式。
注意注意
具有或没有源文件名称的行号,格式如下:
[source_file_name!].line_number
这里的 source_file_name 是源文件的名称,可有或没有。如果没有文
件名,则会以当前工作中的文件为准。如果指定了源文件名,则必须在文
件名之后加上惊叹号“!”,而句点“.”必须放在行号之前,格式为十进制。
例如:
C:\HIDE\USER\GE.ASM!.42
位置
位置位置
20, 14h , 00010100b , 10xx0011
使用手册
使用手册使用手册
将断点设定在 C 盘文件夹\HIDE\USER 内,文件名为 GE.ASM 的第 42 行。
例如:
.48
将断点设在当前工作中的文件的第 48 行。
具有或没有源文件名称的程序符号,格式如下:
[source_file_name!].symbol_name
除了将 line_number 换为 symbol_name 外,其格式及内容与上述的行号位置
格式相同。下列的程序符号都可被接受:
Label name 标号名
Section name 程序段的名称
Procedure name 子程序的名称
Dynamic data symbols defined in data section 数据段中所定义的数据变量
44
第五章
→→→→ 描述项目的格式
描述项目的格式 −−− 内容和外部信号
描述项目的格式描述项目的格式
内容和外部信号的格式用四个数字表示,类似于位置项目的格式。这四种
数字格式分别为十进制、十六进制(字尾为“H”或“h”)、二进制及全部
符合的二进制位(don’t-care bits)。
→→→→ 断点列表框的格式
断点列表框的格式
断点列表框的格式断点列表框的格式 断点列表框包含所有已加入的断点,包括有效及无效的断点。Add 钮可用于增 加新的断点到列表框,Delete 钮则是从列表框中移除断点。每个断点在列表框 中的格式如下:
<status> {<space and read/write>, <location>, <data content>, <external signal>}
这里的<status>是有效状态,“+”表示有效(使能)而“-”表示无效(除能), <space and read/write>是空间形式及操作模式,“C”是程序代码存储器空间,
D/R”是从数据存储器空间读取,“D/W”是写入数据存储器空间,“D/RW” 是读取与写入数据存储器空间。
<location><data content><external signal>分别与输入格式相同。
如何设定断点
如何设定断点
如何设定断点如何设定断点
有两种方法设置/使能断点,一种是使用 Debug 菜单的 Breakpoint 命令;另外 一种是使用工具栏的 Toggle Breakpoint 钮。断点的规则如下:
如果断点没有被加到断点列表框(图 5-3),则要先设定各描述项目,然后
再加入断点列表框。
只要断点存在于列表框中,即使先前此断点是无效的,也可以通过使能断
点设为有效状态。
最后必须按下 OK 钮以确认设定,否则所有的更改都无效。
如果要用工具栏的 Toggle Breakpoint 钮去设定断点,则应先将光标移到断
点所在的程序行,再按下 Toggle Breakpoint 钮,此时这个断点就被设为有 效。如果要将有效的断点改变为无效的断点,则可再按下 Toggle Breakpoint 钮去改变。
内容和外部信号
内容和外部信号内容和外部信号
第五章 菜单
第五章第五章
菜单 −−− 除错
菜单菜单
除错
除错除错
45
HT-IDE3000 使用手册
→→→→ 增加断点
增加断点
增加断点增加断点
Debug 菜单中选择 Breakpoint 命令(或按下快捷键 Ctrl+B),断点对话框
会出现在窗口中(图 5-3)。
设定断点的各描述项目
设定 Space,Location 项目。 如果 Space 是数据存储器空间,则需要设定 Content 项目和 Read/Write 检查 框。 如有需要,则要设定 External Signals。
按下 Add 钮将此断点加到断点列表框。
按下 OK 钮确认设定。
注意
注意: 假如有效断点的总数小于 3 个,则新加入的断点将会自动生效。
注意注意
假如断点列表框已有 20 个断点,则 Add 钮将会无效而不能再加入断点。
使用手册
使用手册使用手册
→→→→ 删除一个断点
删除一个断点
删除一个断点删除一个断点
Debug 菜单中选择 Breakpoint 命令或按下快捷键 Ctrl+B,断点对话框会
出现在窗口中(图 5-3)。
从断点列表框中选择即高亮标示要被删除的断点。
按下 Delete 钮则会将此断点从断点列表框中删除。
按下 OK 钮确认设定。
46
图图图图 5-3
第五章
→→→→ 删除所有断点
删除所有断点
删除所有断点删除所有断点
Debug 菜单中选择 Breakpoint 命令或按下快捷键 Ctrl+B,断点对话框会
出现在窗口中(图 5-3)。
从断点列表框中选择 Clear All 钮以删除所有的断点。
按下 OK 钮确认设定。
也可以按下工具栏的 Clear All Breakpoint 钮去完成这项工作。
→→→→ 设定一个断点为有效或无效
设定一个断点为有效或无效
设定一个断点为有效或无效设定一个断点为有效或无效
Debug 菜单中选择 Breakpoint 命令或按下快捷键 Ctrl+B,断点对话框会
出现在窗口中(图 5-3)。
从断点列表框中选择要设定的断点。
按下 Enable(Disable)钮去设定此断点为有效(无效)
按下 OK 钮确认设定。
跟踪应用程序
跟踪应用程序
跟踪应用程序跟踪应用程序
HT-IDE3000 仿真应用程序时,它提供一个有力的跟踪工具,以记录执行过 程与所有相关的信息。此工具还提供跟踪过滤器(qualifier)去过滤需要被跟踪的 指令以及停止跟踪触发器(trigger)以便停止记录跟踪的数据。另外,它提供一 种方法,可以指定在跟踪触发点(trigger point)之前或之后需要储存多少笔的跟 踪记录。
第五章 菜单
第五章第五章
菜单 −−− 除错
菜单菜单
除错
除错除错
注意
注意: 当 HT-IDE3000 开始硬件仿真时(参考应用程序的硬件仿真章节),跟踪功能将会自动地开
注意注意
始记录被执行的指令与相关信息,反过来则不一定可以。
跟踪
跟踪的初步设定
的初步设定
跟踪跟踪
的初步设定的初步设定
使用跟踪的基本要求,是在具有或是没有跟踪过滤条件下,设定跟踪模式(Trace Mode)。 跟踪模式定义程序的跟踪范围,而跟踪过滤条件(qualify)则是定义跟 踪记录的条件。
可使用的跟踪模式有:
Normal
此为预设模式,设定跟踪的范围是全部的应用程序。
Trace Main
除了中断服务程序之外,其它所有的应用程序都属于跟踪的范围。
47
HT-IDE3000 使用手册
Trace INT
使用手册
使用手册使用手册
只有中断服务程序才属于跟踪的范围。
在硬件仿真过程中,跟踪会根据跟踪过滤条件决定哪条指令和何种相关的信息 应该被记录在跟踪存储器内。规则是如果指令的相关信息与状态符合任何一个 有效的跟踪过滤条件,则会记录这条指令。跟踪过滤条件的格式与断点的格式 相同。如果需要将所有执行过的程序指令都记录起来,只要设定为 No Qualify 即可(也就是不要设定跟踪过滤条件),而这也是默认值。
相对于 Trace Mode Qualify 为设定记录的条件,而 Trigger Mode Forward
Rate 则是指定停止跟踪记录的条件。
Trigger Mode 指定跟踪触发点的种类,它也可以用来决定停止跟踪点的位置。 Forward Rate 则是设定跟踪范围的比率,此跟踪范围落在跟踪触发点与停止跟
踪点之间。
可使用的 Trigger Mode 如下:
No Trigger
此为默认值,没有设定停止跟踪的条件。
Trigger at Condition A
触发点设在条件 A
Trigger at Condition B
触发点设在条件 B
Trigger at Condition A or B
触发点设在条件 A 或条件 B 两者之一。
Trigger at Condition B after A
触发点设在条件 B 但是要在条件 A 发生之后。
Trigger when meeting condition A for k times
触发点是当条件 A 符合 k 次时。
Trigger at Condition B after meeting A for k times
触发点是在条件 B 但是要在条件 A 符合 k 次后。
条件 A 和条件 B 设定触发条件,其格式和断点的格式相同。
Loop Count 用来设定条件 A 发生的次数,只有当 Trigger Mode 选用上述最后 两个模式之一时才需要设定此项数字。
48
第五章
第五章 菜单
第五章第五章
菜单 −−− 除错
菜单菜单
除错
除错除错
Forward Rate 用来设定跟踪记录段(trace record)占用跟踪存储器(trace buffer)的 百分比,此段跟踪记录是介于跟踪触发点(trigger point)与停止跟踪点(stop trace point)之间的记录。从另外一个角度来看,可以先行设定跟踪触发点,再根据 想要得到多少的跟踪数据,也就是跟踪触发点之后的数据,去设定 Forward Rate 百分比。跟踪触发点将跟踪存储器分为触发点之前与之后两部分,Forward Rate 设定触发点之后的百分比,以便限制跟踪记录的范围,百分比可设定在 0 100%之间。
注意
注意: 跟踪记录的数据笔数不一定会刚好等于 Forward Rate。例如在跟踪记录尚未达到 Forward
注意注意
Rate 指定的百分比之前,碰到断点而停止仿真或是使用跟踪停止命令(参考停止跟踪的章
节),这些都会停止跟踪记录,因此造成跟踪记录与 Forward Rate 的不一致。
Qualify 列表框记载及显示被 Trace Mode 使用到的跟踪过滤条件。列表框中可 以加入高达 20 个过滤条件并且最多有 6 个过滤条件是同时有效的。可以将过 滤条件设为无效或是把它从列表框中删除。在 Qualify 列表框中的跟踪过滤条 件的格式与 Breakpoints 列表框中断点的格式相同(参考 Breakpoints 中的断点 列表框格式部份)。
停止跟踪
停止跟踪
停止跟踪停止跟踪
有三种方法停止跟踪记录:
如上述,设定触发点(Trigger Mode)和 Forward Rate 百分比
设定断点去停止硬件仿真与跟踪记录
Debug 菜单(图 5-2)发出 Trace Stop 命令去停止跟踪记录
5-4 列出使用跟踪的必要数据,此对话框是执行 Debug 菜单中 Trace 命令的 结果。
跟踪的启动与停止
跟踪的启动与停止
跟踪的启动与停止跟踪的启动与停止
→→→→ 设定跟踪模式
设定跟踪模式
设定跟踪模式设定跟踪模式
从 Debug 菜单选择 Trace 命令
Trace 对话框显示如图 5-4。
Trace Mode 下拉式列表框选择跟踪模式
按下 OK 钮确认
49
HT-IDE3000 使用手册
图图图图 5-4
→→→→ 设定停止
设定停止跟踪的触发模式
设定停止设定停止
Debug 菜单选择 Trace 命令
Trigger Mode 下拉式列表框选择触发模式
按下 OK 钮确认
跟踪的触发模式
跟踪的触发模式跟踪的触发模式
Trace 对话框会显示如图 5-4
使用手册
使用手册使用手册
→→→→ 改变
改变 Forward Rate
改变改变
从 Debug 菜单选择 Trace 命令
Trace 对话框显示如图 5-4。
使用 Forward Rate 滚动条指定所需的百分比
按下 OK 钮确认
→→→→ 设定条件
设定条件 A 或条件
设定条件设定条件
Debug 菜单选择 Trace 命令
或条件 B
或条件或条件
Trace 对话框显示如图 5-4
按下 Condition A Condition B
按下 Set Condition
Set Condition 对话框显示如图 5-5
键入条件 A 或条件 B 的数据
50
第五章
按下 OK 钮,关闭 Set Condition 对话框
按下 OK 钮,关闭 Trace 对话框
图图图图 5-5
→→→→ 加入跟踪的过滤条件
加入跟踪的过滤条件
加入跟踪的过滤条件加入跟踪的过滤条件
从 Debug 菜单选择 Trace 命令
Trace 对话框显示如图 5-4。
按下 Qualify
按下 Set Qualify
Set Qualify 对话框显示如图 5-5
键入过滤条件的数据
按下 OK 钮,关闭 Set Qualify 对话框
按下 Add 钮,将过滤条件加入 Qualify List 框之内
按下 OK 钮,关闭 Trace 对话框
第五章 菜单
第五章第五章
菜单 −−− 除错
菜单菜单
除错
除错除错
→→→→
删除跟踪的过滤条件
除跟踪的过滤条件
除跟踪的过滤条件除跟踪的过滤条件
从 Debug 菜单选择 Trace 命令
Trace 对话框显示如图 5-4。
Qualify List 框中选择要被删除的过滤条件
按下 Delete
按下 OK 钮确认
51
HT-IDE3000 使用手册
→→→→ 删除所有的跟踪过滤条件
删除所有的跟踪过滤条件
删除所有的跟踪过滤条件删除所有的跟踪过滤条件
从 Debug 菜单选择 Trace 命令
Trace 对话框显示如图 5-4。
按下 Clear All
按下 OK 钮确认
注意
注意: 如果没有设定任何跟踪过滤条件,则所有指令将被默认为符合过滤条件。
注意注意
→→→→ 设定跟踪过滤条件为有效或无效
设定跟踪过滤条件为有效或无效
设定跟踪过滤条件为有效或无效设定跟踪过滤条件为有效或无效
从 Debug 菜单选择 Trace 命令
Trace 对话框显示如图 5-4。
Qualify List 框中选择要被设定的过滤条件
按下 EnableDisable)钮
按下 OK 钮确认
注意
注意: 最多可同时设定 6 个跟踪过滤条件为有效。
注意注意
跟踪记录的格式
跟踪记录的格式
跟踪记录的格式跟踪记录的格式
在完成跟踪过滤条件和停止跟踪触发条件的设定之后,则所有符合过滤条件的 指令将被记录在跟踪存储器内。使用 Window 菜单的 Trace List 命令可以查看 跟踪记录数据,帮助程序的除错。当窗口中显示跟踪记录时,除了顺序编号一 定会显示,跟踪记录内其它的数据并不一定都会显示出来,这些字段的显示与 否取决于 Options 菜单中 Debug 命令的设定。在下面的说明标题文字中,用小 括号括起来的文字会出现在 Window 菜单的 Trace List 命令标题上,代表各字 段,例如顺序编号在 Trace 列表框的标题上是以 No. 来代表。图 5-6 和图 5-7 是在不同的 Debug 选项下所显示的跟踪列表的内容。
使用手册
使用手册使用手册
52
图图图图 5-6
第五章
顺序编号(No.)
第五章 菜单
第五章第五章
菜单 −−− 除错
菜单菜单
不论何种停止跟踪触发模式,触发点的顺序编号均为+0,在触发点之前的 跟踪记录使用负数的顺序编号,在触发点之后的跟踪记录则使用正数的顺 序编号。如果跟踪记录中所有的字段(在 Options 菜单中的 Debug Option) 都被圈选,则数据显示的结果如图 5-7。如果选择 No trigger mode 或是还未 执行到触发点,则顺序编号是从-00001 开始往回以每笔跟踪记录减 1 的数 字编列(图 5-6)。
程序计数器(PC
跟踪记录中指令的程序计数器值。
机器代码(CODE)
指令的机器代码。
反编译指令(INSTRUCTION
反编译指令是执行 HT-IDE3000 的反编译程序所得的结果。
执行数据(DAT)
被执行的数据内容(读或写)。
带有行号的源文件名称(FILE-LINE
源文件名称和此指令的行号。
源文件(SOURCE)
源程序语句(包括符号)。
除了顺序编号一定会显示之外,上述中其它的字段均非必须的。
除错
除错除错
注意
注意: 使用 Options 菜单中的 Debug 命令选择跟踪记录的字段。
注意注意
使用 Window 菜单中的 Trace List 命令查看跟踪记录各字段的内容。
53
图图图图 5-7
HT-IDE3000 使用手册
→→→→ 清除跟踪存储器的内容
清除跟踪存储器的内容
清除跟踪存储器的内容清除跟踪存储器的内容 使用 Debug 菜单的 Reset Trace 命令将跟踪存储器的内容清除,之后跟踪信息 将由跟踪存储器的开始端储存起。另外,Reset 命令和 Power-On Reset 命令也 会清除跟踪存储器的内容。
除错器的命令模式
除错器的命令模式
除错器的命令模式除错器的命令模式
除了窗口菜单的除错模式外,HT-IDE3000 另外提供一种称为命令式(Command Mode)的除错模式。在此模式下,除了具有窗口菜单除错模式的功能外,还提 供额外的除错功能。这些增加的功能包括可以将除错的过程储存到记录文件, 以后可以再次自动去执行这些除错命令,以及使用简易的命令语法,而不需重 写整行命令即可执行先前的除错命令。
进入命令模式与离开命令模式
进入命令模式与离开命令模式
进入命令模式与离开命令模式进入命令模式与离开命令模式
→→→→ 进入命令模式
进入命令模式
进入命令模式进入命令模式 从 HT-IDE3000 的 Debug 菜单中选择“Command Mode”命令,就会进入命令 模式。此时会出现一个新的窗口画面,之后就可以在画面中第二行的提示字符 “HT8>”之后,输入命令。(图 5-8
使用手册
使用手册使用手册
→→→→ 命令模式窗口
命令模式窗口
命令模式窗口命令模式窗口
命令模式的标题上会显示当前的项目名称。
在命令行提示符“HT8>”之后,可以输入任何命令。
当输入命令时,此命令的完整语法会显示在底下的状态栏中。
在提示字符串“HT8>xxxx”之后输入完整的命令后,下一行会显示命令执
行的结果。(图 5-9)。 再下一行则会显示提示字符串“HT8>”,以等待另一个命令的输入。
→→→→ 从命令模式离开
从命令模式离开
从命令模式离开从命令模式离开 离开命令模式的方式,可使用一般离开窗口的方法(按下窗口右上角的 x 框), 或是在提示字符串后输入 Q[uit]命令。
命令模式所支持的功能
命令模式所支持的功能
命令模式所支持的功能命令模式所支持的功能
下面的表格列出命令模式所支持的除错命令及其完整的语法。
命令
命令 功能说明
命令命令
执行前一个命令 !dd ; 注释
BP
54
断点命令
功能说明 命令语法
功能说明功能说明
命令语法
命令语法命令语法
BP{-C|-D|-E|-L}[list|*].list=11 12…
第五章
命令
命令 功能说明
命令命令
BP
DB
DR
FA
FB
GO
JP
H
HIS
LF
LP
Q
R
POR
S
TR
W
断点设置 显示程序存储器的内容 显示数据存储器的内容 填入 ASCII 数据 填入字节数据 运行程序到指定的地址处 直接跳跃到指定地址处 帮助 命令的历史记录 载入并执行日志文件 载入项目 退出 复位 上电复位 单步执行(Into/Over/Out) S [-I|-V|-O] default option:“-I” 跟踪列表 打开/撰写/关闭日志文件
功能说明 命令语法
功能说明功能说明
BP S[,RW],Location [,Data][,Ext Sig]
DB[bank.address[,range]]
DR[bank]address[,range]
FA {bank.address|symbol}list.11 12…
FB {bank.address|symbol}list.11 12…
GO [address]
JP address
H
HIS
LF [-V] [LogFileName]
LP ProjectName
Q
R
POR
TR [-L][length]
W {-S|-C}[LogFileName]
第五章 菜单
第五章第五章
菜单 −−− 除错
菜单菜单
命令语法
命令语法命令语法
除错
除错除错
在除错命令语法中,若有大括号,则必须要在大括号中输入参数,否则会发生 错误。其内的参数由|符号分隔。
55
图图图图 5-8
HT-IDE3000 使用手册
PROJECT
→→→→ 断点命令
断点命令
断点命令断点命令 有两种断点命令的格式,它们的命令语法和功能如下:
BP - Breakpoint Clear/Enable/Disable/List
语法:BP [-C | -D | -E | -L] [list |*] 参数-C 是要清除断点。它会删除指定的断点或清除断点列表框内所有的断 点。在列表框中的断点将从 1 20 编号,代表已经设置完毕的断点,可以 一次选择多个断点。例如,三个由空格所分开的号码 1 3 8,是指第 138 个断点将被清除。它与 Debug/Breakpoint 窗口中的 Delete 钮有相同的功能。 星号*表示要将所有已设好的断点清除掉,它与 Debug/Breakpoint 窗口中的 Clear All 钮有相同的功能。
使用手册
使用手册使用手册
COMMAND LINE
参数-D 会将所指定的断点改成无效状态,然而此断点仍然留在断点列表框 内。此命令与 Debug/Breakpoint 窗口中的 Disable 钮有相同的功能。星号* 的意义如上所述。
参数-E 会将所指定的断点改成有效状态,此命令与 Debug/Breakpoint 窗口 中的 Enable 钮有相同的功能,星号*的意义如上所述。
56
COMMAND SYNTAX
图图图图 5-9
第五章
参 数 -L 会 将 所 有 当 前 已 设 好 的 断 点 显 示 在 窗 口 上 , 显 示 的 格 式 与 Debug/Breakpoint 窗口的内容相同,而格式中第一列表示断点的编号。此编 号可以应用在 BP -CBP -D BP -E 等命令中的 list 参数。
注意
注意: 1. BP -L 不需要 list 参数。
注意注意
2. 在任一时间内,HT-IDE3000 最多只能有 3 个断点是有效的。
如果没有给予 CDE L 参数,则断点命令将会是以下的形式︰
BP – Breakpoint Set
语法:BP S[,RW] ,Location [,Data][,Ext Sig] 括号中的参数不一定都需要,然而在某些情况下必须要指定 。
S 表示 Space,可在 C D 之间选择一个。字母 C 表示断点设在程序存储 器中,而 D 表示断点设定在数据存储器(RAM)。
如果选择 D 取代 S,则必须再选定读取或写入的选项[,RW],使用者可以选R W RW。这是因为如果断点设定在数据存储器中,则这个选择会 让断点在读取数据,写入数据或读取写入数据时被激发。如果选择 C 取代 S,则表示程序代码,不需要设定 RW
第五章 菜单
第五章第五章
菜单 −−− 除错
菜单菜单
除错
除错除错
“Location”参数是设定断点的位置,其格式如下︰ [SourceFileName!].LineNumber 或[SourceFileName!].SymbolName 如果没有指定源文件名称,则已经打开的源文件将被当成默认值。
如果选择 D 取代 S,则必须设定“Data”参数。断点被设定在数据存储器 中指定的位置,当发生读取或写入指定数据时触发中断。
Ext Sig 是一个可以选择的参数,对于它的使用方法请查阅 HT-IDE3000 使 用手册。
→→→→ 注释命令
注释命令
注释命令注释命令
语法:; comment string
这个命令提供 Log 文件的说明格式。在; 之后的任何描述都不会被执行。
57
HT-IDE3000 使用手册
→→→→ 显示命令
显示命令
显示命令显示命令
语法:DB bank.address ,range
DB range
DB
这个命令将所指定的程序存储器区域的内容显示在窗口中。这个区域是由 地址,区域范围和存储器区块编号(bank number)所指定的,其格式为十 六进制。如果指定了地址,但是没有指定存储器区块的编号,则会以当前 的存储器区块的编号当做区块编号。如果地址及存储器区块的编号都没有 指定,则会以当前的存储器区块的编号当做区块编号,以当前的程序计数 器的内容当做地址。如果没有指定范围,则以 16 个字当做范围值,而范围 不可以超过一个存储器区块的大小(2000h)。例如 1.0f00 表示存储器区块 的编号为 1 而地址是 0f00h
语法:DR bank.address ,range
DR address
这个命令会将所指定的数据存储器区域的内容显示在窗口中。这个区域是 由地址,区域范围和存储器区块编号所指定,其格式为十六进制。如果没 有指定范围,则被设为 16 个字节。范围大小不可以超过数据存储器区块的 大小(100h)且区块编号要以十六进制表示。
使用手册
使用手册使用手册
→→→→ 填充命令
填充命令
填充命令填充命令 这个命令用来改变数据存储器的内容。
语法:FB {bank.address | symbol} ,list
此命令会将 list 中的字节写到数据存储器中特定的地址,此地址是由存储器 区块的编号及地址所指定或由符号来指定。可以使用 bank.address 或符号名 称指定存储器的地址。 list 中的数据可以不只一个字节,但是在各字节之 间必须至少有一个空格做为分隔。所有的数值都使用十六进制。list 的字节 总个数不可超过存储器区块的大小。
语法:FA {bank.address | symbol} ,string
FA FB 有相同的功能,除了 string 是以 ASCII 标准码输入。 使用者可以选用下列的任一种 symbol 格式︰
.var filename!.var path\ filename!.var
注意
注意: 如果路径名称中包含有空格,则必须将该名称以引号括起来,否则会发生错误。
注意注意
范例:FA“d:\tmp\test cmd\test1.asm!.count”,“test1
58
第五章
→→→→ 执行命令
执行命令/跳跃命令
执行命令执行命令
语法:GO [address]
语法:JP address
→→→→ 帮助命令
帮助命令
帮助命令帮助命令
语法:H
→→→→ 历史记录命令
历史记录命令
历史记录命令历史记录命令
语法:HIS
语法:!dd
跳跃命令
跳跃命令跳跃命令
如果指定了地址,程序将会执行到这个指定的地址才停止。如果没有指定 地址,程序将会执行到程序结束或碰到有效的断点才停止。
此命令会直接跳到所指定的地址,注意必须要指定地址。
这个命令会将所有的除错命令显示在窗口中,包括它们的语法和说明。
此命令会在窗口中显示最近执行过的 20 条命令,但是不包括被执行的 HIS 命令。同时在每条命令的第一列会显示命令的编号。
dd 是上述 HIS 命令中被显示的命令编号,此命令将先前已执行过的命令再 执行一次。以命令编号加上“!”的格式简化了需要重新输入完整的命令与 参数的格式。如果没有指定命令的编号,则最后一个执行过的命令将被重 新执行。
第五章 菜单
第五章第五章
菜单 −−− 除错
菜单菜单
除错
除错除错
→→→→ 载入命令
载入命令
载入命令载入命令
语法:LF [-V] [LogFileName]
此命令将 Log 文件的内容载入并且执行所载入的除错命令。LogFileName 是 Log 文件的文件名。 如果没有指定 LogFileName,则会以当前的项目文件名称当做 LogFileName。
参数 -V 是将命令行与命令执行的结果显示出来, 如果 LF 没有设定 -V 选项,则执行的结果将会储存在记录文件中,而它的 主文件名是取自 Log 文件的主文件名,后缀名为.res。
Log 文件是写入命令(W)所生成的,可以使用 HT-IDE3000 的文件与编辑功 能去修改其内容。这些内容必须是正确的除错命令,否则会发生错误并造 成之后的除错命令不能被执行并返回到提示符。
注意
注意: 1. 如果 LogFileName 中包含空格,则必须使用引号将名称括起来,否则会发生错误。
注意注意
2. Log 文件不能含有 LFW Q 命令。
59
HT-IDE3000 使用手册
→→→→ 退出命令
退出命令
退出命令退出命令
语法:Q
使用手册
使用手册使用手册
此命令将结束命令模式并且回到先前的窗口。
注意
注意: 1. 此命令在 Log 文件中无效。
注意注意
2. 从命令模式退出之后,所有通过“LF”和“W -S”命令所打开的文件都将被关闭,并且
停止执行命令。
→→→→ 复位命令
复位命令
复位命令复位命令
语法:R
此命令的功能与 Debug 菜单的 Reset 命令相同。
语法:POR
此命令的功能与 Debug 菜单的 Power-On Reset 命令相同。
→→→→ 单步执行命令
单步执行命令
单步执行命令单步执行命令 有三种单步执行的命令,每当执行完毕均会显示 PCSTATUS 或 ACC 的内容。
语法:S {-I︱-O-V}
单步执行命令。
-I Step Into,与 Debug 菜单的 Step Into 命令有相同的功能。
-O Step Over,与 Debug 菜单的 Step Over 命令有相同的功能。
-V Step Out,与 Debug 菜单的 Step Out 命令有相同的功能。 如果没有设定选项,则系统默认值为“S -V”。
→→→→ 跟踪命令
跟踪命令
跟踪命令跟踪命令
语法:TR [-L] [length]
跟踪命令会将跟踪存储器的内容显示在窗口中,参数-L 是要显示跟踪记录 内所有的字段,包括顺序编号、程序计数器、机器代码、反编译指令、执 行数据、外部信号、源文件名称、行号和源程序。 如果没有指定参数 -L,则只会显示顺序编号、程序计数器、机器代码、反 编译指令和源文件名称及行号。参数“length”指定要显示多少笔跟踪记录。 从编号为 0 的跟踪记录开始往回到所指定的长度,也可以向前跟踪所指定 的长度。如果要向前跟踪,必须要预先设定 Forward Rate。系统预设长度值
5。 命令模式下不能设定跟踪模式、跟踪过滤条件和停止跟踪百分比等参数,必须 要在 HT-IDE3000 的窗口中设定。
60
第五章
→→→→ 写入命令
写入命令
写入命令写入命令
语法:W [-S︱-C] [LogFileName]
此指令会将除错命令与其相对应的执行结果写入 Log 文件。当执行 W -C
令或 Q 命令或是终止命令模式后,便会停止写入 Log 檔。
参数 -S 生成一个 Log 文件,而所有接下来的命令与结果会被写入此文件。
参数 -C 会关闭先前所生成的 Log 文件,而且不会再有命令被写入 Log
件。
如果 Log 文件已经存在,则系统会要求确认是否同意要覆盖原先的数据并
继续下一步。指定 LogFileName 文件名时,不需要加上后缀名。
如果 LogFileName 指定的 Log 文件不存在,则会使用项目名称当做 Log
件的主文件名,而以.CMD 当做后缀名。
注意
注意: 1. 如果 LogFileName 文件名中含有空格,则必须以引号将文件名括起来,否则会发生错误。
注意注意
2. W -S 命令执行之后,不可以使用 LF 命令或 W -S 命令。
Log 文件格式
文件格式
文件格式文件格式
Log 文件是一个可以被任何文字编辑器,包括 HT-IDE3000 在内的编辑器所撰 写及修改的文本文件。可以使用 Edit 菜单去撰写,其格式为每一条除错命令占 用一行。
第五章 菜单
第五章第五章
菜单 −−− 除错
菜单菜单
除错
除错除错
命令 W -S LogFileName 将会清除 Log 文件的内容,之后写入新的命令及执行 结果。
如果命令字符串是由 W -S 命令所生成的,则提示符也会一并写入 Log 文件中, 但是下一次从 Log 文件中读取除错命令时,先前被写入的提示符将自动地被忽 略。如果是使用编辑器生成命令字符串,则不需要将提示符写到 Log 文件。
如果 Log 文件是由命令“W -S”所生成的,则会在每一个命令执行结果的文字 行最前面,自动插入一个“;”代表注释。 当下一次载入 Log 文件并执行其中的除错命令时,只有命令字符串行会被执 行,而执行结果字符串行将被忽略。
61
HT-IDE3000 使用手册
使用手册
使用手册使用手册
HT-COMMAND 错误信息
Invalid Command
Can not find HT-IDE
Syntax error
No project for debug
ROM bank Out of range
RAM bank Out of range
Can not run xxx command in emulation mode
Can not run xxx command in load file mode
Can not run xxx command in write file mode
Unterminated string
No Command in history buffer
Open xxx log file error
Close xxx log file error
Read xxx log file error
Write xxx log file error
Not in emulation status
Sources have been modifiedplease rebuild 原先的源文件已被修改过,需重新编译项目
Stop by user
Get PC failed
Stack overflow
No debug info
Cannot find the symbol
Cannot find the register
错误信息
错误信息错误信息
错误信息
错误信息 说明
错误信息错误信息
键入的命令不正确 现在的环境不是 HT-IDE3000 输入的语法不正确 在 HT-IDE3000 中没有打开的项目文件 指定显示的 Program Memory 超出范围 指定显示的 Data Memory 超出范围 在仿真模式中,执行命令 xxx 失败 在下载文件模式中,执行命令 xxx 失败 在 write file 模式中,执行命令 xxx 失败 字符串需要对称的括号 History buffer 中没有数据 无法打开 Log 文件 无法关闭 Log 文件 无法读取 Log 文件 无法写入 Log 文件 执行本命令前需先进入 emulation mode
使用者强迫停止执行 无法读取 Program Counter 的值 堆栈超出其容量 设定的断点没有除错信息 找不到指定的符号 找不到指定的寄存器
说明
说明说明
62
第六章
6
第六章
第六章
第六章第六章
菜单
菜单 −− 窗口
菜单菜单
窗口
窗口窗口
HT-IDE3000 提供许多种类的窗口,以便帮助使用者对应用程序进行硬件或软 件仿真,这些窗口(如图 6-1 所示)包括数据存储器(RAM)、程序存储器(ROM)、 跟踪列表、寄存器内容、变量检测、堆栈、程序、命令执行等数据窗口。
第六章 菜单
第六章第六章
菜单 −−− 窗口
菜单菜单
窗口
窗口窗口
图图图图 6-1
63
HT-IDE3000 使用手册
窗口菜单命令
窗口菜单命令
窗口菜单命令窗口菜单命令
RAM
RAM 窗口显示数据存储器空间的内容,如图 6-2 所示。专用寄存器的地址
空间并不包含于 RAM 窗口中,因为它会显示在寄存器窗口中。RAM 窗口
的内容可以因除错的目的而直接被修改,垂直方向显示的地址是基本地址
而水平方向各数字则是地址偏移量,所有的数字均以十六进制格式显示。
ROM
ROM 窗口显示程序存储器空间的内容,如图 6-3 所示。ROM 地址范围是从
0 到最大的程序地址,此最大地址取决于在项目中所选取的单片机。水平与
垂直滚动条可以用来查看在 ROM 窗口中任意的地址,ROM 窗口的内容以
十六进制格式显示并且不可以被修改。
图图图图 6-2
使用手册
使用手册使用手册
64
图图图图 6-3
第六章
Trace List
Trace List 窗口显示跟踪记录的信息,如图 6-4 所示。跟踪记录的内容可在
Options 菜单中 Debug 命令定义。使用鼠标双击 Trace List 窗口中的跟踪记
录会将此行所在的源程序文件打开并且放置于工作的源文件窗口中,光标
停在对应的行上。
图图图图 6-4
Register
Register 窗口显示项目中所选取的单片机内所有被定义的寄存器内容,图
6-5 所示为 HT48C70-1 的寄存器窗口的范例,Register 窗口的内容可被修改,
此窗口是可随处停留的,可以在主窗口内把它到处移动。
第六章 菜单
第六章第六章
菜单 −−− 窗口
菜单菜单
窗口
窗口窗口
65
图图图图 6-5
HT-IDE3000 使用手册
Watch
使用手册
使用手册使用手册
Watch 窗口显示所指定符号的存储器地址和内容,此符号是定义在数据存储
器,即 RAM 空间中的。符号的格式如下:
[source_file_name!].symbol_name
可以显示寄存器的内容,只要先键入句点(.)然后键入符号名称或寄存器名
称再按下 Enter 键。指定的符号或寄存器的存储器地址及内容将被显示在符
号的右边,如下列格式:
:[address]=data contents
地址与数据两者都以十六进制格式显示,如图 6-6 所示。符号与相对应的数
据会被 HT-IDE3000 储存并且在下一次打开 Watch 窗口时显示出来。按下
Delete 键可将符号从 Watch 窗口中删除,Watch 窗口也是可以随处移动的。
Stack
Stack 窗口显示当前项目中所选择单片机堆栈寄存器的内容,最大的堆栈层
数是根据所选的单片机规格而定。图 6-7 显示一个 Stack 窗口的例子。 堆
栈是从 0 开始往上增加层次,每次入栈操作会使数字加 1(例如 CALL 指令
或中断响应),而每次出栈操作则使它减 1RET 或 RETI 指令)。最上层的
堆栈会以高亮标示,例如图 6-7 01 表示最上层的堆栈行。当执行一个 RET
RETI 指令时,标示在最上层的程序行号(此例中为 134)被视为下一个
要执行的指令,同样在堆栈行的最上层的再上一行(此例中为 00)将被当
成新的最上层堆栈行。如果堆栈中没有任何堆栈行,则 Stack 窗口中将没有
任何行会被高亮标示。堆栈行的格式如下:
Stack_level: program_counter source_file_name(line_number)
66
图图图图 6-6
第六章
此处 stack_level 是堆栈的层数,program_counter 为调用程序的十
六进制返回地址或中断时的程序地址,source_file_name 是包含此调用
程序或 0 中断指令的源文件名称,而 line_number 则是在源程序文件中
调用指令或中断响应之后一条指令的行数,line_number 是十进制数。
图图图图 6-7
Program
Program 窗口以反编译的格式显示程序存储器即 ROM 的内容。地址范围是
0 到最大的地址为止,此最大的地址由项目中所选取的单片机决定。
Output
Output 窗口显示执行 Build Rebuild All 命令后的结果信息。在错误信息行
双击鼠标左键,会出现包含源程序文件的窗口,并且错误所在程序行会被
高亮标示。
第六章 菜单
第六章第六章
菜单 −−− 窗口
菜单菜单
窗口
窗口窗口
67
HT-IDE3000 使用手册
使用手册
使用手册使用手册
68
第七章
7
第七章
第七章
第七章第七章
软件仿真
软件仿真
软件仿真软件仿真
HT-IDE3000 除了硬件仿真之外,同时提供软件仿真的方法以支持程序的除错。 软件仿真器所支持的功能与 HT-ICE 提供的相同,但不需要使用 HT-ICE。在 HT-IDE3000 HT-ICE 的除错功能和窗口显示功能对软件仿真器同样有效,此 外软件仿真器还提供一个输入输出使用接口。虽然软件仿真器提供了许多除错 功能,但单片机的某些硬件特性仍然无法仿真,因此在生产制造掩膜型 IC 之 前,建议还是先要使用 HT-ICE 执行应用程序的硬件仿真。
第七章 软件仿真
第七章第七章
软件仿真
软件仿真软件仿真
某些单片机系列只支持硬件仿真模式,而有些则同时支持硬件与软件仿真模 式。
69
开始仿真
开始仿真
开始仿真开始仿真
HT-IDE3000 使用手册
进入 HT-IDE3000 之后,有两种情况会发生,一是项目已经被打开,另一种是 没有项目被打开。在第一种的情况下,HT-IDE3000 的工作模式取决于此项目 的工作模式,而在第二种情况下,则是软件仿真模式。即使项目的工作模式为 硬件仿真,使用者仍可自行更改为软件仿真,另 外当下 列的情况发生时, HT-IDE3000 的工作模式将是软件仿真。
HT-ICE 和主机没有连接或连接失败时
HT-ICE 电源关闭时
Options 菜单的 Debug 命令中可以设定 HT-IDE3000 的工作模式,图 7-1 Debug 命令的内容。
使用手册
使用手册使用手册
除了软件仿真器之外,盛群还提供虚拟外围器件管理(VPM),能够让使用者 直接在 PC 上驱动与监控输入和输出的仿真。
在第三部份中将针对 VPM 做更详细的介绍。
70
图图图图 7-1
第八章
8
第八章
第八章第八章
第八章
第八章 OTP 烧录
第八章第八章
烧录
烧录烧录
OTP 烧录
简介
简介
简介简介
烧录
烧录烧录
OTP writer 是一种专为烧录 OTPOne-Time Programmable 一次烧录)单片机 的简易烧录器。凡是盛群半导体公司开发完成的这类 OTP 单片机,都可使用 简易烧录器将程序数据烧录到芯片内。此烧录器的特点为轻巧短小,同时安装 及使用都很容易,功能简单明了。最新版本的 HT-ICE 仿真器则更进一步将此 烧录器整合到 HT-ICE 仿真器上,使用者在产品开发上将会更得心应手。如图 8-1 所示:
图图图图 8-1
71
HT-IDE3000 使用手册
安装
安装
安装安装
由于此烧录器已整合到 HT-ICE 仿真器上,如果使用者已将 HT-ICE 安装完毕, 则在 HT-IDE3000 软件中直接启动烧录功能即可,不再需要执行其它安装程序。 HT-IDE3000 软件系统与 HT-ICE 仿真器的安装步骤,请参考第一章概要与安 装。
烧录器转接座
烧录器转接座
烧录器转接座烧录器转接座
HT-ICE 仿真器出厂时已配置 40-pin TEXTOOL 烧录器转接座(图 8-2)。如果 使用者所需烧录的单片机封装无法适用时,须使用者自行更换烧录器的转接 座。HT-ICE 烧录器转接座进一步的信息,请参考其他相关技术文件或至本公 司网站查询。
使用手册
使用手册使用手册
72
图图图图 8-2
第八章
使用
使用 HT-HandyWriter 烧写
使用使用
→→→→ 启动
启动 HT-HandyWriter 烧录程序
启动启动 选用 主 窗口 中 程序 菜 单 的 Holtek Development System, 然后执 行小 图 标 HT-HandyWriter,如下图 8-3 所示:
烧写 OTP 单片机
烧写烧写
烧录程序
烧录程序烧录程序
单片机
单片机单片机
第八章 OTP 烧录
第八章第八章
烧录
烧录烧录
→→→→ LPT-
73
-设定打印机口
设定打印机口
设定打印机口设定打印机口 启动 HT-HandyWriter 进入图 8-4 的窗口后,需要事先设定打印机口。使用鼠标 点击“LPT”菜单选项,出现图 8-5 的打印机口菜单。可以从 LPT1LPT2LPT3 中选用一个。如果 OTP writer 是连接到 HT-ICE,则视 HT-ICE 与个人计 算机的第几个打印机口相连而定,例如 HT-ICE 与个人计算机的 LPT1 相接, 则在图 8-5 中选择 LPT1。如果 OTP writer 是直接与个人计算机的打印机口相 连,则设定此相连的打印机口即可。
图图图图 8-3
HT-IDE3000 使用手册
图图图图 8-4
使用手册
使用手册使用手册
74
图图图图 8-5
→→→→
Body----选取
第八章
选取 OTP MCU 类型
选取选取
类型
类型类型
第八章 OTP 烧录
第八章第八章
使用鼠标点击“!Body”命令,出现图 8-6 所示的[Set Body]对话框。若 OTP 内 部未记录单片机类型识别码的话,则以使用者所选的单片机类型为准,完成所 有写入与读取动作。
图图图图 8-6
→→→→ 选项
选项----检查
检查 MCU 选项
选项选项
检查检查
Option
选项
选项选项
当选择[Option]/Option 命令时,将会出现如图 8-7 的对话框,它会将已打开 的文件或 OTP writer 上的 OTP 单片机的掩膜选项显示出来。
Print
此命令将会将已打开文件或 OTP 单片机的掩膜选项打印出来。
烧录
烧录烧录
75
图图图图 8-7
HT-IDE3000 使用手册
使用手册
使用手册使用手册
→→→→ HT-HandyWriter 烧录功能
烧录功能((((Programming Functions)))
烧录功能烧录功能 图 8-4 显示 HT-HandyWriter 提供的内部功能,在 HT-HandyWriter 窗口内的右 边有 9 个按钮(buttons),每个按钮代表一个命令,各命令功能说明如下:
Open
打开一个后缀名为.OTP 的文件,并将其内容载入到计算机的内存,当执行 烧录时会从此处取得数据。按下 Open 钮之后,会出现目录与文件名可供选 定。文件打开后,文件内容会显示在信息窗口内,并在 Read 按钮下方显示 所打开文件的校验码(Checksum)。
Program
此命令会执行两项功能,首先会将计算机内存中的数据烧录到 OTP writer 上的 OTP 单片机内,之后再比较 OTP 单片机的内容是否与计算机内存的数 据一致,并将结果显示在 HT-HandyWriter 窗口内。
Verify
验证 OTP 单片机的内容是否与当前计算机内存的数据一致。先从 OTP 单片 机读取内容再做比较,验证结果会显示在 HT-HandyWriter 窗口内。
Blank Check
检查 OTP writer 上的 OTP 单片机是否已经被烧写过。检查的结果显示在窗 口内,如果不是空的 IC,已被烧写过的位置会显示出来。
Lock
此命令会使 OTP writer 设置 OTP 单片机的保护功能,禁止将此颗 OTP 单片 机的内容读出。一般是在执行 Program 功能之后,需要将 OTP 单片机的内 容做保护时,使用此命令。
Auto
此命令会以 Blank CheckProgram 与 Verify 的顺序将此三个命令执行完毕, 若任何命令的执行有错,将会停止并且不再继续执行下一个命令。底下有 一个 Lock 的选项,可以防止数据在烧录后被读取。如果需要做防止读取, 则必须先选取此项,然后再按下 Auto 钮。
Read
此命令会将 OTP writer OTP 单片机的内容读出,再将之存入计算机的内 存内,并在 Read 按钮下方显示文件内容的校验码(Checksum)。也可以把 它存入后缀名为.OTP 的文件内。
76
第八章
Chip Info
此命令会从单片机内读出 Power-On IDSoftware ID,ROM size,Option size 等信息,并显示“Get Info from chip”,告知使用者以上信息是从单片机中 取得。若单片机内部没有记录这些信息的话,则会显示由!Body 命令所设定 的单片机规格,并显示“Get Info from ini”,告知使用者以上信息由系统的 设定取得。
第八章 OTP 烧录
第八章第八章
烧录
烧录烧录
→→→→ HT-HandyWriter 其它功能
Duplicate-自动侦测 OTP 单片机存在与否及连续烧录
Duplicate 提 供 可 以 连续烧录多颗同 一型 号 OTP 的功 能 。当 使用上述 HT-HandyWriter 烧录功能的 Open 命令打开.OTP 文件后,再将尚未烧录的 OTP 单片机放入 TEXTOOL 并夹住,HT-HandyWriter 便会自动侦测,同时
自动执行所设定的功能。以这种方式,只要执行一次打开.OTP 文件的动作, 之后只需要重复更换 OTP 单片机,即可连续执行所设定的功能。
在使用此功能之前,首先设定需要连续自动执行的功能,其方式是点击如 图 8-8 所示的[Duplicate]/Setup 命令,即可以设定连续自动执行的功能。如 图 8-9 所示的 Duplicate Setup 画面提供使用者选取包括 Blank CheckProgramVerifyLock 等功能。
接着需要点击如图 8-10 所示的[Duplicate]/Enable 指令,以启动连续自动执 行的功能。当完成启动之后,就可以连续自动地大量烧录 OTP 单片机。当 所有 OTP 单片机烧录完成,不再需要连续自动地烧录功能时,只需要使用 鼠标点击如图 8-10 所示的[Duplicate]/Enable 指令,则会中止连续自动执行 的功能。
其它功能
其它功能其它功能
77
HT-IDE3000 使用手册
图图图图 8-8
使用手册
使用手册使用手册
78
图图图图 8-9
第八章
第八章 OTP 烧录
第八章第八章
烧录
烧录烧录
S/N-序列号(Serial Number)的写入
序列号的功能是可以将指定的序列号烧写到单片机内。此序列号和它的地 址是由使用者指定然后烧录到每个单片机的程序存储器的低字节,而且在 烧录完成之后,序列号会自动加一,以便供下一个要烧录的单片机使用。
首先需要设定开始的序列号和烧录的存储器地址,使用鼠标点击[S/N]菜单 的 Setup 命令即出现如图 8-11 所示的 Serial Number 窗口,即可输入开始的 序列号和地址。
完成初始值的设定后,接着使用鼠标点击[S/N]/Enable 命令以便启动此功 能,而如图 8-12 所示,在主窗口的右下角会显示出当前序列号的相对应地 址和数据。在烧录第一颗单片机的过程中,便会将此序列号写进所指定的 程序存储器地址内,接下来烧录的单片机的序列号则会自动加一。若要重 新设定序列号,则再点击如图 8-12 所示的[S/N]菜单的 Setup 命令。
79
图图图图 8-10
HT-IDE3000 使用手册
图图图图 8-11
使用手册
使用手册使用手册
80
图图图图 8-12
系统信息
系统信息
系统信息系统信息
→→→→ OTP writer connect to LPT1
→→→→ Cannot connect to ICE
→→→→ Invalid EV Chip
→→→→ Connect to HT-HandyWtiter through ICE
→→→→ Cannot find HT-HandyWtiter,,,please connect it to ICE
第八章
第八章 OTP 烧录
第八章第八章
烧录
烧录烧录
OTP writer 已与 LPT1 相连接
OTP writer HT-ICE printer port 的连接发生问题。
OTP writer 不支持此 HT-ICE 上的 EV chip 烧录 IC。若要有正确的动作,必须 更换 HT-ICE
OTP writer 已通过 ICE 连接成功。
Or this HT-HandyWtiter is an old version
HT-ICE 已接到 Print Port 上,但 OTP writer 没有接到 HT-ICE 上。也可能使用 的是旧版的 OTP writer(THANDYOTP-A),所以无法侦测连线与否。若为前 者,请将 OTP writer 连接到 ICE 上。
→→→→ File PID::::ADh,,,,OID::::50h
所打开文件记录的 power-on ID ADhSoftware ID 50h
→→→→ Invalid OTP file format
已打开文件的格式不正确。
→→→→ The chip PID:::ADh,,,,OID::::50h doesn’t match with the file PID::::ADh,,,,OID::::51h
Are you sure to continue?
OTP 单片机的类型与已打开文件所支持的类型不符合。
→→→→ Chip ROM size:::0400h,,,,File ROM size::::0800h. System will set ROM size as 0400h.
Are you sure to continue?
OTP 单片机可写入的空间大小为 400h,但是文件内容的大小为 800hOTP writer 将只写入 400h 的内容到 OTP 单片机内。
→→→→ Addr:::xxxxh,,,,Data::::yyyyh,,,,Rdata::::zzzz
Program/Option Verify failed!!
验证 Program 或 Option 数据时发生错误。 失败原因:从 OTP 单片机中位置 xxxxh 读出的数据 zzzzh,与计算机内存内的 数据 yyyyh 不一致。
81
HT-IDE3000 使用手册
→→→→ Addr:::xxxxh,,,,Data::::zzzzh
Not Blank!
OTP 单片机的存储器位置 xxxxh 的内容是 zzzzh,并非空的,无法执行所指定 的指令。
→→→→ Chip mismatched!
OTP writer 上的 OTP 单片机与.OTP 文件所记录的 OTP 单片机不是同一型 号,无法执行所指定的命令。
→→→→ Chip is locked!
OTP writer 上的 OTP 单片机已经被锁住。无法执行所指定的命令。
→→→→ No data to verify / program!
在执行 Verify 或 Program 命令之前,必须载入.OTP文件。请参考 HT-HandyWriter 烧录功能的 Open 命令。
使用手册
使用手册使用手册
82
第二部分
第二部分
第二部分第二部分
开发语言与工具
开发语言与工具
开发语言与工具开发语言与工具
第二部份
第二部份 开发语言与工具
第二部份第二部份
开发语言与工具
开发语言与工具开发语言与工具
83
HT-IDE3000 使用手册
使用手册
使用手册使用手册
84
第九章
9
第九章
第九章
第九章第九章
汇编语言和编译器
汇编语言和编译器
汇编语言和编译器汇编语言和编译器
源程序由汇编语言程序构成,由盛群编译器(Holtek Assembler)编译成目标文件 (Object File),再由连接器(Linker)连接并生成任务文件(Task File)
源程序(source program)由语句(statement)和表格(look up table)组成,在编译器 进行编译或程序执行时会给予指示,而语句是由助记符(mnemonic)、操作数 (operand)和注解(comment)组成。
第九章 汇编语言和编译器
第九章第九章
汇编语言和编译器
汇编语言和编译器汇编语言和编译器
常用符号
常用符号
常用符号常用符号
下表描述了文章中所用到的常用符号
范例
范例 描述
范例范例
中括号内的项目是可选择的,下列的命令行语法中:
[optional items]
{choice1 | choice2}
Repeating elements…
85
[options][;]都是可选的,而 filename 则必须设定。但是在指令操作数中的中 括号则是指定存储器地址之用,必须要有。
大括号和垂直线代表两个或更多的选项,大括号圈出这些选项而垂直线则用 来分隔选项,只能有一个选项被选出。
三个连续的点表示允许输入更多同样形式的数据,例如以下的指令格式:
name2 之后的三个连续点表示允许输入更多的名字,只要每两个名字之间用逗 号隔开即可。
描述
描述描述
HASM [options] filename [;]
PUBLIC name1 [,name2 [,…]]
语句语法
语句语法
语句语法语句语法
HT-IDE3000 使用手册
语句的语法格式如下:
使用手册
使用手册使用手册
[
上述四个成员不一定都要指定。
每两个成员之间(除了注解)最少要以一个空格或一个 tab 符号分隔开。
成员的字型无大小写之分,换言之,编译器在编译之前会将小写字母改为
名称
名称
名称名称
语句前可有标号以便于其它语句使用,如果名称当做标号使用,则必须在名称 后紧接一个冒号(:)。名称由下列字符组成:
A~~Z a~~~~z 0~~~~9 ???? _ @
在使用上有以下的限制:
不可使用数字 09 作为名称的第一个字符。
?不能单独作为名称。
只有最前面的 31 个字符被认可。
操作项
操作项
操作项操作项
操作项定义两种类型的语句,伪指令与指令。伪指令用来指导编译器如何在编 译时生成目标码,指令则是引导单片机执行各种运算,两者都会在编译时生成 目标码,而指令被编译出的目标码会在执行时指导单片机的运作。
名称
] [
大写字母。
操作项
] [
操作数项
] [
;注解
]
操作数项
操作数项
操作数项操作数项
操作数项定义伪指令与指令所使用的数据,由符号、常量、表达式和寄存器所 组成。
注释
注释
注释注释
注释是对程序代码的一种叙述与说明,编译器不会编译它。任何在分号之后的 文字均被视为注释。
86
汇编伪指令
汇编伪指令
汇编伪指令汇编伪指令
→→→→ 语法
第九章
汇编伪指令用来指导编译器如何在编译时生成目标码,汇编伪指令可以依其行 为细分如下。
条件汇编伪指令
条件汇编伪指令
条件汇编伪指令条件汇编伪指令
条件区段的格式如下:
IF
statements [ELSE statements]
ENDIF
语法
语法语法
IF expression IFE expression
说明
伪指令 IF IFE 对其后的 expression 进行检测。 如果 expression 的数值为真,换言之不为零,则在 IF ELSE IFENDIF(没有 ELSE)之间所有的语句会被编译。 如果 expression 的数值为假,换言之为零,则在 IFE ELSE IFEENDIF(没有 ELSE)之间所有的语句会被编译。
范例
IF debugcase ACC1 equ 5 extern username: byte ENDIF
在此范例中,如果符号 debugcase 的数值不为零,则变量 ACC1 的数值将 被设定为 5 同时 username 被宣告为外部变量。
第九章 汇编语言和编译器
第九章第九章
汇编语言和编译器
汇编语言和编译器汇编语言和编译器
87
HT-IDE3000 使用手册
→→→→ 语法
语法
语法语法
IFDEF name IFNDEF name
说明
IFDEF IFNDEF 的差异在检测 name 是否被定义,只要 name 已在前面 定义为标号、变量或符号,则在 IFDEF 与 ENDIF 之间的语句都会被编译, 相反的如果 name 还未被定义,则在 IFNDEF ENDIF 之间的语句会被编 译,条件汇编伪指令提供最多 7 层的嵌套。
范例
IFDEF buf_flag
buffer DB 20 dup (?) ENDIF
在此范例中,只要 buf_flag 被事先定义,即配置存储器给 buffer
文件控制伪指令
文件控制伪指令
文件控制伪指令文件控制伪指令
→→→→ 语法
语法
语法语法
INCLUDE file-name
INCLUDE “file-name”
说明
此伪指令会在编译时,将包含入文件 file-name 的内容,嵌入至当前的 源程序文件,并被视为源程序。编译器提供最多 7 层的嵌套。
范例
INCLUDE macro.def
在此范例中,编译器将包含文件 macro.def 内的源程序,嵌入至当前的 源程序文件。
使用手册
使用手册使用手册
→→→→ 语法
语法
语法语法
PAGE size
说明
此伪指令指定程序列表文件(program listing file)中每一页的行数,其范围介10 行至 255 行之间,编译器的默认值为 60 行。
范例
PAGE 57
在此范例中,程序列表文件的每一页最多为 57 行。
88
第九章
→→→→ 语法
语法
语法语法
.LIST .NOLIST
说明
伪指令.LIST .NOLIST 用来决定是否要将源程序行储存到程序列表文 件(program listing file)。.NOLIST 会停止将其后的源程序存写到程序列表文 件,而.LIST 则会将其后的源程序行存写到程序列表文件。编译器的默认 值为.LIST
范例
.NOLIST mov a, 1 mov b1, a .LIST
上面的范例中,被.NOLIST .LIST 所包围的两条指令将不会被存写到程 序列表文件。
→→→→ 语法
语法
语法语法
.LISTMACRO .NOLISTMACRO
说明
伪指令.LISTMACRO 会引导编译器将宏指令中包括注释的所有语句都存写 到程序列表文件中。伪指令.NOLISTMACRO 则中止写入所有宏指令的语句。 编译器默认值为.NOLISTMACRO。
第九章 汇编语言和编译器
第九章第九章
汇编语言和编译器
汇编语言和编译器汇编语言和编译器
→→→→ 语法
语法
语法语法
.LISTINCLUDE .NOLISTINCLUDE
说明
.LISTINCLUDE 会引导编译器将所有包含文件(included files)的内容写入 程序列表文件中,.NOLISTINCLUDE 则会引导编译器不要将其后的包含文 件的内容写进程序列表文件。编译器的默认值为.NOLISTINCLUDE
→→→→ 语法
语法
语法语法
MESSAGE ‘text-string’
说明
伪 指 令 MESSAGE 引 导 编 译 器 将 text-string 显 示 于 屏 幕 上 , text-string的字符必须使用一对单引号括起来。
89
HT-IDE3000 使用手册
→→→→ 语法
语法
语法语法
ERRMESSAGE ‘error-string’
说明
伪指令 ERRMESSAGE 引导编译器显示错误信息,error-string’的字 符必须使用一对单引号括起来。
程序伪指令
程序伪指令
程序伪指令程序伪指令
→→→→ 语法
语法((((注释
语法语法
; text
说明
→→→→ 语法
语法
语法语法
name .SECTION [align] [combine] ‘class’
说明
注释))))
注释注释
注释是以分号(semicolon)开始的字符所组成,而以回车/换行符结束。
伪指令.SECTION 标明程序段(program section)或数据段(data section)的起 始地址,程序段起始地址的类型与程序段连接的方式等。程序段是由指令 或指令加上数据所组成,这些指令及数据的地址则是以该程序段的段名 name 为起始标准而定出的。
使用手册
使用手册使用手册
程序段的段名 name 可以是唯一的或者是与程序中其它段的段名相同。若 两个程序段设定有完全相同的名称(complete name),则被视为是同一个程序 段。完全相同的名称是表示任何两个程序段的段名 name 及类别名 class 都相同。
选项 align 定义程序段起始地址的类型,可以用下列中的一种:
BYTE 以任意字节地址(byte)当做起始地址(编译器的默认形式) WORD 以字地址(word,两个字节,即偶数地址)当做起始地址 PARA 以节段地址(paragraph16 的倍数)当做起始地址 PAGE 以分页地址(page256 的倍数)当做起始地址
针对 CODE 类别(class)的程序段,是以一条指令当做一个字节地址。BYTE 会将程序段的起始地址安排在任何指令的地址,WORD 则将程序段的起始 地址安排在偶数的指令地址,PARA 将程序段的起始地址安排在 16 倍数的 指令地址,而 PAGE 则将程序段的起始地址安排在 256 倍数的指令地址。 对于 DATA 类别的程序段而言,是以一个字节(8 /字节)当做地址的计 算单位。BYTE 会将数据段的起始地址安排在任何字节地址,WORD 会将 数据段的起始地址安排在偶数地址,PARA 则将数据段的起始地址安排在
90
Loading...