Cortex-M3 处理器

发布时间:2025-12-09 21:08:43 浏览次数:3

Cortex-M3 是一个 32 位处理器内核。内部的数据路径是 32 位的,寄存器是 32 位的,存储器接口也是 32 位的。 CM3 采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访 问并行不悖。如图:  ARM 处理器一直支持两种形式上相对独立的指令集,它

们分别是:

 32 位的 ARM 指令集。对应处理器状态: ARM 状态  16 位的 Thumb 指令集。对应处理器状态: Thumb 状态              Thumb-2 是 Thumb 的超集,它支持both16 位和 32 位指令。从图中可见,Cortex-M3勇敢地拒绝了32位ARM指令集,却把自己的处理能力以身相许般地全托给Thumb-2指令集。       Cortex-M3 处理器拥有 R0-R15 的寄存器组。 R0-R12 都是 32 位通用寄存器,用于数据操作。但是注意:绝大多数 16 位 Thumb 指令只能访 问 R0-R7 ,而 32 位 Thumb-2 指令可以访问所有寄存器。

 

Banked R13: 两个堆栈指针 Cortex-M3 拥有两个堆栈指针,然而它们是 banked ,因此任一时刻只能使用其中的一个。  主堆栈指针( MSP ):复位后缺省使用的堆栈指针,用于操作系统内核以及异常处理例程(包 括中断服务例程)  进程堆栈指针( PSP ):由用户的应用程序代码使用。 堆栈指针的最低两位永远是 0 ,这意味着堆栈总是 4 字节对齐的。 R14 :连接寄存器 当呼叫一个子程序时,由 R14 存储返回地址,就是子程序的断点地址 R15 :程序计数寄存器 指向当前的程序地址。如果修改它的值,就能改变程序的执行流。 特殊功能寄存器 Cortex-M3 还在内核水平上搭载了若干特殊功能寄存器,包括 程序状态字寄存器组( PSRs ) 中断屏蔽寄存器组( PRIMASK, FAULTMASK, BASEPRI ) 控制寄存器( CONTROL )

  存储器映射

Cortex-M3 支持 4GB 存储空间

 

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477