《IAR EWARM嵌入式系统编程与实践》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:徐爱钧编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2006
  • ISBN:7810777556
  • 页数:463 页
图书介绍:本书详细介绍了IAR嵌入式编译器和集成开发环境的使用方法,给出了Atmd、ST等世界著名半导体公司的多种ARM嵌入式处理编辑实训。

目录 1

第1章 IAR Embedded Workbench嵌入式开发工具简介 1

1.1 IAR Embedded Workbench的主要特性 1

1.2 IAR Embedded Workbench的目录结构和文件类型 4

1.2.1 目录结构 4

1.2.2 文件格式 4

第2章 快速入门 7

2.1 项目的创建与编译链接 7

2.1.1 创建项目 7

2.1.2 编译项目 13

2.1.3 链接项目 15

2.2 使用IAR C-SPY调试程序 17

2.3 使用C与汇编混合编程模式 21

2.4 采用C++编程 24

2.5 模拟中断仿真 28

2.5.1 添加中断句柄 28

2.5.2 设置仿真环境 31

2.5.3 运行仿真中断 35

2.6 使用库模块 37

第3章 ARM处理器编程基础 40

3.1 ARM编程模型 40

3.1.1 ARM的数据类型和存储器格式 40

3.1.2 处理器工作状态和运行模式 42

3.1.3 寄存器组织 43

3.1.4 异常 48

3.2 ARM的寻址方式 52

3.2.1 寄存器寻址 52

3.2.2 立即寻址 53

3.2.3 寄存器移位寻址 53

3.2.4 寄存器间接寻址 53

3.2.5 基址寻址 54

3.2.6 相对寻址 54

3.2.9 块拷贝寻址 55

3.2.8 堆栈寻址 55

3.2.7 多寄存器寻址 55

3.3 ARM指令集 57

3.3.1 ARM指令的功能与格式 57

3.3.2 指令的条件域 58

3.3.3 指令分类说明 59

3.4 Thumb指令集 77

3.4.1 Thumb指令集与ARM指令集的区别 77

3.4.2 Thumb指令分类说明 78

3.5 ARM汇编语言程序设计 87

3.5.1 ARM汇编语言程序规范 87

3.5.2 IAR汇编器支持的伪指令 89

3.5.3 简单汇编语言程序设计 102

3.6 用汇编语言编写系统启动程序 104

3.6.1 编写启动程序的一般规则 105

3.6.2 IAR Embedded Workbench for ARM软件包给出的一般启动程序 106

第4章 IAR Embedded Workbench集成开发环境 110

4.1 IAR Embedded Workbench的菜单命令 110

4.1.1 File菜单 110

4.1.2 Edit菜单 111

4.1.3 View菜单 113

4.1.4 Project菜单 113

4.1.6 Window菜单 116

4.1.5 Tools菜单 116

4.1.7 Help菜单 117

4.2 定制IAR Embedded Worbench集成环境 118

4.3 IAR Embedded Workbench的项目管理 120

4.3.1 项目与创建配置 120

4.3.2 项目文件导航 121

4.3.3 源代码控制 122

4.4 应用程序创建 123

4.4.1 程序创建 123

4.4.2 扩展工具链 125

4.5 IAR Embedded Workbench编辑器 126

4.5.1 IAR Embedded Workbench编辑器的使用 126

4.5.2 定制编辑环境 128

第5章 应用程序仿真调试 131

5.1 IAR C-SPY调试器环境 131

5.2 C-SPY调试器的菜单命令 136

5.2.1 View菜单 136

5.2.2 Debug菜单 136

5.2.3 Disassembly菜单 140

5.2.4 Simulator菜单 140

5.3 用C-SPY调试用户程序 145

5.3.1 程序执行方式 145

5.3.2 用Call Stack窗口跟踪函数调用 147

5.4.1 C-SPY表达式 148

5.4 变量和表达式 148

5.4.2 察看变量和表达式 149

5.5 断点 150

5.5.1 定义断点 150

5.5.2 察看断点 152

5.6 察看存储器和寄存器 153

5.6.1 使用存储器窗口 153

5.6.2 使用寄存器窗口 154

