STM32不快乐吗?(0、综述)

处理器类型

  1. Cortex-M为32位的RICS(精简指令集)处理器:

    • 32位寄存器
    • 32位内部数据通路
    • 32位总线接口
  2. Cortex-M3和M4处理器都具有三级流水线(取指、译码、执行)结构,都是基于哈佛总线结构,取指和数据访问可以同时执行。

  3. Cortex-M处理器系统使用32位寻址,即4G寻址空间,存储器映射是一致的。存储器空间包括程序代码、数据、外设以及支持调试的组件。

  4. 基于加载-存储架构,数据需要从存储器中加载和处理后,使用多个单独的指令写回存储器。例如,当需要增加SRAM中存储的数据值:

    • 使用一条指令从SRAM中读数据到处理器中的寄存器中
    • 第二条指令增加寄存器中的值
    • 最后第三条指令将数据值写回到存储器

处理器架构

  1. 处理器只是微控制器芯片中的一部分,存储器系统、外设和各种接口特性由微控制器供应商开发。对于ARM处理器,架构一般指两个方面:

    • 架构。指令集架构(ISA)、编程模型以及调试方法
    • 微架构。接口信号、指令执行时序以及流水线实现。
  2. Cortex-M3和M4都基于ARMv7-M架构。M0、M0+和M1基于ARMv6-M。 一个指令集架构可以包含多个微架构设计。Cortex-M系列主要是用来取代经典处理器ARM7系列(比如基于ARMv4架构的ARM7TDMI),Cortex-M比ARM7的架构高了3代 。

    发布顺序:

    • ARM-v6。

    • ARM-v7-M。( Cortex-M3:2004年10月 )、( Cortex-M4:2010年02月 )

    • ARMv6-M。( Cortex-M1:2007年03月 )、( Cortex-M0:2009年02月 )、( Cortex-M0+:2012年03月 )

ARMv6-M架构的诞生
  1. ARMv7-M架构参考手册主要包含

    • 指令集细节
    • 编程模型
    • 异常模型
    • 调试架构

指令集

  1. Cortex-M处理器使用的指令集名为Thumb(其中包含了16位Thumb指令和更新的32位Thumb指令),M3和M4处理器用到了Thumb-2技术,允许16位和32位指令的混合使用。

    随着Thumb-2技术的引入,Cortex-M处理器更笨不支持ARM指令,无需ARM指令集和Thumb指令集的状态切换。

不同Cortex-M处理器的指令集

模块框图

  1. 处理器框图
处理器框图
总线接口

存储系统

  1. M3和M4本身并不含有存储器(没有程序存储器、SRAM或缓存),但是具有相同的片上总线接口。一般来说,微控制器供应商会将一下部件添加到存储器系统中:
    • 程序存储器,一般来是Flash
    • 数据存储器,一般是SRAM
    • 外设。
  2. Cortex-M处理器总线接口为32位宽,基于高级微控制器总线架构(AMBA)标准,AMBA包含多个总线协议。
  3. M3和M4主要使用的总线接口协议为AHB Lite(高级高性能总线),它用于程序存储器系统总线接口。AHB Lite协议为流水线结构的总线协议。另外,APB(高级外设总线)接口为处理器使用的另外一种总线协议,通常用于基于ARM的微控制器的总线系统。APB在M3和M4中内部用于调试支持。

中断和异常支持

  1. Cortex-M3和M4内部集成了嵌套向量中断控制器(Nested Vector Interrupt Unit,NVIC),该中毒那控制器能够处理多达240个中断源。一次中断的延迟仅有12个时钟周期。NVIC内部包含了一个24位的可自动重载标准倒计时时钟定时器——系统时钟定时器(Systick Timer),用来提供定期中断信号,其典型的应用为RTOS(Real-Time Operating System)提供系统时钟节拍。

  2. 紧挨着NVIC的是唤醒中断控制器(Wakeup Interrupt Controller,WIC),当处理器工作在低功耗时它保持在激活状态,通过WIC,外部中断信号可以把处理器唤醒。

CoreSight调试架构

  1. 较早期的ARM7/9处理器是使用联合测试工作组(Joint Test Action Group, JTAG)调试接口进行调试的,其存在两个严重问题:第一个是可设置的程序断店数量有限,通常单步调试只能设置两个断点;第二个是当CPU在运行时无法查看CPU、内存以及外围设备存储器的状态和内容。

  2. CoreSight允许放置8个硬件断点,并提供3个独立的追踪单元进行先进的调试。

    • 数据观测点与追踪(Date Watchpoint and Trace, DWT

    • 仪器追踪宏单元(Instrumentation Trace Macrocell,ITM

    • 嵌入式追踪宏单元(Embedded Trace Macrocell,ETM

参考文献:
  1. ARM Cortex-M3与Cortex-M4权威指南
  2. Cortex-M处理器设计指南
参考网站
  1. Cortex-M各版本的第一款MCU[转载](2017-11-08 21:06:02)
  2. 忘掉MCU吧 解析Cortex-M4的时代(出处: 单片机论坛)

你可能感兴趣的:(STM32不快乐吗?(0、综述))