出版社:清华大学出版社
年代:2015
定价:79.0
本书系统论述ARM两款主要处理器Cortex—M3/M4的体系结构、编程语言与开发实例,对相关嵌入式从业者极具参考价值。
第1章 ARM Cortex M处理器简介
1.1 什么是ARM Cortex M处理器
1.2 Cortex M处理器的优势
1.3 ARM Cortex M处理器应用
1.4 ARM处理器和ARM微控制器的资源
1.5 背景和历史
第2章 嵌入式软件开发简介
2.1 ARM微控制器是怎样构成的
2.2 开始时需要准备什么
2.3 软件开发流程
2.4 编译应用程序
2.5 软件流程
2.6 C程序中的数据类型
2.7 输入、输出和外设访问
2.8 微控制器接口
2.9 Cortex微控制器软件接口标准(CMSIS)
第3章 技术综述
3.1 Cortex M3和Cortex M4处理器的一般信息
3.2 Cortex M3和Cortex M4处理器的特性
第4章 架构
4.1架构简介
4.2编程模型
4.3应用程序状态寄存器
4.4存储器系统
4.5异常和中断
4.6系统控制块(SCB)
4.7调试
4.8复位和复位流程
第5章 指令集
5.1ARM Cortex M 处理器指令集的背景简介
5.2ARM Cortex M 处理器间的指令集比较
5.3理解汇编语言语法
5.4指令后缀的使用
5.5统一汇编语言(UAL)
5.6指令集
5.7Cortex M4特有的指令
5.8桶形移位器
5.9在编程中访问特殊寄存器和特殊指令
第6章 存储器系统
6.1存储器系统特性简介
6.2存储器映射
6.3连接处理器到存储器和外设
6.4存储器需求
6.5存储器的端
6.6数据对齐和非对齐数据访问支持
6.7位段操作
6.8默认的存储器访问权限
6.9存储器访问属性
6.10排他访问
6.11存储器屏障
6.12微控制器中的存储器系统
第7章 异常和中断
7.1异常和中断简介
7.2异常类型
7.3中断管理简介
7.4优先级定义
7.5向量表和向量表重定位
7.6中断输入和挂起行为
7.7异常流程简介
7.8中断控制用的NVIC寄存器细节
7.9用于异常和中断控制的SCB寄存器细节
7.10用于异常或中断屏蔽的特殊寄存器细节
7.11设置中断的步骤示例
7.12软件中断
7.13要点和提示
第8章 深入了解异常处理
8.1简介
8.2异常流程
8.3中断等待和异常处理优化
第9章 低功耗和系统控制特性
9.1低功耗设计
9.2低功耗特性
9.3在编程中使用WFI和WFE
9.4开发低功耗应用
9.5SysTick定时器
9.6自复位
9.7CPU ID基本寄存器
9.8配置控制寄存器
9.9辅助控制寄存器
9.10协处理器访问控制寄存器
第10章 OS支持特性
10.1 OS支持特性简介
10.2影子栈指针
10.3SVC异常
10.4PendSV异常
10.5实际的上下文切换
10.6排他访问和嵌入式OS
第11章 存储器保护单元
11.1MPU简介
11.2MPU寄存器
11.3设置MPU
11.4存储器屏障和MPU配置
11.5使用子区域禁止
11.6使用MPU时的注意事项
11.7MPU的其他用法
11.8与Cortex M0+处理器中的MPU间的差异
第12章 错误异常和错误处理
12.1错误异常简介
12.2错误的原因
12.3使能错误处理
12.4错误状态寄存器和错误地址寄存器
12.5分析错误
12.6异常处理相关的错误
12.7锁定
12.8错误处理
12.9其他信息
第13章 浮点运算
13.1关于浮点数
13.2Cortex M4浮点单元(FPU)
13.3惰性压栈详解
13.4使用浮点单元
13.5浮点异常
13.6要点和提示
第14章 调试和跟踪特性
14.1调试和跟踪特性简介
14.2调试架构
14.3调试模式
14.4调试事件
14.5断点特性
14.6调试部件简介
14.7调试操作
第15章 Keil ARM微控制器开发套件入门
15.1简介
15.2典型的程序编译流程
15.3μVision入门
15.4工程选项
15.5使用IDE和调试器
15.6使用指令集模拟器
15.7在SRAM中运行程序
15.8优化选项
15.9其他信息和要点
第16章 IAR Embedded Workbench for ARM入门
16.1IAR Embedded Workbench for ARM简介
16.2典型的程序编译流程
16.3创建简单的blinky工程
16.4工程选项
16.5提示和要点
第17章 GCC入门
17.1GCC工具链
17.2典型开发流程
17.3创建简单的blinky工程
17.4命令行选项简介
17.5Flash编程
17.6Keil MDK ARM和ARM嵌入式处理器GNU工具一起使用
17.7CoIDE和ARM嵌入式处理器GNU工具一起使用
17.8基于gcc的商业版开发组件
第18章 输入和输出软件实例
18.1产生输出
18.2重定向到指令跟踪宏单元(ITM)
18.3半主机
18.4重定向到外设
第19章 使用嵌入式操作系统
19.1嵌入式OS简介
19.2Keil RTX Real Time Kernel
19.3CMSIS RTOS实例
19.4OS感知调试
19.5疑难解答
第20章 汇编和混合语言工程
20.1汇编代码在工程中的使用
20.2C和汇编间的交互
20.3汇编函数的结构
20.4例子
20.5混合语言工程
20.6内在函数
20.7习语识别
第21章 ARM Cortex M4和DSP应用
21.1微控制器上的DSP
21.2点积实例
21.3传统DSP处理器的架构
21.4Cortex M4的DSP指令
21.5为Cortex M4编写优化的DSP代码
第22章 使用ARM CMSIS DSP库
22.1DSP库简介
22.2预构建的二进制代码
22.3函数命令规则
22.4获得帮助
22.5例1: DTMF解调
22.6例2: 最小二乘法运动跟踪
第23章 高级话题
23.1决断和跳转
23.2性能考虑
23.3双字栈对齐
23.4信号量设计的各种方法
23.5非基本线程使能
23.6中断服务的重入
23.7C语言实现的位数据处理
23.8启动代码
23.9栈溢出检测
23.10Flash补丁特性
23.11Cortex M3和Cortex M4处理器的版本
第24章 软件移植
24.1简介
24.2从8位/16位MCU移植到Cortex M MCU
24.3从ARM7TDMI到Cortex M3/M4的软件移植
24.4不同Cortex M处理器间的软件移植
经过了全 新修订:增加了ARM Cortex—M4l处理器的信息;对 ARM cortex一M3处理器的讲解进行了*新;对于ARM Cortex—M3和ARM Cortex—M4进行了比较,方便其 他多种处理器架构移植到ARMCortex—M3和ARM cortex—M4。本版的其他修订细节如下: 新增了论述。DSP特性和CMSIS一DSP软件库的两 章内容,介绍了DSP的基础知识以及如何编写Cortex —M4 的DSP软件,其中包括使用CMSIS—DsP库的实例 以及cortex—M4的DsP陛能方面的知识。 新增了介绍cortex—M4浮点单元及其使用的一章 内容。 新增了介绍嵌入式操作系统的使用(基于CMSIs— RTOS)以及支持嵌入式操作系统的处理器特性的一章 内容。 多种调试技术以及疑难解答。 从其他处理器进行软件移植的内容。 此外,本书介绍了ARM架构的背景知识以及指令 集、中断处理等处理器特性,并描述了如何设置并利 用存储器保护单元(MPu)等可用的高级特性。书中论 述Keil MDK、IAR EWARM、gcc以及CooCoxCoIDE工具 入门的章节可以给初学者在编写程序代码方面提供一 些帮助,其中也包括一些重要的软件开发问题,比如 低功耗特性的使用、信息输入/输出的处理、汇编和 c语言的混合编程及其他高级技术话题。
在介绍Cortex-M3/M4的书籍中,本书无疑是广受欢迎的一本。一方面,作者本身就是ARM公司的专家,深刻理解Cortex-M3/M4架构的设计;另一方面,作者选取的角度非常合适,既有架构设计的细节,也有程序代码实现示例,而且对容易出现问题的地方进行了说明。是一本不可多得,值得嵌入式开发人员珍藏的图书。本书提供全部示例工程的源代码,下载地址见书中“关于本书”。
(英) 姚文祥 (Yiu, J.) , 著
(英) 姚文祥, 著
(英) 姚文详, 著
郭书军, 编著
郭书军, 编著
郭书军, 王玉花, 编著
(英) 姚文详, 著
郭书军, 编著
冯新宇, 蒋洪波, 吕观顺, 编著