| 价格 | ¥56.00 |
| 发货 | 广东东莞市 |
| 数量 | -+ |
| 库存 | 100本 |
本书面向立志于进行ARM嵌入式开发的初学者以及从单片机向ARM处理器转型的工程师,按照理论实践相结合的思想,介绍了ARM嵌入式开发过程中的基础理论,并给出了具体的实例。全书共分为4篇,包括ARM汇编语言、ARM C语言、ARM处理器各功能模块开发等内容。
本书针对ARM处理器裸机开发过程中的重点、难点问题,既有基础知识的讲述,又有相关配套实验,使读者能容易、快速、全面地掌握ARM处理器裸机开发。
目 录
第1篇 基 础 篇
第1章 ARM处理器简介 2
1.1 处理器工作模式 2
1.2 寄存器介绍 3
1.2.1 堆栈指针寄存器R13和链接寄存器R14 4
1.2.2 程序计数器R15 4
1.2.3 程序状态寄存器 4
1.3 工作状态 5
1.4 数据长度 5
1.5 存储系统 5
1.5.1 ARM地址空间 6
1.5.2 ARM存储器的格式 6
1.6 天嵌TQ2440开发板硬件资源概述 7
1.7 本章小结 9
1.8 扩展阅读之CISC处理器和RISC处理器简介 9
第2章 ADS集成开发环境及程序下载具体流程 11
2.1 ADS 1.2集成开发环境简介 11
2.1.1 CodeWarrior for ARM 12
2.1.2 AXD调试器的启动 13
2.2 工程的编辑与修改 13
2.2.1 建立一个新工程 14
2.2.2 建立一个源文件 14
2.2.3 添加源文件到工程 15
2.2.4 编译与链接工程 16
2.2.5 打开已有的工程 16
2.3 工程的调试 16
2.3.1 装载映像文件 16
2.3.2 调试工具条的使用 17
2.4 H-JTAG的安装与调试 18
2.4.1 H-JTAG的安装 18
2.4.2 H-JTAG的设置 18
2.5 使用U-Boot下载裸机程序 21
2.6 本章小结 23
第3章 ARM指令集及汇编语言基础 24
3.1 ARM指令集介绍 24
3.1.1 ARM指令集 24
3.1.2 ARM寻址方式 30
3.1.3 ARM伪操作和伪指令介绍 33
3.2 ARM汇编基础知识 40
3.3 ARM汇编程序的基本结构 41
3.3.1 编写汇编程序基本的格式规范 42
3.3.2 程序入口和程序结束 43
3.3.3 段 43
3.3.4 标号(标志符) 44
3.3.5 外部标号 48
3.3.6 文件包含 48
3.4 用AXD调试ARM汇编程序实验 48
3.4.1 建立工程并添加源文件 48
3.4.2 工程的设置 50
3.4.3 编译源文件 51
3.4.4 启动AXD调试器 51
3.4.5 手把手调试汇编程序 54
3.5 常用汇编语言程序子模块实例分析 57
3.5.1 特殊功能寄存器的访问 57
3.5.2 内存数据复制 58
3.5.3 批量加载与存储 58
3.5.4 堆栈操作 59
3.5.5 实现查表功能 61
3.6 本章小结 61
3.7 扩展阅读之内存和I/O地址、前序寻址和后序寻址 61
第4章 ARM C语言基础 63
4.1 数据类型基础 63
4.1.1 用typedef和#define定义类型 63
4.1.2 用signed和unsigned修饰数据类型 64
4.1.3 volatile和强制类型转换 64
4.2 深入理解位运算符和位运算 65
4.2.1 按位与运算符(&) 65
4.2.2 按位或运算符(|) 66
4.2.3 按位取反运算符(~) 66
4.2.4 左移和右移运算符(<<)、(>>) 66
4.2.5 位运算应用实例分析 66
4.3 控制结构 67
4.3.1 选择结构 67
4.3.2 循环结构 67
4.4 防止文件重复包含技巧 68
4.5 ARM编译器对C语言的扩展 68
4.5.1 __irq声明中断处理函数 68
4.5.2 __swi声明软中断 69
4.5.3 __asm内嵌汇编 69
4.5.4 __inline定义内联函数 69
4.6 本章小结 71
4.7 扩展阅读之高速缓存基础知识 71
第5章 ARM汇编语言和C语言混合编程基础 74
5.1 一个混合编程实例的实现 74
5.2 APCS规则概述 77
5.2.1 寄存器的使用 77
5.2.2 参数传递 77
5.2.3 函数的返回值 77
5.3 本章小结 77
第6章 GPIO编程实验 79
6.1 GPIO概述 79
6.1.1 GPIO引脚介绍 79
6.1.2 GPIO特性分析 79
6.1.3 GPIO相关寄存器 80
6.1.4 GPIO应用实例 81
6.2 基础实验:第一个裸机程序——流水灯 82
6.2.1 硬件电路分析 82
6.2.2 建立工程并添加启动代码 83
6.2.3 添加源文件 84
6.2.4 编辑源文件 85
6.2.5 工