Arm® Cortex®-M3

经过前一期的芝识课堂,我们了解了东芝MCU产品所基于Arm® Cortex®-M3内核的基本结构和寄存器分配的细节。大家一定迫不及待地想知道Arm® Cortex®-M3内核的操作模式又有哪些技巧吧?今天芝子就带大家详细学习一下吧!

Arm® Cortex®-M3有两个特权(特权/非特权)和两种操作模式(线程/处理者)。对于嵌入式使用,可以选择只有特权级别的基本配置或在特权和非特权之间切换的配置。在特权/非特权级别下,通过在分配给寄存器R13的主栈指针(MSP)与进程栈指针(PSP)之间切换,堆栈区域可由操作系统内核以及用户例程等处理功能分离和管理。

如果发生异常/中断的程序,控制寄存器的状态以及堆栈指针的切换情况是怎么样的呢?如图1所示,当发生异常/中断时,使用中的堆栈会随控制寄存器CONTROL的状态而改变。以显示主栈指针(MSP)和进程栈指针(PSP)之间的切换状态。

1.gif

图1 发生异常/中断的程序时控制寄存器的状态以及堆栈指针的切换

Arm® Cortex®-M3内核的所有异常都在特权模式下运行,且具有中断特权并支持嵌套中断,所有异常都集成在NVIC寄存器中。值得注意的是,因每个设备而异,部分设备中断过程支持外部中断。异常可通过复位、中断、故障和系统调用执行。异常类型和特权级别如图2所示。

2.gif

图2 异常类型和特权级别

对于集成异常的NVIC控制寄存器,当发生异常和中断操作时,它作为从主内核到存储器的设备被访问,用于控制各中断使能的设置与清除、控制各中断请求的设置与清除(释放保留)以及控制中断的优先级。

下面我们再带大家了解NVIC块的基本功能之一——外部中断处理控制,将使能位和挂起位分配给每个外部中断信号,并配置控制寄存器。控制寄存器分为仅设置寄存器和仅清除寄存器。外部中断的产生通过优先级寄存器的信息来控制。该寄存器用于设置中断优先级以及使能位和挂起位的状态,如图3。Arm® Cortex®-M3通过NVIC控制实现高速入栈/出栈处理,此外,如果中断处理过程中同时发生中断请求或发生高优先级的中断请求,则入栈/出栈处理的寄存器自动保存将被忽略,从而改善处理时间。

3.gif

图3

介绍完异常和中断操作,我们再来看看Arm® Cortex®-M3规格的存储器映射。图4是Arm® Cortex®-M3规格的存储器映射示意图,可以清楚看到每个存储器对应的存储功能。图5则展示了这款MCU的存储器映射细节,从中可以看到相比于Arm® Cortex®-M3标准的规格,该芯片的部分存储器映射进行了深度优化。

4.gif

图4

5.gif

图5

在CPU接收到外部中断/异常时,它会先查询向量表,以查找到相应的中断服务程序地址。向量表是指中断服务程序入口地址的偏移量与段基址,一个中断向量占据4字节空间。各种异常的处理者(处理例程)的起始地址是分别设置的。当异常或中断事件发生时,从地址开始获取异常处理者。各种异常的向量表如图6所示。

6.gif

图6

此外,关于位带和位带别名区的详细信息如图7所示。存储器中的数据通过1位单元进行有效运算。1位单元通过将位带区的数据加载或存储到位带别名区来访问这些数据。

那么位带区数据和位带别名区的地址如何分配?位带别名区的地址以字为单位进行分配(1个字=32位):位带别名区的字地址bit0访问位带区的每个位;位带别名区的字地址的分配方式为,每个地址分配给位带区的每个位。

7.gif

图7

今天的芝识课堂,我们深入探讨了Arm® Cortex®-M3内核的操作模式,并分析了存储器映射的具体细节。接下来我们会一起进入东芝MCU产品的外围电路部分,学习如何针对不同应用增加各种功能单元,从而助力低功耗高性能解决方案开发的,敬请期待!

相关内容:【TX03微控制器】—强大的Arm® Cortex®-M3内核(上)

来源:东芝半导体

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 30

上一期的芝识课堂,我们带大家一起认识了东芝应用广泛的TX03系列微控制器,并且重点介绍了TX03系列中部分产品组的主要特点和应用领域。在MCU中,内核是关键单元,要应用好TX03系列MCU必须要先了解该系列所基于的Arm® Cortex®-M3内核。本期内容开始,芝子将向大家介绍Arm® Cortex®-M3内核的特点和各基本单元。

东芝的TX03系列是基于Arm® Cortex®-M3内核设计的MCU,让我们先来一起认识Arm® Cortex®-M3处理器的基本功能,方框图如图1所示。它由一个主核模块、一个控制中断的NVIC(内嵌向量中断控制器)模块、一个支持调试的功能模块和一个与外围电路进行外部连接的接口模块组成。

1.png

图1 内核结构方框图

根据图1可知,Cortex®-M3主核采用三段式流水线配置。[Fe]是读数阶段,读取PC(程序计数器)指示的存储器地址的指令;[De]作为解码阶段,对指令进行解码,并确定执行阶段的执行控制;[Ex]是执行阶段,通过Shift和ALU(算术逻辑单元)执行四则运算、逻辑运算、乘法和除法等运算,并执行加载和存储,寄存器在此阶段更新;最后[MUL/DIV]代表乘法/除法。

