内容简介
《arm cortex-m3权威指南》重点介绍了新的arm架构、指令集的总结、硬件特性以及调试系统的概览。《arm cortex-m3权威指南》还提供了一些程序示例,并且在其中讲解了使用gnu工具链与arm工具的基本方法与步骤。主要内容包括:arm架构的背景、cortex?m3入门、操作模式、异常与中断、汇编语言基础、存储器系统、cortex?m3上的汇编与c编程、开发流程、电源管理、多处理机通信、开发工具、调试、keil realview mdk使用入门等。随书附光盘1张,内含arm cortex?m3相关文章及keil realview mdk评估软件等。 《arm cortex-m3权威指南》适用于使用arm cortex?m3微控制器的研发人员作为技术、编程参考,也可作为cortex?m3微控制器教学或培训用教材。
目录
第1章 介绍.
1.1 armcortex-m3处理器初探
1.1.1 从cortex-m3处理器内核到基于cortex-m3的mcu
1.1.2 arm及arm架构的背景
1.2 arm的各种架构版本
1.3 指令集的开发
1.4 thumb-2指令集体系结构(isa)
1.5 cortex-m3处理器的舞台
1.6 本书的组织结构
1.7 深入研究用的读物
第2章 cortex-m3概览
2.1 简介
2.2 寄存器组
2.3 操作模式和特权级别
2.4 内建的嵌套向量中断控制器
2.5 存储器映射
2.6 总线接口
2.7 存储器保护单元(mpu)
2.8 指令集
2.9 中断和异常
2.1 0调试支持
2.1 1cortex-m3的品性简评
2.1 1.1 高性能
2.1 1.2 先进的中断处理功能
2.1 1.3 低功耗
2.1 1.4 系统特性
2.1 1.5 调试支持
第3章 cortex-m3基础
3.1 寄存器组
3.1.1 通用目的寄存器r0~r
3.1.2 通用目的寄存器r8~r
3.1.3 堆栈指针r
3.1.4 连接寄存器r
3.1.5 程序计数器r
3.2 特殊功能寄存器组
3.2.1 程序状态寄存器(psrs或曰xpsr)
3.2.2 primask.faultmask和basepri
3.2.3 控制寄存器(control)
3.3 操作模式
3.4 异常与中断
3.5 向量表
3.6 栈内存操作
3.7 cortex-m3的堆栈实现
3.8 复位序列
第4章 指令集
4.1 汇编语言基础
4.1.1 汇编语言:基本语法
4.1.2 汇编语言:后缀的使用
4.1.3 汇编语言:统一汇编语言书写语法
4.2 指令集
4.2.1 分类指令表
4.2.2 未支持的指令
4.3 近距离检视指令
4.3.1 汇编语言:数据传送
4.3.2 汇编语言:数据处理
4.3.3 汇编语言:子程调用与无条件跳转指令
4.3.4 汇编语言:标志位与条件转移
4.3.5 汇编语言:指令隔离指令和存储器隔离指令
4.3.6 汇编语言:饱和运算
4.4 cm3中一些前卫的指令
4.4.1 mrs和msr
4.4.2 if-then
4.4.3 cbz和cbnz
4.4.4 sdiv和udiv
4.4.5 rev,revh,rev16以及revsh
4.4.6 rbit
4.4.7 sxtb,sxth,uxtb,uxth
4.4.8 bfc/bfi,ubfx/sbfx
4.4.9 ldrd/strd
4.4.1 0tbb,tbh
第5章 存储器系统
5.1 存储系统功能概览
5.2 存储器映射
5.3 存储器的各种访问属性
5.4 存储器的缺省访问许可
5.5 位带操作
5.5.1 位带操作的优越性
5.5.2 其他数据长度上的位带操作
5.5.3 在c语言中使用位带操作
5.6 非对齐数据传送
5.7 互斥访问
5.8 端模式
第6章 实现cortex-m3的全景概貌
6.1 流水线
6.2 详细的框图
6.3 cortex-m3的总线接口
6.4 cortex-m3的其他接口
6.5 外部私有外设总线
6.6 典型的连接方式
6.7 复位信号
第7章 异常
7.1 异常类型
7.2 优先级的定义
7.3 向量表
7.4 中断输入及挂起行为
7.5 fault异常
7.5.1 总线fault
7.5.2 存储器管理fault
7.5.3 用法fault
7.5.4 硬fault
7.5.5 应对fault
7.6 svc和pend sv
第8章 nvic与中断控制
8.1 nvic概览
8.2 中断配置基础
8.3 中断的使能与除能
8.4 中断的挂起与清除
8.4.1 优先级
8.4.2 活动状态
8.4.3 primask与faultmask特殊功能寄存器
8.4.4 basepri寄存器
8.4.5 其他异常的配置寄存器
8.5 中断建立全过程的演示..
8.6 软件中断
8.7 sys tick定时器
第9章 中断的具体行为
9.1 中断异常的响应序列
9.1.1 入栈
9.1.2 取向量
9.1.3 更新寄存器
9.2 异常返回
9.3 嵌套的中断
9.4 咬尾中断
9.5 晚到(的高优先级)异常
9.6 异常返回值
9.7 中断延迟
9.8 异常响应期间的fault
第10章 cortex-m3的低层编程
10.1 概览
10.1.1 使用汇编
10.1.2 使用c
10.2 汇编与c的接口
10.3 典型的开发流程
10.4 第1步工作
10.5 与外界互动
10.6 使用数据存储器
10.7 使用互斥访问实现信号量操作
10.8 使用位带实现互斥锁操作
10.9 使用位段提取与查表跳转
第11章 使用异常系统
11.1 使用中断
11.1.1 建立堆栈
11.1.2 建立向量表
11.1.3 建立中断优先级
11.1.4 使能中断
11.2 异常/中断服务例程
11.3 软件触发中断
11.4 异常服务例程的范例
11.5 使用svc
11.6 svc示范:用于输出函数
11.7 在c中使用svc
第12章 编程进阶与系统行为
12.1 在系统中使用双堆栈
12.2 双字的堆栈对齐方式
12.3 非基级的线程模式
12.4 性能评估
12.5 当处理器被锁定(lockup)时
12.5.1 锁定情形下的众生相
12.5.2 避免被锁定
第13章 cortex-m3的其他特性
13.1 sys tick定时器
13.2 电源管理
13.3 多处理器通信
13.4 自复位控制
第14章 存储保护单元mpu
14.1 mpu概览
14.2 mpu的寄存器组
14.3 启用mpu
14.4 mpu的典型设置
14.5 使用子region除能的示例
第15章 调试系统架构
15.1 调试特性概览
15.2 core sight技术概览
15.2.1 处理器的调试接口
15.2.2 dp模块.ap模块和dap
15.2.3 跟踪接口
15.2.4 core sight的性质
15.3 调试模式
15.4 调试事件
15.5 cortex-m3中的断点
15.6 调试时访问寄存器
15.7 内核的其他调试特性
第16章 调试组件
16.1 简介
16.2 跟踪组件:数据观察点与跟踪(dwt)
16.3 跟踪组件:仪器化跟踪宏单元(itm)
16.3.1 基于itm的软件跟踪
16.3.2 基于itm和dwt的硬件跟踪
16.3.3 itm时间戳
16.4 跟踪组件:嵌入式跟踪宏单元(etm)
16.5 跟踪组件:跟踪端口接口单元(tpiu)
16.6 闪存地址重载及断点单元(fpb)
16.7 ahb访问端口
16.8 rom表
第17章 开始cortex-m3开发
17.1 选择一款cortex-m3产品
17.2 cortex-m3版本0与版本1的区别
17.3 cortex-m3修订版1与修订版2的区别
17.3.1 双字堆栈对齐方式成为缺省值
17.3.2 新增辅助控制寄存器(auxiliary control register)
17.3.3 id寄存器的更新
17.3.4 调试功能
17.3.5 睡眠特性
17.3.6 使用修订版2带来的好处和注意事项
17.4 开发工具
17.4.1 c编译器
17.4.2 嵌入式操作系统支持
第18章 arm7应用程序移植到cortex-m
18.1 简介
18.2 系统性质
18.2.1 存储器映射
18.2.2 中断/异常系统
18.2.3 mpu
18.2.4 系统控制
18.2.5 操作模式
18.3 汇编源程序
18.3.1 thumb状态
18.3.2 arm状态
18.4 c源程序
18.5 预编译的目标文件
18.6 优化
第19章 使用gnu工具链开始cortex-m3开发
19.1 背景
19.2 获取gnu工具链
19.3 示例程序
19.4 访问特殊功能寄存器
19.5 使用未支持的指令
19.6 gnuc编译器的内联汇编
第20章 keil real view micro controller development kit(rvmdk)使用入门
20.1 简介
20.2 μvision使用入门
20.3 使用uart输出“hello world”
20.4 测试示例程序
20.5 使用调试器
20.6 指令模拟器
20.7 修改向量表
20.8 使用中断实现的秒表示例程序
附录a cortex-m3指令小结
附录b 16位thumb指令及架构版本
附录c cortex-m3异常快速参考
附录d nvic寄存器小结
附录e cortex-m3疑难解答
e.1 简介
e.2 设计fault服务例程
e.2.1 上报fault状态寄存器
e.2.2 上报入栈的pc
e.2.3 上报fault地址寄存器
e.2.4 其他注意事项
e.3 理解发生fault的原因
e.4 在c中上报入栈的寄存器和各fault状态寄存器
1.1 armcortex-m3处理器初探
1.1.1 从cortex-m3处理器内核到基于cortex-m3的mcu
1.1.2 arm及arm架构的背景
1.2 arm的各种架构版本
1.3 指令集的开发
1.4 thumb-2指令集体系结构(isa)
1.5 cortex-m3处理器的舞台
1.6 本书的组织结构
1.7 深入研究用的读物
第2章 cortex-m3概览
2.1 简介
2.2 寄存器组
2.3 操作模式和特权级别
2.4 内建的嵌套向量中断控制器
2.5 存储器映射
2.6 总线接口
2.7 存储器保护单元(mpu)
2.8 指令集
2.9 中断和异常
2.1 0调试支持
2.1 1cortex-m3的品性简评
2.1 1.1 高性能
2.1 1.2 先进的中断处理功能
2.1 1.3 低功耗
2.1 1.4 系统特性
2.1 1.5 调试支持
第3章 cortex-m3基础
3.1 寄存器组
3.1.1 通用目的寄存器r0~r
3.1.2 通用目的寄存器r8~r
3.1.3 堆栈指针r
3.1.4 连接寄存器r
3.1.5 程序计数器r
3.2 特殊功能寄存器组
3.2.1 程序状态寄存器(psrs或曰xpsr)
3.2.2 primask.faultmask和basepri
3.2.3 控制寄存器(control)
3.3 操作模式
3.4 异常与中断
3.5 向量表
3.6 栈内存操作
3.7 cortex-m3的堆栈实现
3.8 复位序列
第4章 指令集
4.1 汇编语言基础
4.1.1 汇编语言:基本语法
4.1.2 汇编语言:后缀的使用
4.1.3 汇编语言:统一汇编语言书写语法
4.2 指令集
4.2.1 分类指令表
4.2.2 未支持的指令
4.3 近距离检视指令
4.3.1 汇编语言:数据传送
4.3.2 汇编语言:数据处理
4.3.3 汇编语言:子程调用与无条件跳转指令
4.3.4 汇编语言:标志位与条件转移
4.3.5 汇编语言:指令隔离指令和存储器隔离指令
4.3.6 汇编语言:饱和运算
4.4 cm3中一些前卫的指令
4.4.1 mrs和msr
4.4.2 if-then
4.4.3 cbz和cbnz
4.4.4 sdiv和udiv
4.4.5 rev,revh,rev16以及revsh
4.4.6 rbit
4.4.7 sxtb,sxth,uxtb,uxth
4.4.8 bfc/bfi,ubfx/sbfx
4.4.9 ldrd/strd
4.4.1 0tbb,tbh
第5章 存储器系统
5.1 存储系统功能概览
5.2 存储器映射
5.3 存储器的各种访问属性
5.4 存储器的缺省访问许可
5.5 位带操作
5.5.1 位带操作的优越性
5.5.2 其他数据长度上的位带操作
5.5.3 在c语言中使用位带操作
5.6 非对齐数据传送
5.7 互斥访问
5.8 端模式
第6章 实现cortex-m3的全景概貌
6.1 流水线
6.2 详细的框图
6.3 cortex-m3的总线接口
6.4 cortex-m3的其他接口
6.5 外部私有外设总线
6.6 典型的连接方式
6.7 复位信号
第7章 异常
7.1 异常类型
7.2 优先级的定义
7.3 向量表
7.4 中断输入及挂起行为
7.5 fault异常
7.5.1 总线fault
7.5.2 存储器管理fault
7.5.3 用法fault
7.5.4 硬fault
7.5.5 应对fault
7.6 svc和pend sv
第8章 nvic与中断控制
8.1 nvic概览
8.2 中断配置基础
8.3 中断的使能与除能
8.4 中断的挂起与清除
8.4.1 优先级
8.4.2 活动状态
8.4.3 primask与faultmask特殊功能寄存器
8.4.4 basepri寄存器
8.4.5 其他异常的配置寄存器
8.5 中断建立全过程的演示..
8.6 软件中断
8.7 sys tick定时器
第9章 中断的具体行为
9.1 中断异常的响应序列
9.1.1 入栈
9.1.2 取向量
9.1.3 更新寄存器
9.2 异常返回
9.3 嵌套的中断
9.4 咬尾中断
9.5 晚到(的高优先级)异常
9.6 异常返回值
9.7 中断延迟
9.8 异常响应期间的fault
第10章 cortex-m3的低层编程
10.1 概览
10.1.1 使用汇编
10.1.2 使用c
10.2 汇编与c的接口
10.3 典型的开发流程
10.4 第1步工作
10.5 与外界互动
10.6 使用数据存储器
10.7 使用互斥访问实现信号量操作
10.8 使用位带实现互斥锁操作
10.9 使用位段提取与查表跳转
第11章 使用异常系统
11.1 使用中断
11.1.1 建立堆栈
11.1.2 建立向量表
11.1.3 建立中断优先级
11.1.4 使能中断
11.2 异常/中断服务例程
11.3 软件触发中断
11.4 异常服务例程的范例
11.5 使用svc
11.6 svc示范:用于输出函数
11.7 在c中使用svc
第12章 编程进阶与系统行为
12.1 在系统中使用双堆栈
12.2 双字的堆栈对齐方式
12.3 非基级的线程模式
12.4 性能评估
12.5 当处理器被锁定(lockup)时
12.5.1 锁定情形下的众生相
12.5.2 避免被锁定
第13章 cortex-m3的其他特性
13.1 sys tick定时器
13.2 电源管理
13.3 多处理器通信
13.4 自复位控制
第14章 存储保护单元mpu
14.1 mpu概览
14.2 mpu的寄存器组
14.3 启用mpu
14.4 mpu的典型设置
14.5 使用子region除能的示例
第15章 调试系统架构
15.1 调试特性概览
15.2 core sight技术概览
15.2.1 处理器的调试接口
15.2.2 dp模块.ap模块和dap
15.2.3 跟踪接口
15.2.4 core sight的性质
15.3 调试模式
15.4 调试事件
15.5 cortex-m3中的断点
15.6 调试时访问寄存器
15.7 内核的其他调试特性
第16章 调试组件
16.1 简介
16.2 跟踪组件:数据观察点与跟踪(dwt)
16.3 跟踪组件:仪器化跟踪宏单元(itm)
16.3.1 基于itm的软件跟踪
16.3.2 基于itm和dwt的硬件跟踪
16.3.3 itm时间戳
16.4 跟踪组件:嵌入式跟踪宏单元(etm)
16.5 跟踪组件:跟踪端口接口单元(tpiu)
16.6 闪存地址重载及断点单元(fpb)
16.7 ahb访问端口
16.8 rom表
第17章 开始cortex-m3开发
17.1 选择一款cortex-m3产品
17.2 cortex-m3版本0与版本1的区别
17.3 cortex-m3修订版1与修订版2的区别
17.3.1 双字堆栈对齐方式成为缺省值
17.3.2 新增辅助控制寄存器(auxiliary control register)
17.3.3 id寄存器的更新
17.3.4 调试功能
17.3.5 睡眠特性
17.3.6 使用修订版2带来的好处和注意事项
17.4 开发工具
17.4.1 c编译器
17.4.2 嵌入式操作系统支持
第18章 arm7应用程序移植到cortex-m
18.1 简介
18.2 系统性质
18.2.1 存储器映射
18.2.2 中断/异常系统
18.2.3 mpu
18.2.4 系统控制
18.2.5 操作模式
18.3 汇编源程序
18.3.1 thumb状态
18.3.2 arm状态
18.4 c源程序
18.5 预编译的目标文件
18.6 优化
第19章 使用gnu工具链开始cortex-m3开发
19.1 背景
19.2 获取gnu工具链
19.3 示例程序
19.4 访问特殊功能寄存器
19.5 使用未支持的指令
19.6 gnuc编译器的内联汇编
第20章 keil real view micro controller development kit(rvmdk)使用入门
20.1 简介
20.2 μvision使用入门
20.3 使用uart输出“hello world”
20.4 测试示例程序
20.5 使用调试器
20.6 指令模拟器
20.7 修改向量表
20.8 使用中断实现的秒表示例程序
附录a cortex-m3指令小结
附录b 16位thumb指令及架构版本
附录c cortex-m3异常快速参考
附录d nvic寄存器小结
附录e cortex-m3疑难解答
e.1 简介
e.2 设计fault服务例程
e.2.1 上报fault状态寄存器
e.2.2 上报入栈的pc
e.2.3 上报fault地址寄存器
e.2.4 其他注意事项
e.3 理解发生fault的原因
e.4 在c中上报入栈的寄存器和各fault状态寄存器
本文来自澳门皇冠贵宾会网址-皇冠集团网址442科技,原文地址:
http://www.myir-tech.com/resource/466.asp,转载请注明出处。