5.7 C-SPY宏系统 155

5.7.1 宏语言 156

5.7.2 使用C-SPY宏 162

5.8.1 C-SPY中断仿真系统 166

5.8 利用C-SPY模拟器进行中断仿真 166

5.8.2 中断仿真系统的使用 167

5.9 应用程序分析 172

5.9.1 函数级刨析 172

5.9.2 代码覆盖分析 173

5.10 C-SPY硬件仿真系统 174

5.10.1 硬件仿真流程 174

5.10.2 采用IAR J-Link进行硬件系统仿真调试 174

6.1 IAR ARM C/C++编译器的选项配置 181

6.1.1 基本选项配置 181

第6章 IAR ARM C/C++编译器 181

6.1.2 C/C++编译器选项配置 183

6.2 数据类型 190

6.2.1 基本类型数据 190

6.2.2 指针类型数据 192

6.2.3 结构体类型数据 193

6.2.4 类型属性与对象属性 194

6.3 数据存储方式 195

6.3.1 堆栈与自动变量 195

6.3.2 动态存储器与堆 196

6.4 扩展关键字 196

6.5.1 CPU模式和RAM中的运行函数 200

6.5 函数 200

6.5.2 用于中断、并发及操作系统编程的基元 201

6.5.3 本征函数 204

6.6 代码和数据的段定位 206

6.6.1 段的作用说明 206

6.6.2 段在存储器中的定位 208

6.6.3 数据段 209

6.6.4 代码段 212

6.6.5 C++动态初始化 213

6.6.6 变量与函数在存储器中的定位 213

6.7.1 运行环境简介 215

6.7 DLIB库运行环境 215

6.7.2 使用预编译库 217

6.7.3 设置库选项 219

6.7.4 代换库模块 220

6.7.5 创建和使用定制库 220

6.7.6 系统启动和终止 221

6.7.7 定制系统初始化 222

6.7.8 标准输入/输出 223

6.7.9 配置printf和scanf符号 224

6.7.10 文件输入/输出 225

6.7.11 locale 225

6.7.12 环境交互及其他 226

6.7.13 C-SPY调试器运行接口 227

6.7.14 模块一致性检查 228

6.7.15 执行启动代码 229

6.8 库函数 230

6.8.1 头文件 231

6.8.2 附加C函数 233

6.9 汇编语言接口 234

6.9.1 C与汇编混合编程 234

6.9.2 C程序调用汇编语言子程序 235

6.9.3 C++程序调用汇编语言子程序 238

6.9.4 调用规则 239

6.9.5 函数调用 242

6.9.6 调用结构信息 243

6.10 使用C++ 244

6.10.1 一般介绍 244

6.10.2 C++特性描述 245

6.11 pragma预编译命令 247

6.12 IAR语言扩展 252

第7章 ARM嵌入式系统应用编程实例 257

7.1 嵌入式系统编程中的代码优化 257

7.1.1 合理利用编译系统 257

7.1.2 选择数据类型以及数据在存储器中的安排 259

7.1.3 编写高效代码 261

7.2.1 LPC2148处理器简介 264

7.2 Philips LPC2148应用系统编程 264

7.2.2 存储器结构 266

7.2.3 中断控制器 267

7.2.4 引脚功能配置 268

7.2.5 通用输入/输出端口GPIO编程 269

7.2.6 串行口UART编程 286

7.2.7 实时时钟RTC及外部中断编程 290

7.2.8 ADC接口编程 294

7.2.9 USB接口编程 298

7.3 Atmel AT91SAM7S64应用系统编程 345

7.3.1 Atmel AT91SAM7S64处理器简介 345

7.3.2 存储器结构与外设控制 346

7.3.3 并行输入/输出端口PIO编程 350

7.3.4 ADC接口编程 366

7.3.5 TWI接口编程 371

7.3.6 USB接口编程 383

7.3.7 μC/OS-II在AT91SAM7S64上的移植 399

7.4 ST STR71x应用系统编程 428

7.4.1 ST STR71x处理器简介 428

7.4.2 STR71x处理器的存储器结构 430

7.4.3 通用输入/输出端口GPIO编程 432

7.4.4 ADC接口编程 452