STM32-自学笔记(2.ARMCortex-M3内核构架)

 Cortex-M3   的CPU:32位CPU

 

cpu的两种运行模式:线程模式(Thread)和处理模式(Handler)。

cpu不处理异常事件时,会运行在线程(Thread)模式下。而当cpu需要处理一个异常事件时,就会切换到处理(Handler)模式下。

此外 Cortex-M3的cpu还有两种处理代码的方式:私有模式和非私有模式。

私有模式下,cpu可以执行所有指令。

非私有模式下,部分指令是被禁止执行的(xPSR寄存器操作的MRS和MSR指令)。同时也不能对cpu的系统控制区中的寄存器进行进行操作。

 

另外,堆栈的使用也是可以设置的,主堆栈在线程模式和处理模式下都可以使用。通过设置,Handler模式也可以使用进程堆栈。

 

Thumb-2指令集

32位指令可以提高运行速度,16位指令可以提高代码密度。

 

Thumb-2指令集是32位指令和16位指令集的混合体。

相对于32位指令集,有26%的代码密度提升。

相对于16位指令集,有25%的性能提升。

 

总线

 

 Cortex-M3处理器基于哈佛结构,拥有独立的地址总线和数据总线。分别称为I-Code和D-Code。

这两条总线都可以在0x00000000-0x1FFFFFFF范围内存取代码和数据。

 

总线矩阵

 

 Cortex-M3处理器的系统总线和数据总线通过一系列告诉总线阵列组成的总线矩阵和外部控制器连接。

在 Cortex-M3处理器的内部总线和外部总线之间建立一些并行通道。

 

嵌套中断向量控制器:

 

嵌套中断向量控制器(NVIC)是Cortex-M3处理器的标准配备 。

这意味着所有基于Cortex-M3核心的微控制器都有着相同的中断结构。而不在取决于芯片制造商。

NVIC的特征之一是具有非常低的中断延时,这也得益于Thumb-2指令集的特征:允许多周期指令被打断(如load和store)。而NVIC的中断延时是绝对固定的。

中断嵌套:允许高级中断打断正在执行的低级中断,当执行完高级中断时,再返回去继续执行低级中断。

 

(摘自STM32自学笔记)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值