1.1 调试原理概述 1
1.1.1 传统调试方法 1
第1章 ARM调试方法和工具 1
1.1.2 ARM调试的特点 2
1.1.3 ARM调试原理 3
1.2 ARM调试方法 6
1.3 ARM开发工具介绍 7
1.3.1 ARM开发工具ADS 7
1.3.2 其他开发工具 8
2.1.1 ADS系统的组成 10
第2章 ADS介绍 10
2.1 ADS的系统资源 10
2.1.2 ADS系统所提供的文件 11
2.2 ADS系统中的文件类型 13
2.3 命令行方式和图形方式 14
2.3.1 命令行方式 14
2.3.2 图形方式 16
第3章 工程项目 18
3.1 工程项目和文件 18
3.1.1 建立一个工程项目 19
7.4.1 嵌入式汇编语言的用法 t 20
3.1.2 建立一个源文件 20
3.1.3 编辑新建立的源文件 21
3.1.4 把源文件加到工程项目中 21
3.2 工程项目管理 22
3.2.1 工程项目窗口 23
3.2.2 工程项目窗口中的级联菜单 27
3.2.3 工程项目管理 28
3.2.4 把文件分组 31
3.3 生成目标和生成选项 32
3.4 工程项目模板 35
3.4.1 关于ARM所提供的工程项目模板 35
3.4.2 把映像格式的工程项目转换成库工程项目 38
3.4.3 自己创建工程项目模板 39
3.5 复杂的工程项目 40
3.5.1 关于设置文件的搜索路径 40
3.5.2 关于生成目标 42
3.5.3 建立子工程项目 45
3.6 工程项目操作命令 46
4.1 文件管理 51
4.1.1 文件管理方法 51
第4章 文件和库 51
4.1.2 文件操作命令 53
4.1.3 文件比较 54
4.2 文件映射 55
4.3 系统头文件和用户头文件 58
4.4 ARM系统库 59
4.4.1 ARM运行时库(runtime libraries)概述 59
4.4.2 建立一个使用C/C++库的应用程序 61
4.4.3 建立一个不包含C库的应用程序 63
4.5 关于使用用户库 65
第5章 编辑器及浏览器 67
5.1 编辑器窗口功能介绍 67
5.2 搜索和替换操作 70
5.2.1 搜索和替换的方法 70
5.2.2 使用习惯表达式的一般规则 73
5.2.3 搜索操作命令 76
5.3 编辑操作命令 77
5.4 编辑器设置 77
5.4.1 编辑器设置面板 78
5.4.2 字体和制表符(Font Tabs)设置面板 80
5.4.3 文本颜色(Text Colors)设置面板 81
5.4.4 为工程项目中的常用关键字设置颜色 83
5.5 浏览器 83
5.5.1 浏览器概述 83
5.5.2 浏览操作命令 84
5.6 浏览器视窗 85
5.6.1 分类视窗 85
5.7 浏览器应用 88
5.7.1 与浏览器有关的级联菜单 88
5.6.3 分层视窗 88
5.6.2 目录视窗 88
5.7.2 使用浏览器向导 89
第6章 汇编程序规则和汇编器应用 93
6.1 汇编程序规则 93
6.1.1 汇编语言程序的组成和格式 93
6.1.2 汇编语言程序中的表达式 94
6.1.3 预定义寄存器 95
6.2 汇编器使用方法 96
6.2.1 在命令行方式中使用汇编器 96
6.2.2 在图形方式中使用汇编器 96
6.2.3 汇编器中的可选项 97
6.3 设置汇编器的可选项 98
6.3.1 与目标有关的可选项 99
6.3.2 与ATPCS有关的选项 100
6.3.3 汇编器特性选项 101
6.3.4 关于预定义的有关选项 102
6.3.5 列表控制选项 103
6.3.6 附加选项 104
6.3.7 其他选项 104
6.4 汇编器应用 105
第7章 C/C++语言程序应用 108
7.1 编程规则 108
7.1.1 使用Pragmas 108
7.1.2 使用关键词 110
7.2 标准C/C++语言扩展 114
7.3 C/C++语言数据类型 115
7.4 C/C++语言和汇编语言混合编程 119
7.4.2 程序之间的相互调用 121
第8章 编译器的可选项设置及应用 124
8.1 编译器概述 124
8.1.1 编译器概述 124
8.1.2 编译器使用方法 125
8.1.3 ARM编译器在搜索文件时要注意的几个问题 126
8.2 编译器的可选项设置 128
8.2.1 Target and Source设置面板 130
8.2.2 ATPCS设置面板 131
8.2.3 Warnings设置面板 132
8.2.4 Errors设置面板 136
8.2.5 Debug/Optionization设置面板 138
8.2.6 Preprocessor设置面板 140
8.2.7 Code Generation设置面板 141
8.2.8 Extras设置面板 142
8.2.9 其他命令行可选项 143
8.3 编译器应用 147
第9章 ADS中其他选项设置 149
9.1 Windows窗口操作命令 149
9.2 关于IDE的通用选项设置 149
9.2.1 Build Settings设置面板 150
9.2.2 IDE Extras设置面板 151
9.2.3 Plugin Settings设置面板 152
9.2.4 Shielded Folders设置面板 152
9.2.5 Source Trees源路径设置面板 154
9.3 关于生成目标的通用选项设置 154
9.3.1 Target Settings设置面板 155
9.3.2 Build Extras设置面板 157
9.3.3 ARM Target设置面板 158
9.4 调试器选项设置 158
9.4.1 ARM Debugger设置面板 159
9.4.2 ARM Runner设置面板 162
9.4.3 ARM Features设置面板 162
9.5 操作命令设置和工具栏设置 163
9.5.1 设置菜单中的操作命令 163
9.5.2 设置工具栏 165
9.6 关于VCS 167
第10章 ARM链接器 169
10.1 链接的一般概念 169
10.1.1 链接器的输入和输出 169
10.1.2 映像文件的加载和执行 171
10.1.3 输入段在映像文件中的排列顺序 173
10.2 链接器的使用方法 174
10.2.1 在命令行方式中使用链接器 174
10.2.2 在图形方式中使用链接器 174
10.3 ARM链接器选项设置 175
10.3.1 ARM链接器中的选项 175
10.3.2 Output设置面板 177
10.3.3 Option设置面板 179
10.3.4 Layout设置面板 181
10.3.5 Listings设置面板 183
10.3.6 Extras设置面板 185
10.3.7 在图形方式中没有使用的选项 185
10.4 链接器应用 187
10.5.1 链接器的地址映射过程 189
10.5 地址映射过程和scatter描述文件 189
10.5.2 scatter描述文件的结构 190
10.5.3 scatter描述文件的规则 192
10.5.4 scatter描述文件的应用 196
第11章 ADS中几个有特色的功能 200
11.1 在图形方式中使用命令行 200
11.1.1 via格式文件 200
11.1.2 ADS图形方式中的命令行表达窗 202
11.1.3 生成选项设置参数的导入和导出 203
11.2 symdefs格式文件 203
11.2.1 symdefs格式文件的内容 203
11.2.2 symdefs格式文件的作用 204
11.3.1 代码转换工具fromELF简介 205
11.2.3 建立symdefs格式文件 205
11.3 代码转换工具fromELF 205
11.3.2 fromELF命令行选项 206
11.3.3 fromELF工具在图形方式中的选项设置 209
11.3.4 fromELF实用工具应用 211
11.4 隐藏和重命名全局符号文件steering 213
第12章 ARM调试工具AXD介绍 215
12.1 ARM调试工具AXD介绍 215
12.1.1 几个基本概念 215
12.1.2 ARM调试工具AXD介绍 217
12.2 调试器的使用方法 218
12.2.1 armsd使用方法 219
12.2.2 AXD使用方法 219
12.3 使用AXD调试用户程序 221
12.3.1 基本知识 222
12.3.2 控制程序运行的工具图标 223
12.3.3 控制程序运行的操作命令 224
12.3.4 在程序窗口中的级联菜单 225
12.4 关于调试器设置 227
12.4.1 调试目标的界面配置 228
12.4.2 设置调试目标 232
12.4.3 配置处理器 235
12.5 AXD中的菜单选项 236
12.5.1 文件操作命令 237
12.5.2 搜索命令 239
12.5.3 与处理器相关的视窗 240
12.5.4 与目标系统相关的视窗 245
12.5.5 窗口管理命令 248
12.6 AXD中的数据格式 249
12.6.1 设置当前数据格式 249
12.6.2 设置默认的数据格式 253
12.7 主窗口中的工具图标 254
第13章 调试工具AXD应用 255
13.1 寄存器 255
13.1.1 寄存器的使用方法 256
13.1.2 寄存器视窗中的级联菜单 258
13.2 存储器 258
13.2.1 存储器的使用方法 259
13.2.2 存储器视窗中的级联菜单 260
13.2.3 调试用户程序应用举例 263
13.3.1 断点使用方法 264
13.3 在调试中使用断点 264
13.3.2 断点管理级联菜单 268
13.4 观测项和观测点 268
13.4.1 使用观测项(Watch) 268
13.4.2 使用观测点(Watchpoint) 271
13.5 其他调试方法 274
13.5.1 调试时观察程序变量 274
13.5.2 在调试程序时使用符号表 275
13.6 Profiling功能 276
附录A 按菜单索引 279
A.1 按CodeWarriror IDE 中的菜单索引 279
A.2 按AXD 中的菜单索引 283
附录B 术语解释 286
参考文献 288