0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

学习Cortex-M3时,我们必须要知道必要的缩略语

lPCU_elecfans 来源:lq 2018-12-12 10:37 次阅读

首先,在学习Cortex-M3时,我们必须要知道必要的缩略语。

整理如下:

AMBA:先进单片机总线架构 ADK:AMBA设计套件AHB:先进高性能总线 AHB-AP:AHB访问端口APB:先进外设总线 ARM ARM:ARM架构参考手册ASIC:行业领域专用集成电路 ATB :先进跟踪总线

BE8:字节不变式大端模式 CPI:每条指令的周期数

DAP:调试访问端口 DSP数字信号处理(器)DWT:数据观察点及跟踪 ETM:嵌入式跟踪宏单元FPB:闪存地址重载及断点 FSR:fault状态寄存器

HTM:Core Sight AHB跟踪宏单元ICE:在线仿真器 IDE:集成开发环境

IRQ:中断请求(通常是外中断请求)ISA:指令系统架构 ISR:中断服务例程ITM:仪器化跟踪宏单元

JTAG:连接点测试行动组(一个关于测试和调试接口的标准)LR:连接寄存器

LSB:最低有效位

MSB:最高有效位LSU:加载存储单元MCU微控制器单元

MPU:存储器保护单元

MMU:存储器管理单元MSP:主堆栈指针NMI:不可屏蔽中断NVIC:嵌套向量中断控制器PC:程序计数器PPB:私有外设总线

Cortex-M3芯片简介

1、芯片的基本结构如下图

2、关于ARMv7的知识了解

在这个版本中,内核架构首次从单一款式变成3种款式。

款式A:设计用于高性能的“开放应用平台”——越来越接近电脑

款式R:用于高端的嵌入式系统,尤其是那些带有实时要求的——又要快又要实时。

款式M:用于深度嵌入的,单片机风格的系统中。

介绍A:用于高性能的“开放应用平台”,应用在那些需要运行复杂应用程序的处理器。支持大型嵌入式操作系统

R:用于高端的嵌入式系统,要求实时性的。

M:用于深度嵌入的、单片机风格的系统中。

3、Cortex-M3处理器的舞台

高性能+高代码密度+小硅片面积,使得CM3大面积地成为理想的处理平台,主要应用在以下领域:

(1)低成本单片机(2)汽车电子(3)数据通信(4)工业控制(5)消费类电子产品

4、Cortex-M3的简化图

5、寄存器组

处理器拥有R0-R15的寄存器组,其中R13最为堆栈指针SP,SP有两个,但是同一时刻只能有一个可以看到,这就是所谓的“banked”寄存器。

a、R0-R12都是 32位通用寄存器,用于数据操作。但是注意:绝大多数 16位Thumb指令只能访问R0-R7,而 32位 Thumb-2指令可以访问所有寄存器。

b、Cortex-M3拥有两个堆栈指针,然而它们是 banked,因此任一时刻只能使用其中的一个。

6、Cortex-M3的简评

a、高性能

许多指令都是单周期的——包括乘法相关指令。并且从整体性能上,Cortex-M3比得过绝大多数其它的架构。

指令总线和数据总线被分开,取值和访内可以并行不悖 。

Thumb-2的到来告别了状态切换的旧世代,再也不需要花时间来切换于 32位 ARM状态和16位Thumb状态之间了。这简化了软件开发和代码维护,使产品面市更快。

Thumb-2指令集为编程带来了更多的灵活性。许多数据操作现在能用更短的代码搞定,这意味着 Cortex-M3的代码密度更高,也就对存储器的需求更少。

取指都按 32位处理。同一周期最多可以取出两条指令,留下了更多的带宽给数据传输。

Cortex-M3的设计允许单片机高频运行(现代半导体制造技术能保证 100MHz以上的速度)即使在相同的速度下运行,CM3的每指令周期数(CPI)也更低,于是同样的 MHz下可以做更多的工作;另一方面,也使同一个应用在 CM3上需要更低的主频。

b、先进的中断处理功能

内建的嵌套向量中断控制器支持240条外部中断输入。向量化的中断功能大大减少了中断延迟,因为不在需要软件去判断中断源。中断的嵌套也是在硬件水平上实现的,不需要软件代码来实现。

Cortex-M3在进入异常服务例程时,自动压栈了 R0-R3, R12, LR, PSR 和PC,并且在返回时自动弹出它们,这多清爽!既加速了中断的响应,也再不需要汇编语言代码了

NVIC支持对每一路中断设置不同的优先级,使得中断管理极富弹性。最粗线条的实现也至少要支持 8级优先级,而且还能动态地被修改。

