《嵌入式系统原理及应用 基于ARM Cortex-M4体系结构》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:杨永杰,许鹏主编
  • 出 版 社:北京:北京理工大学出版社
  • 出版年份:2018
  • ISBN:9787568262682
  • 页数:158 页
图书介绍:本书从工程实践实用的角度出发,以ARM Cortex-M4架构为研究对象,系统地介绍了嵌入式系统ARM微处理器的基础知识,编程模型、指令系统、汇编程序设计、嵌入式C语言设计、工作原理和开发环境,接着以STM32F4教学开发平台为例,介绍了MDK5开发环境和典型应用,最后对典型工程应用应用开发的实例进行了分析和解剖。本书内容全面、由浅入深,叙述言简意赅、清晰流畅,讲解通俗易懂,图例丰富,各章实例均得到验证。本书适合作为高等院校相关专业的本科高年级学生和研究生的专业课教材,也可以作为从事嵌入式系统开发和设计人员的参考用书。

第1章 绪论 1

1.1 微处理器的定义 1

1.2 ARM的发展历程 2

1.3 ARM微处理器的特点及应用 3

1.3.1 ARM微处理器的特点 3

1.3.2 ARM微处理器的应用 4

1.4 ARM微处理器系列 4

1.4.1 ARM7系列微处理器 5

1.4.2 ARM9系列微处理器 5

1.4.3 ARM9E系列微处理器 6

1.4.4 ARM10E系列微处理器 6

1.4.5 SecurCore系列微处理器 7

1.4.6 StrongARM系列微处理器 7

1.4.7 Xscale处理器 7

1.4.8 ARM11系列微处理器 7

1.4.9 ARM Cortex系列微处理器 8

1.5 ARM微处理器的选型 9

1.5.1 ARM芯片选择的一般原则 9

1.5.2 多芯核结构ARM芯片的选择 12

1.5.3 ARM芯片供应商 12

思考题 12

第2章 ARM Cortex-M4核体系结构 13

2.1 ARM体系结构 13

2.1.1 ARM微处理器体系结构 13

2.1.2 内核流水线结构 14

2.1.3 Cortex-M4系统总线接口 15

2.2 ARM微处理器的数据存储及工作状态 15

2.2.1 ARM指令长度及数据类型 15

2.2.2 ARM的存储器格式 16

2.2.3 传统ARM微处理器的工作状态 16

2.2.4 Cortex-M4处理器的工作状态 17

2.3 ARM通用寄存器组 18

2.3.1 通用寄存器R0~R12 19

2.3.2 堆栈指针R13 19

2.3.3 连接寄存器R14 19

2.3.4 程序计数器R15 20

2.4 Cortex-M4特殊功能寄存器组 20

2.4.1 程序状态寄存器 20

2.4.2 中断屏蔽寄存器组 21

2.4.3 控制寄存器 22

2.5 Cortex-M4浮点处理寄存器组 23

2.5.1 浮点状态控制寄存器 24

2.5.2 协处理器访问控制寄存器 25

2.6 Cortex-M4存储器系统结构 25

2.6.1 Cortex-M4微处理器存储器系统特征 26

2.6.2 存储器的映射 26

2.7 Cortex-M4的异常和中断 27

2.7.1 异常与中断简介 27

2.7.2 Cortex-M4处理器的异常类型 28

2.7.3 Cortex-M4处理器的中断管理 29

2.7.4 Cortex-M4处理器的异常流程 30

思考题 31

第3章 ARM处理器指令集 32

3.1 ARM指令简介 32

3.2 ARM寻址方式 33

3.2.1 数据处理指令寻址方式 33

3.2.2 加载/存储类指令寻址方式 34

3.2.3 堆栈操作寻址方式 35

3.2.4 协处理操作指令寻址方式 36

3.3 Cortex指令集 36

3.3.1 处理器传送指令 37

3.3.2 存储器访问指令 38

3.3.3 数据处理指令 42

3.3.4 比较与测试指令 45

3.3.5 程序流程控制指令 46

3.3.6 异常相关指令 49

3.3.7 饱和运算指令 50

3.3.8 存储器隔离指令 50

3.4 Cortex-M4特有指令 51

3.4.1 SIMD和饱和指令 51

3.4.2 乘法和乘加指令 52

3.4.3 打包和解包指令 56

思考题 57

第4章 ARM程序设计基础 58

4.1 ARM汇编语言的语句格式 58

4.1.1 汇编语言程序中的符号 58

