本学习参照 “Cortex-M3权威指南”学习,需要详细学习,建议自行观看。
Cortex-M3基础
CM3介绍
Cortex-M3
处理器内核其实就是单片机的中央处理单元(
CPU
)。
完整的基于
CM3
的
MCU
还需要很多其它组件,如下,
Cortex-M3
是一个
32
位处理器内核;
内部的数据路径是
32
位的,寄存器是
32
位的,存储器 接口也是 32
位的;
CM3
采用了哈佛结构,拥有独立的指令总线和数据总线;
CM3
提供一个可选的
MPU
,而且在需要的情况下也可以使用外部的 cache。
CM3的简化试图如下,
ARM
处理器一直支持两种形式上相对独立的指令集,它们分别是:
- 32位的ARM指令集。对应处理器状态:ARM状态
- 16位的Thumb指令集。对应处理器状态:Thumb状态
备注:Thumb-2指令集是16位指令首次与32位指令并存的指令集。
寄存器组
Cortex-M3 处理器拥有 R0-R15 的寄存器组以及一些特殊功能寄存器。
通用寄存器R0-R7
R0-R7 也被称为低组寄存器,用于数据操作,且所有指令都能访问她们,32 位 ,
复位后的初始值是不可预料。
通用寄存器R8-R12
R8-R12 也被称为高组寄存器,也是用于数据操作,32位,但是只有很少的16位Thumb指令可以访问它们,32 位的Thumb-2 指令则不受限制。