优化中断响应还有两招,它们分别是“咬尾中断机制”和“晚到中断机制”。

有些需要较多周期才能执行完的指令,是可以被中断-继续的——就好比它们是一串指令一样。

这些指令包括加载多个寄存器(LDM),存储多个寄存器(STM),多个寄存器参与的PUSH,以及多个寄存器参与的 POP。

除非系统被彻底地锁定,NMI(不可屏蔽中断)会在收到请求的第一时间予以响应。对很多安全-关键(safety-critical)的应用,NMI都是必不可少的(如化学反应即将失控时的紧急停机)。

通过上面我们可以很容易理解STM32的一些基本知识和结构,为学习STM32打好了基础...

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7147

    浏览量

    161978
  • 数字信号处理

    关注

    15

    文章

    519

    浏览量

    45297
  • Cortex-M3
    +关注

    关注

    9

    文章

    268

    浏览量

    59160

原文标题:想要从STM32小白成为达人,这些你必须知道

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    高性能+高代码密度+小硅片面积——Cortex-M3处理器

    解一下Cortex-M3 架构。首先,在学习Cortex-M3时,我们必须要知道必要
    发表于 09-14 09:49

    FPGA缩略语

    FPGA缩略语表,大家可以看看,有时候老忘记,彼此学习一下
    发表于 04-01 17:01

    纯干货|最经典的STM32-M3概述!

    首先,在学习Cortex-M3时,我们必须要知道必要缩略语。整理如下:AMBA:先进单片机总线
    发表于 08-04 16:05

    纯干货|最经典的STM32-M3概述!

    `首先,在学习Cortex-M3时,我们必须要知道必要缩略语。整理如下:AMBA:先进单片机总
    发表于 08-28 15:09

    想要从STM32小白成为达人,这些知识你必须知道

    有需要资料的可以加我:腾讯3249838614首先,在学习Cortex-M3时,我们必须要知道必要缩略
    发表于 02-26 09:19

    STM32的这些经典功能,你真的掌握了吗?

    首先,在学习Cortex-M3时,我们必须要知道必要缩略语。整理如下:AMBA:先进单片机总线
    发表于 05-17 18:30

    Cortex-M3的相关资料分享

    首先,在学习Cortex-M3时,我们必须要知道必要缩略语。整理如下:AMBA:先进单片机总线
    发表于 11-29 06:34

    stm32中断堆栈的相关资料分享

    STM32的这些经典功能,你真的掌握了吗?首先,在学习Cortex-M3时,我们必须要知道必要缩略语
    发表于 11-29 08:02

    从STM32小白成为达人的方法

    有需要资料的可以加我***首先,在学习Cortex-M3时,我们必须要知道必要缩略语。整理如下
    发表于 11-29 07:10

    Cortex-M3缩略语是什么

    首先,在学习Cortex-M3时,我们必须要知道必要缩略语。整理如下:AMBA:先进单片机总线
    发表于 01-18 07:27

    stm32中断堆栈_想要从STM32小白成为达人,这些知识你必须知道

    首先,在学习Cortex-M3时,我们必须要知道必要缩略语。整理如下:AMBA:先进单片机总线
    发表于 11-19 12:36 10次下载
    stm32中断堆栈_想要从STM32小白成为达人,这些知识你<b class='flag-5'>必须知道</b>

    stm32中断堆栈_STM32的这些经典功能,你真的掌握了吗?

    STM32的这些经典功能,你真的掌握了吗?首先,在学习Cortex-M3时,我们必须要知道必要缩略语
    发表于 11-19 13:36 2次下载
    stm32中断堆栈_STM32的这些经典功能,你真的掌握了吗?

    stm32中断堆栈_想要从STM32小白成为达人,这些知识你必须知道

    首先,在学习Cortex-M3时,我们必须要知道必要缩略语。整理如下:AMBA:先进单片机总线
    发表于 11-19 13:51 10次下载
    stm32中断堆栈_想要从STM32小白成为达人,这些知识你<b class='flag-5'>必须知道</b>

    想要从STM32小白成为达人,这些知识你必须知道

    有需要资料的可以加我:腾讯3249838614首先,在学习Cortex-M3时,我们必须要知道必要缩略
    发表于 11-19 14:06 10次下载
    想要从STM32小白成为达人,这些知识你<b class='flag-5'>必须知道</b>

    STM32的基本知识

    首先,在学习Cortex-M3时,我们必须要知道必要缩略语
    的头像 发表于 05-04 16:48 5330次阅读
    STM32的基本知识