4.1.2 汇编语言程序中的表达式和运算符 59

4.2 ARM汇编器支持的伪指令 62

4.2.1 数据定义伪指令 62

4.2.2 符号定义伪指令 64

4.2.3 汇编结构伪指令 66

4.2.4 汇编控制伪指令 69

4.2.5 其他常用伪指令 71

4.3 汇编语言的程序结构 72

4.3.1 程序结构 72

4.3.2 子程序调用 72

思考题 73

第5章 嵌入式C语言编程 74

5.1 嵌入式C语言概述 74

5.2 AAPCS规则 74

5.3 嵌入式C语言编写特点 76

5.3.1 嵌入式C语言的数据存储方法 76

5.3.2 嵌入式C语言的编写注意事项 77

5.4 C语言与汇编语言混编规范 78

5.4.1 在C语言中内嵌汇编指令 79

5.4.2 在汇编中使用C定义的全局变量 80

5.4.3 在C程序中调用汇编程序 80

5.4.4 在汇编程序中调用C程序 81

5.5 嵌入式C语言的常见用法 81

思考题 85

第6章 STM32F4处理器的工作原理 87

6.1 STM32F4处理器的启动过程 87

6.1.1 STM32F4处理器启动文件 87

6.1.2 STM32F4处理器主文件 91

6.2 STM32F4处理器的关键技术 92

6.2.1 STM32F4处理器时钟系统 92

6.2.2 STM32F4处理器I/O端口 94

6.2.3 可编程中断控制与配置 99

思考题 102

第7章 STM32F4处理器的编程开发环境 104

7.1 STM32F4处理器编程环境 104

7.1.1 Keil MDK开发工具 104

7.1.2 STM32F4固件库 105

7.2 MDK工程模板的建立 106

7.3 程序下载与调试 110

7.3.1 J-LINK仿真器下载 111

7.3.2 使用J-LINK调试程序 113

思考题 114

第8章 STM32F4处理器的基础应用设计 115

8.1 STM32F4实验教学平台 115

8.2 LED灯显示实例 117

8.2.1 相关技术简介 118

8.2.2 系统硬件组成 118

8.2.3 软件设计原理 118

8.3 蜂鸣器发声实例 119

8.3.1 相关技术简介 119

8.3.2 系统硬件组成 120

8.3.3 软件设计原理 120

8.4 数码管显示实例 120

8.4.1 相关技术简介 120

8.4.2 系统硬件组成 121

8.4.3 软件设计原理 121

8.5 按键检测实例 122

8.5.1 相关技术简介 122

8.5.2 系统硬件组成 123

8.5.3 软件设计原理 124

8.6 外部中断处理实例 124

8.6.1 处理器外部中断简介 125

8.6.2 外部中断的使用 125

8.6.3 系统硬件组成 127

8.6.4 软件设计原理 127

8.7 通用定时器实例 128

8.7.1 通用定时器简介 128

8.7.2 系统硬件组成 128

8.7.3 软件设计原理 128

8.8 RTC时钟实例 130

8.8.1 RTC时钟模块简介 131

8.8.2 系统硬件组成 131

8.8.3 软件设计原理 131

思考题 134

第9章 STM32F4处理器的综合应用设计 135

9.1 TFT-LCD屏幕驱动与显示应用 135

9.1.1 LCD显示屏简介 135

9.1.2 LCD显示屏的参数 136

9.1.3 LCD显示屏的控制信号 137

9.1.4 TFT-LCD屏的驱动设计 137

9.1.5 系统硬件组成 138

9.1.6 软件设计原理 139

9.2 触摸屏检测应用 140

9.2.1 触摸屏简介 141

9.2.2 触摸屏的检测原理 141

9.2.3 系统硬件组成 143

9.2.4 软件设计原理 143

9.3 通用串行通信应用 144

9.3.1 通用串行通信简介 144

9.3.2 USART通信相关固件库函数 144

9.3.3 系统硬件组成 147

9.3.4 软件设计原理 148

9.4 ADC输入采集应用 149

9.4.1 ADC模块简介 149

9.4.2 ADC的转换方法 149

9.4.3 系统硬件组成 151

9.4.4 初始化配置过程 151

9.4.5 软件设计原理 153

9.5 DAC模拟输出应用 154

9.5.1 DAC模块简介 154

9.5.2 DAC的转换方法 155

9.5.3 系统硬件组成 155

9.5.4 初始化配置过程 156

9.5.5 软件设计原理 157

思考题 157

参考文献 158