0%

ARM Cortex-M3 M4

ARM Cortex-M3 M4

引言

ARM Cortex-M3 M4是ARM公司推出的32RISC(精简指令集计算机)处理器内核,用于各种嵌入式系统中。

第一章 ARM Cortex-M 处理器简介

1.1 什么是ARM Cortex-M处理器

Cortex-M3和M4为cortex处理器中的第一个,M3和M4处理器使用32位架构,寄存器组中的内部寄存器、数据通路以及总线接口都是32位的,Cortex-M处理器使用指令集架构(ISA)为Thumb ISA,其基于Thumb-2技术并同时支持16位和32位指令。

指令集架构

指令集架构定义了以下的内容:

  • 处理器可以之心那个的指令集合:例如加法、减法、乘法、除法、数据加载、数据存储、跳转等。每条指令都有特定的二进制编码。
  • 指令格式:指令由哪些部分组成,例如操作码、操作数等
  • 寄存器组织:处理器内部有哪些寄存器,每个寄存器的用途和大小。
  • 寻址方式:如何访问存储器中数据,例如立即数寻址、寄存器寻址、直接寻址、间接寻址等。(这是汇编的知识)
  • 铸锻和异常处理:如何响应外部中断和内部异常。

ISA是软件和硬件之间的接口,程序员通过使用ISA定义的指令来编写程序,而硬件则根据ISA的定义来执行这些指令。不同的处理器有不同的ISA,例如X86、ARM、MIPS、RISC-V等

Thumb-2技术: 后来的ARM架构引入了Thumb-2技术,它扩展了Thumb指令集,增加了32位指令,使得Thumb指令集更加强大和灵活,几乎可以替代传统的ARM指令集,同时保持了较高的代码密度。Cortex-M系列处理器主要使用Thumb-2技术。

共同点:

  • 哈佛总线架构,且具有统一的存储器空间:指令和地址总线使用相同的地址空间。
    地址空间是CPU可以访问的存储器地址的范围。例如,一个32位处理器的地址空间为2^32个字节(4GB)。

  • 架构基础:cortex-M3和M4基于相同的架构(ARMv7-M)。

  • Thumb-2指令集:支持16位和32位的混合指令,兼顾代码密度和性能。

  • 3级流水线:提高指令执行效率。

  • NVIC:高效的中断管理。

  • 存储器保护单元(MPU):提供内存保护,增强系统可靠性。

  • 调试接口:支持JTAG和SWD调式。

  • 指令兼容性:Cortex-M3编写的二进制指令无需修改就可用在Cortex-M4上执行。

主要区别:

  • Cortex-M在Cortex-M3的基础上增加了DSP功能,是器更加适合处理信号处理的应用。
  • DSP拓展指令集:Cortex-M4包含一系列优化的DSP指令。
  • 浮点单元(FPU):Cortex-M4可以选择支撑单精度浮点运算单元,童工硬件浮点运算支持。
Cortex-M处理器家族

1150

Cortex-M3和M4处理器基于ARMv7-M架构,既有高性能且为微控制器应用设计的。

处理器和为控制器的区别

ARM公司不生产微控制器,ARM设计的处理器及多种部件都是芯片制造商所需要的,ARM会对包括微控制器供应商在内的各家芯片设备公司授权,也被称为IP授权。

在一个典型的微控制器设计中,处理器只会占用芯片中的一小块区域。在其他部分则成为存储器、时钟生成和分配逻辑、系统总线、外设等。

image-20250120151523458

许多微控制器供应商选择ARM Cortex-M处理器作为它们的CPU,但是存储器映射系统、存储器映射、外设及操作特性(时钟频率和电压)各不相同,就构成了微控制器产品的多样性。

1.2 C程序中的数据类型

image-20250120154950338