针对Arm处理器中断响应的问题,Cortex®-M3在内核上集成了NVIC(嵌套向量中断控制器)。NVIC模块可挂起正在主核上运行的计算处理,并控制切换到优先处理。它支持系统异常和中断的发生,如果在异常处理过程中需要有一个高优先级的异常中断,NVIC块将:

1、暂停正在处理的异常

2、启动高优先级的异常处理

3、完成高优先级的异常处理

4、恢复中断的异常处理

它可以控制嵌套,即异常中断处理。此外,它还包括调试控制功能和SysTickTimer,即操作系统(OS)进行任务管理的硬件定时器。

Cortex®-M3处理器具有R0至R15寄存器。R0至R12是通用寄存器。R13是可配置区域的寄存器,可以在两种堆栈指针之间切换。R14是链接寄存器,R15是程序计数器。此外,还有控制Cortex®-M3处理器特殊功能的特殊寄存器。寄存器分配如图2所示。

2.png

图2 寄存器分配示意图

图片上蓝色部分寄存器均为通用寄存器,用于输入算术单元(ALU)的数据,输出计算结果,传输存储器中储存数据的操作等。寄存器R15(PC)和R14(LR)用于控制程序执行顺序,而寄存器R13则用于堆栈指针。

特别要注意的是,Arm® Cortex®-M3内核在异常/中断处理程序的开始和结束时会自动执行入栈和出栈功能。可自动执行入栈和出栈的寄存器有8个,分别是R0、R1、R2、R3、R12、R14、R15和xPSR。

我们来看看如图3所示的在发生异常/中断事件时,程序流程示例中的入栈和出栈操作。

3.png

图3 异常/中断事件时,程序流程的入栈和出栈操作图

此外,Arm® Cortex®-M3还在内核水平上搭载了若干特殊功能寄存器,主要可分为三组:状态字寄存器(三合一)、中断屏蔽寄存器、控制寄存器。具体功能及描述可看图4。

4.png

图4 Arm® Cortex®-M3内核特殊寄存器功能概述

通过今天的芝识课堂,我们带大家从内核的基本结构入手,不仅学习了流水线的基本流程,还了解了该内核的寄存器相关知识和分配的规则。在随后的芝识课堂中,我们将会继续跟大家一起学习Arm® Cortex®-M3内核的操作模式和其他功能单元,请大家持续关注芝识课堂,别错过最详尽的MCU基础功能介绍哦!

来源:东芝半导体

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 23

对消费产品与工业设备的主控装置以及电机控制进行优化

东芝电子元件及存储装置株式会社(“东芝”)近日宣布,已开始量产M3H组的21款新微控制器,M3H组是TXZ+™族高级系列的新成员,采用40nm工艺制造。M3H组内置Arm® Cortex®-M3内核,工作频率高达120MHz,最高可集成512KB代码闪存和32KB数据闪存,具有10万次的写入周期寿命。此外,新款微控制器还提供了丰富的接口与电机控制选项,例如UART、I2C、编码器和可编程电机控制。M3H组器件广泛适用于包括电机、家用电器和工业设备在内的众多应用。

为了应对消费类设备的多样性,新款M3H组产品用UART、TSPI、I2C和2单元DMAC强化通信功能。此外,还集成了数字LCD驱动,从而减少了用于显示功能的组件数量,便于对比度的调整,并确保电路板布局灵活。

高速、高精度12位模拟/数字转换器(ADC)最高支持21个模数转换输入通道,可单独设置采样保持时间,使该组器件支持多种多样的传感应用。此外,与高级可编程电机控制电路(可与高速、高精度12位模拟/数字转换器同步运行)相结合,它们还提供了一种适用于控制交流电机与直流无刷电机的解决方案。

该组器件内置ROM、RAM、ADC和时钟的自诊断功能,有助于客户通过IEC60730 B类功能安全认证。

您可以访问东芝网站并下载文档、示例软件及其实际使用示例,以及控制每种外围设备的接口驱动程序软件。评估板和开发环境是与Arm全球生态系统合作伙伴合作提供的。

新产品的主要特性

  • 高性能Arm Cortex-M3内核,最高频率为120MHz

  • 针对具有广泛内存和封装形式的消费类设备进行优化

  • 满足IEC60730 B类功能安全要求的自诊断功能

应用

用于消费类设备、家用电器、玩具、办公用品、医疗设备等的主控装置

用于工业设备的电机控制

规格

“东芝推出TXZ+™族高级系列新款M3H组Arm®

如需了解相关东芝微控制器的更多信息,请复制以下链接进行访问:

微控制器:https://toshiba-semicon-storage.com/cn/semiconductor/product/microcontrollers.html

* Arm和Cortex是Arm有限公司(或其子公司)在美国和/或其他国家或地区的注册商标。

* TXZ+™是东芝电子元件及存储装置株式会社的商标。

* 本文提及的公司名称、产品名称和服务名称可能是其各自公司的商标。

* 本文档中的产品价格和规格、服务内容和联系方式等信息,在公告之日仍为最新信息,但如有变更,恕不另行通知。

来源:东芝半导体
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 11
订阅 RSS - Arm® Cortex®-M3