广州周立功单片机发展有限公司www.zlgmcu.comCortex-M3技术参考手册专注的力量成就梦想
广州周立功单片机发展有限公司 www.zlgmcu.com 专注的力量成就梦想 Cortex-M3 技术参考手册
目录目录前言.关于本手册第1章概述31.1关于处理器1.2处理器的组件41.2.1Cortex-M3的层次和实现的选项12.2处理器内核61.2.3 NVIC1.2.4总线矩阵1.2.5FPB..81.2.6DWT81.2.7 ITM...81.2.8 MPU.81.2.9ETM...81.2.10TPIU.81.2.11 SW/JTAG-DP.91.3可配置的选项91.3.1中断91.3.2 MPU ....91.3.3 ETM91.4指令集汇总.9第2章编程模型(programmer'smodel)17172.1关于编程模型2.1.1工作模式172.1.2工作状态..172.2特权访问和用户访问172.2.1主堆栈和进程堆栈.18.182.3寄存器2.3.1通用寄存器.182.3.2特殊用途的程序状态寄存器(xPSR).192.4数据类型222.5存储器格式...222.6指令集.24.26.第3章系统控制....263.1处理器寄存器汇总.263.1.1嵌套向量中断控制器的寄存器..283.1.2内核调试寄存器....3.1.3系统调试寄存器..28..313.1.4调试接口的端口寄存器323.1.5存储器保护单元的寄存器.323.1.6跟踪端口接口单元的寄存器3.1.7嵌入式跟踪宏单元的寄存器33
目录 目录 前言.1 关于本手册.1 第 1 章 概述.3 1.1 关于处理器.3 1.2 处理器的组件.4 1.2.1 Cortex-M3 的层次和实现的选项 .5 1.2.2 处理器内核.6 1.2.3 NVIC .7 1.2.4 总线矩阵.7 1.2.5 FPB.8 1.2.6 DWT.8 1.2.7 ITM.8 1.2.8 MPU .8 1.2.9 ETM .8 1.2.10 TPIU .8 1.2.11 SW/JTAG-DP .9 1.3 可配置的选项.9 1.3.1 中断.9 1.3.2 MPU .9 1.3.3 ETM .9 1.4 指令集汇总.9 第 2 章 编程模型(programmer's model).17 2.1 关于编程模型.17 2.1.1 工作模式.17 2.1.2 工作状态.17 2.2 特权访问和用户访问.17 2.2.1 主堆栈和进程堆栈.18 2.3 寄存器.18 2.3.1 通用寄存器.18 2.3.2 特殊用途的程序状态寄存器(xPSR).19 2.4 数据类型.22 2.5 存储器格式.22 2.6 指令集.24 第 3 章 系统控制.26 3.1 处理器寄存器汇总.26 3.1.1 嵌套向量中断控制器的寄存器.26 3.1.2 内核调试寄存器.28 3.1.3 系统调试寄存器.28 3.1.4 调试接口的端口寄存器.31 3.1.5 存储器保护单元的寄存器.32 3.1.6 跟踪端口接口单元的寄存器.32 3.1.7 嵌入式跟踪宏单元的寄存器.33
目录第4章存储器映射..354.1关于存储器映射35.374.2 Bit-banding4.2.1直接访问别名区...38.384.2.2直接访问bit-band区.394.3ROM存储器表..40第5章异常.5.1关于异常模型.405.2异常类型..41.425.3异常优先级5.3.1优先级435.3.2优先级分组435.4特权和堆栈445.4.1堆栈445.4.2特权445.5占先...455.5.1堆栈45.475.6末尾连锁(Tail-chaining)5.7迟来.485.8退出49495.8.1异常退出,5.8.2处理器从ISR中返回505.9复位.51515.9.1向量表和复位5.9.2预期的启动顺序(bootupsequence).525.10异常的控制权转移.545.11设置多个堆栈.545.12中止(abort)模型.56565.12.1硬故障.565.12.2局部故障和升级5.12.3故障状态寄存器和故障地址寄存器.58.595.13激活等级(activationlevel)5.14流程图.605.14.1中断处理.605.14.2占先..615.14.3返回...62第6章时钟和复位....646.1Cortex-M3时钟.64.656.2Cortex-M3复位6.3Cortex-M3复位方式656.3.1上电复位...656.3.2系统复位.666.3.3JTAG-DP复位.676.3.4SW-DP复位.67
目录 第 4 章 存储器映射.35 4.1 关于存储器映射.35 4.2 Bit-banding.37 4.2.1 直接访问别名区.38 4.2.2 直接访问 bit-band 区.38 4.3 ROM 存储器表.39 第 5 章 异常.40 5.1 关于异常模型.40 5.2 异常类型.41 5.3 异常优先级.42 5.3.1 优先级.43 5.3.2 优先级分组.43 5.4 特权和堆栈.44 5.4.1 堆栈.44 5.4.2 特权.44 5.5 占先.45 5.5.1 堆栈.45 5.6 末尾连锁(Tail-chaining).47 5.7 迟来.48 5.8 退出.49 5.8.1 异常退出.49 5.8.2 处理器从 ISR 中返回.50 5.9 复位.51 5.9.1 向量表和复位.51 5.9.2 预期的启动顺序(boot up sequence) .52 5.10 异常的控制权转移.54 5.11 设置多个堆栈.54 5.12 中止(abort)模型.56 5.12.1 硬故障.56 5.12.2 局部故障和升级.56 5.12.3 故障状态寄存器和故障地址寄存器 .58 5.13 激活等级(activation level).59 5.14 流程图.60 5.14.1 中断处理.60 5.14.2 占先.61 5.14.3 返回.62 第 6 章 时钟和复位.64 6.1 Cortex-M3 时钟.64 6.2 Cortex-M3 复位.65 6.3 Cortex-M3 复位方式.65 6.3.1 上电复位.65 6.3.2 系统复位.66 6.3.3 JTAG-DP 复位.67 6.3.4 SW-DP 复位.67
目录.676.3.5正常工作第7章电源管理.68.687.1电源管理概述7.2系统电源管理..687.2.1 SLEEPING...69.697.2.2SLEEPDEEP.70.第8章嵌套向量中断控制器.8.1NVIC概述..708.2NVIC编程器模型..708.2.1NVIC寄存器映射...708.2.2NVIC寄存器描述.738.3电平中断与脉冲中断.97第9章存储器保护单元...989.1MPU概述.989.2MPU编程器模型.98..989.2.1MPU寄存器纵览..999.2.2描述MPU寄存器..1059.2.3使用重叠寄存器访问MPU9.2.4子区域..1059.3MPU访问权限.1069.4MPU异常中止,..1079.5更新MPU区域.1079.5.1使用CP15等效代码更新MPU区域..107.1089.5.2使用两个或三个字来更新MPU区域9.6中断和更新MPU..109第10章内核调试.11010.1关于内核调试.11010.1.1停止模式调试.11010.1.2退出内核调试110.11110.2内核调试寄存器..11110.2.1调试停止控制和状态寄存器..11310.2.2调试内核选择寄存器11410.2.3调试内核寄存器的数据寄存器10.2.4调试异常和监控控制寄存器.11510.3内核调试访问实例.117.11710.4在内核调试中使用应用寄存器.118第11章系统调试..11.1 关于系统调试..118.11911.2系统调试访问11.3系统调试的编程模型.120..12111.4Flash修补和断点.12111.4.1FPB的编程模型11.5数据观察点和跟踪..12511.5.1DWT寄存器总结及描述.125
目录 6.3.5 正常工作.67 第 7 章 电源管理.68 7.1 电源管理概述.68 7.2 系统电源管理.68 7.2.1 SLEEPING .69 7.2.2 SLEEPDEEP .69 第 8 章 嵌套向量中断控制器.70 8.1 NVIC 概述.70 8.2 NVIC 编程器模型.70 8.2.1 NVIC 寄存器映射 .70 8.2.2 NVIC 寄存器描述 .73 8.3 电平中断与脉冲中断.97 第 9 章 存储器保护单元.98 9.1 MPU 概述 .98 9.2 MPU 编程器模型 .98 9.2.1 MPU 寄存器纵览 .98 9.2.2 描述 MPU 寄存器 .99 9.2.3 使用重叠寄存器访问 MPU .105 9.2.4 子区域.105 9.3 MPU 访问权限 .106 9.4 MPU 异常中止 .107 9.5 更新 MPU 区域 .107 9.5.1 使用 CP15 等效代码更新 MPU 区域.107 9.5.2 使用两个或三个字来更新 MPU 区域.108 9.6 中断和更新 MPU .109 第 10 章 内核调试.110 10.1 关于内核调试.110 10.1.1 停止模式调试.110 10.1.2 退出内核调试.110 10.2 内核调试寄存器. 111 10.2.1 调试停止控制和状态寄存器. 111 10.2.2 调试内核选择寄存器.113 10.2.3 调试内核寄存器的数据寄存器.114 10.2.4 调试异常和监控控制寄存器.115 10.3 内核调试访问实例.117 10.4 在内核调试中使用应用寄存器.117 第 11 章 系统调试.118 11.1 关于系统调试.118 11.2 系统调试访问.119 11.3 系统调试的编程模型.120 11.4 Flash 修补和断点 .121 11.4.1 FPB 的编程模型.121 11.5 数据观察点和跟踪.125 11.5.1 DWT 寄存器总结及描述.125
目录..13511.6仪表跟踪宏单元11.6.1ITM寄存器总结和描述.135..14111.7AHB访问端口11.7.1AHB-AP处理类型..14111.7.2AHB-AP寄存器总结和描述...141第12章调试端口..145..14512.1关于调试端口12.2JTAG-DP.146.14612.2.1扫描链接口12.2.2IR扫描链和IR指令..148.15112.2.3DR扫描链和DR寄存器..15712.3 SW-DP.12.3.1时钟..15712.3.2调试接口概述..15812.3.3协议操作概述.159..16212.3.4协议描述12.3.5传输时序,.169..17012.4调试端口(DP)的通用特性.17012.4.1Sticky标志和DP错误响应12.4.2读和写错误.171..17112.4.3溢出检测..12.4.4协议错误,只用于SW-DP..172..17212.4.5推动比较和推动验证操作12.5调试端口的编程模型.174..17412.5.1JTAG-DP寄存器12.5.2SW-DP寄存器..17512.5.3调试端口(DP)的寄存器描述..176第13章跟踪端口的接口单元...18613.1关于跟踪端口的接口单元.186..18613.1.1TPIU方框图13.1.2 TPIU 组件.18713.1.3TPIU输入和输出..18813.2TPIU寄存器.189..18913.2.1TPIU寄存器汇总13.2.2TPIU寄存器描述.189..194第14章总线接口...19414.1关于总线接口..14.2ICode总线接口..19414.2.1分支状态信号..19514.3DCode总线接口..19514.3.1专用,..195.14.3.2存储器属性.19614.4系统接口..19614.4.1不对齐访问.196
目录 11.6 仪表跟踪宏单元.135 11.6.1 ITM 寄存器总结和描述.135 11.7 AHB 访问端口.141 11.7.1 AHB-AP 处理类型.141 11.7.2 AHB-AP 寄存器总结和描述.141 第 12 章 调试端口.145 12.1 关于调试端口.145 12.2 JTAG-DP.146 12.2.1 扫描链接口.146 12.2.2 IR 扫描链和 IR 指令.148 12.2.3 DR 扫描链和 DR 寄存器.151 12.3 SW-DP.157 12.3.1 时钟.157 12.3.2 调试接口概述.158 12.3.3 协议操作概述.159 12.3.4 协议描述.162 12.3.5 传输时序.169 12.4 调试端口(DP)的通用特性.170 12.4.1 Sticky 标志和 DP 错误响应.170 12.4.2 读和写错误.171 12.4.3 溢出检测.171 12.4.4 协议错误,只用于 SW-DP.172 12.4.5 推动比较和推动验证操作.172 12.5 调试端口的编程模型.174 12.5.1 JTAG-DP 寄存器.174 12.5.2 SW-DP 寄存器.175 12.5.3 调试端口(DP)的寄存器描述.176 第 13 章 跟踪端口的接口单元.186 13.1 关于跟踪端口的接口单元.186 13.1.1 TPIU 方框图.186 13.1.2 TPIU 组件.187 13.1.3 TPIU 输入和输出 .188 13.2 TPIU 寄存器.189 13.2.1 TPIU 寄存器汇总 .189 13.2.2 TPIU 寄存器描述 .189 第 14 章 总线接口.194 14.1 关于总线接口.194 14.2 ICode 总线接口.194 14.2.1 分支状态信号.195 14.3 DCode 总线接口.195 14.3.1 专用.195 14.3.2 存储器属性.196 14.4 系统接口.196 14.4.1 不对齐访问.196