01. ARM Cortex-M - (01).架构介绍

STM32 产品命名规范

在这里插入图片描述

STM32:意法半导体 32 位处理器
F 407:产品类型。
I:管脚数量。
G:flash 容量。
T:芯片封装方式。
6:工作温度范围。


一、Cortex-M 基础

1、Cortex-M:

Cortex-M0 :主打低功耗和混合信号的处理。只支持Thumb
Cortex-M1 :应用于FPGA的应用控制领域
Cortex-M3、Cortex-M4:替代 ARM7,重点侧重能耗与性能的平衡
Cortex-M4基于的 ARMv7-M 体系结构,只用了16位Thumb指令和部分32位Thumb指令。
Cortex-M7: 则重点放在高性能控制运算领域。
	L0、F0:Cortex-M0、Cortex-M0+。(F051)
	F1、F2:Cortex-M3。(F103)
	F3、F4:Cortex-M4。(F407、F429)

2、Cortex-M4 特性:

Cortex™-M4处理器内核是在Cortex-M3内核基础上发展起来的。使用ARMv7-M的体系架构支持DSP和SIMD。
其性能比Cortex-M3提高了20%。新增加了浮点、DSP、并行计算等。
RISC处理器内核:高性能32位CPU
Thumb-2 指令集,高效、高代码密度
中断数量可配置(1~240个),低中断切换时延,提供不可屏蔽中断(NMI)输入保障高可靠性系统;
低功耗模式:集成的睡眠状态支持、多电源域、基于架构的软件控制;
支持多种嵌入式操作系统,也被多种开发组件支持,包括 MDK(ARM Keil 微控制器开发套件)、RVDS(ARM RealView 开发组件)、IAR C 编译器等。

3、Cortex-M4 工作模式:

处理模式(Handler Mode):
	当处理器发生了异常或者中断,则进入处理模式进行处理、处理完成后返回线程模式。
	处于特权访问等级,可以访问处理器中的所有资源。
线程模式(Thread Mode):
	芯片复位后,即进入线程模式(特权级),执行普通用户程序。
	可以处于特权或非特权模式,访问等级由CONTROL寄存器控制
----------------------------------------------------------------------
Thumb状态:正常运行时处理器的状态(正常+异常)。
调试状态:调试程序时处理器的状态,调试器可以访问或修改处理器中寄存器的值。


二、寄存器

1、Cortex-M4 寄存器:

R0-R12:通用寄存器。
	R0-R7:低端寄存器,可作为 16 位或 32 位指令操作数
	R8-R12:高端寄存器,只能用作 32 位操作数
	R13:堆栈指针 SP。Cortex-M4 在物理位置上存在两个栈指针,主栈指针 MSP,进程栈指针 PSP。
		处理模式下,只能使用主堆栈;线程模式下,可以使用主堆栈,或进程堆栈(由 CONTROL 寄存器控制)
		系统上电的默认栈指针是MSP
	R14:连接寄存器(LR),用于存储子程序或者函数调用的返回地址
	R15:程序计数器(PC),存储下一条将要执行的指令的地址。

2、xPSR:组合程序状态寄存器,该寄存器由三个程序状态

xPSR:组合程序状态寄存器,该寄存器由三个程序状态寄存器组成:
	应用PSR(APSR)	包含前一条指令执行后的条件标志
	中断PSR(IPSR)	包含当前ISR的异常编号
	执行PSR(EPSR)	包含Thumb状态位
PRIMSK:中断屏蔽特殊寄存器。

在这里插入图片描述

3、CONTROL:控制寄存器

[PRIV]:0-处理器处于线程模式的特权级;1-非特权级
[SPSEL]:0-线程模式使用MSP;1-使用PSP。处理器模式时,固定使用MSP。

在这里插入图片描述


三、异常和中断

1、异常中断种类:

Reset、HardFault、SVCall、PendSV、SysTick 等,主要用于操作系统和错误处理。
Cortex-M4 处理器最多支持 240 个中断输入。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值