CORTEX-M4知识点总结 联系客服

发布时间 : 星期五 文章CORTEX-M4知识点总结更新完毕开始阅读f6af7a3615791711cc7931b765ce05087632758f

Cortex-M4内核知识点总结

余 明

目录

Cortex-M4内核知识点总结 ................................................................................. 1 1 ARM处理器简介 ................................................................................................ 4 2 架构 ................................................................................................................... 5

2.1架构简介 ................................................................................................. 5 2.2编程模型 ................................................................................................. 5 2.3存储器系统 ............................................................................................. 8 2.4复位和复位流程 ................................................................................... 12 3 指令集 ............................................................................................................. 14

3.1 CM4指令集特点 ................................................................................... 14 3.2 Cortex-M处理器间的指令集比较 ....................................................... 14 3.3 汇编指令简要介绍 .............................................................................. 14

3.3.1 处理器内传送数据 ................................................................... 14 3.3.2 存储器访问指令 ....................................................................... 15 3.3.3 算数运算 ................................................................................... 16 3.3.4 逻辑运算 ................................................................................... 17 3.3.5 移位 ........................................................................................... 17 3.3.6 异常相关指令 ........................................................................... 17

4 存储器系统 ..................................................................................................... 18

4.1 存储器外设 .......................................................................................... 18 4.2 Bootloader ............................................................................................. 18 4.3位段操作 ............................................................................................... 19 4.4 存储器大小端 ...................................................................................... 19 5 异常和中断 ..................................................................................................... 21

5.1 中断简介 .............................................................................................. 21 5.2异常类型 ............................................................................................... 21 5.3 中断管理 .............................................................................................. 22 5.4 异常或中断屏蔽寄存器 ...................................................................... 23

5.4.1 PRIMASK ...................................................................................... 23

5.4.2 FAULMASK (M0中无) .......................................................... 23 5.4.3 BASEPRI(M0中无) ................................................................. 23 5.5 中断状态及中断行为 .......................................................................... 23

5.5.1 中断状态 ................................................................................... 23 5.5.2 中断行为 ................................................................................... 24 5.6 各Cortex-M处理器NVIC差异 ........................................................... 26 6 异常处理 ......................................................................................................... 28

6.1 C实现的异常处理 ................................................................................ 28 6.2 栈帧 ...................................................................................................... 28 6.3 EXC_RETURN .......................................................................................... 29 6.4异常流程 ............................................................................................... 30

6.4.1 异常进入和压栈 ....................................................................... 30 6.4.2 异常返回和出栈 ....................................................................... 31

7 低功耗和系统控制特性 ................................................................................. 32

7.1 低功耗模式 .......................................................................................... 32 7.1 SysTick定时器 ....................................................................................... 32 8 OS支持特性 ..................................................................................................... 34

8.1 OS支持特性简介 .................................................................................. 34 8.2 SVC和PendSV ....................................................................................... 34 8.3 实际的上下文切换 .............................................................................. 35

1 ARM处理器简介

ARM处理器的种类很多,从手机上的高端处理器芯片到面向微控制器的芯片,都有ARM的身影。2011年基于ARM处理器的芯片的出货量已经到达79亿。这一章首先对ARM处理器有个简单的了解。

在早期的时候,ARM处理器使用后缀表明特性。例如ARM7TDMI,T表示支持Thumb指令,D表示JTAG,M表示快速乘法器,I则表示嵌入式ICE模块。 近几年,ARM改变处理器的命名方式,统一使用了Cortex处理器的名称。Cortex处理器下分为三类:

· Cortex-A系列:需要处理高端嵌入式系统等复杂应用的应用处理器 · Cortex-R系列:实时、高性能的处理器,面向较高端的实时市场 · Cortex-M系列:面向微控制器和混合信号设计等小型应用,注重低成本、

低功耗。

不同系列的处理器使用不同版本的架构

Cortex-A系列 Cortex-R系列 Cortex-M系列 ARMv7-A架构 ARMv7-R架构 ARMv7-M、ARMv6-M 在Cortex-M系列中,进一步都处理器进行了划分 处理器 Cortex-M0、Cortex-M0+ Cortex-M1 Cortex-M3 Cortex-M4 功能 低功耗 FPGA 微控制器 增加DSP 架构 ARMv6-M ARMv6-M ARMv7-M ARMv7E-M