精华内容
下载资源
问答
  • 2021-08-11 15:15:54

    Cortex —M0处理器的各部分功能如下。
    1)处理器内核包含寄存器组、算术逻辑单元( ALU )、数据总线和控制逻辑。按照设计
    要求,流水线可以工作在取指、译码和执行三种状态下。
    2)嵌套向量中断控制器( NVIC )用于处理最多32个中断请求和一个不可屏蔽中断(NM1)输人, NVIC 需要比较正在执行中断和处于请求状态中断的优先级,然后自动执行高优先级的中断。
    3)唤醒中断控制器( WIC )在低功耗应用中使用。当微控制器的大部分模块关闭后,微控制器会进人待机状态。此时, WIC 可以在 NVIC 和处理器处于休眠的情况下执行中断监测功能,当 WIC 检测到一个中断时,会通知电源管理器给系统上电,让 NVIC 和处理器内核执行剩下的中断过程。
    4)调试子系统由多个模块构成,用于处理调试控制、程序断点和数据监视点。当调试
    进行时、处理器内核会自动进人暂停状态。
    5) JTAG 和 SWD 接口提供了通向内部总线系统和调试功能的人口。 JTAG 一般用作测试功能,而 SWD 则是一种新型接口,只需两根线(时钟线和数据线)就可以完成芯片编程或实现与 JTAG 相同的调试功能。
    6)内部总线系统、处理器内核的数据通路以及 AHB — LITE 总线均为32位宽,其中 AHB — LITE 是片上总线协议,应用于多款 ARM 处理器中。 AMBA 是 ARM 开发的总线架构,已经广泛应用于 IC 设计领域。
    1.14Cortex—M0处理器的特点
    Cortex —M0微控制器功耗非常低、门数量少、代码占用空间小,能在8位微控制器的价位上获得32位微控制器的性能,可明显降低系统成本,同时能保留对功能强大的 Cortex —M3微控制器开发工具的兼容能力。 Cortex —M0微控制器的主要特点如下。
    1.功耗低
    降低功耗是 Cortex — MO 处理器的设计初衷,在使用65nm半导体制造工艺时,处理器的功耗为12uW/ MHz ,在180nm工艺时功耗也仅为85uW/ MHz ,这对于32位处理器来说已经是很低的水平了。在 Cortex —M0处理器的开发过程中, ARM 应用了多种技术和优化措施,以确保硅片面积尽量小,并对处理器的每一部分都经过了小心处理和反复验证以降低功耗。通过尽量减少门数量,直接降低了芯片的动态功耗和漏电流:最低配置的 ARM 处理器仅需12000个门;为了追求更佳的性能,门的数量通常控制在17000~25000个,这已经同一般的16位处理器差不多了,但性能却是16位处理器的两倍有余。
    2.效率高
    Cortex —M0处理器拥有高效率的架构,这主要归功于 Thumb 指令集以及高度优化的硬件设计,可以使用较低的时钟频率来降低动态电流并获取高性能。 Cortex —M0处理器片内有快速乘法器(单周期)和小型乘法器(32周期)可供选择,在使用快速乘法器时,处理能力可以达到0.9 DMIPS / MHz ,而使用小型乘法器时,可以达到0.85 DMIPS / MHz 。这个性能与老式台式机他用的 80486DX2 的0.8I DMIPS/MHz 处理能刀差不多的,但硅片面积和 功耗方面来看就有相当大的差距了。
    3架构先进
    1.Cortets M0本身在架构上支持低功耗,还提供睡眠和深度睡眠两种低功耗模式也支持 Sleep-on-evit 功能,即一旦中断处理完成,微控制器会重返睡眠模式,从而缩短微控制器处于活跃状态的时间。另外, Cortex — MO 还提供可选的 WIC 切能,在深度睡腥 模块发出,由时钟频率的系整个系统时钟关闭,只保持 WIC 处于工作状态,用于在紧急时刻唤醒微控制器
    4.中断时间确定
    内置的嵌套向量中断控制器( NVIC )使中断配置和异常处理间洁而迅速。当接收到中断请求后,中断处理会立即自动执行,而且无需软件查找中断向量的位置,中断响应时间确定
    同时保留不可屏蔽中断(NMI)输入,对打造可靠性系统提供可能
    5.软件可移植
    Contex — M 系列处理器主要是用于微控制器产品,其中 Cortex —M3处理器首先发布 其功能丰富且性能出众; Cortex — M1随后发布,主要用于 FPGA 严品。而 Cortex —M0则 是 Cortex — M 系列发布的第三个处理器。尽管这些处理器的应用场景不同,但它们都有一致的内核架构、相似的系统模型和兼容的指令集。
    Cortex —M3处理器基于ARMv7-M内核架构,使用 Thumb —2指令集,而 Cortex —M0和 Cortex — M1处理器都是基于ARMv6— M 内核架构,使用 Thumb 指令集。 Thumb —2指令集是 1.1.7微 Thumb 指令集的超集,因此在 Cortex —M0上设计的程序可以在完全不用修改的情况下应用在 Cortex - M 处理器上。
    对于所有基于 Cortex — M 内核的微控制器,其软件代码都可以使用 C 语言来编写、这样 具有高度的编程时间更短,而且可移植性强。另外, Cortex —M0架构支持嵌人式操作系统——在一些复杂的应用中,使用嵌入式操作系统会让并行任务处理变得更加得心应手。
    RISC 架构
    RISC ( Reduced Instruction Set Computer ,精简指令集计算机)是一种执行较少类型计算机指令的微控制器。 ARM 公司设计的微控制器均基于 RISC 架构,它能够以更快的速度执行操作。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,指令集越大,微控制器就会变得越复杂,执行操作也会更慢,因此使用 RISC 架构的微控制器可以增加工作效率并降低功耗。
    RISC 微控制器不仅精简了指令系统,还采用了超流水线结构。虽然它们的指令数目只 微控制器厂有几十条,却大大增强了并行处理能力,可以在单一指令周期内容纳多个并行操作。Corte RISC 芯片的工作频率一般在400MHz数量级,时钟频低,功率消耗少、温升也少,机器不易发生故障和老化,提高了系统的可靠性。 AMBA 总线 ARM 研发的 AMBA ( Advanced Microcontroller Bus Architectre )椹供了一种特殊的机制可将 RISC 微控制器集成在其他 IP 芯核和外设中。2.0版的 AMBA 标准中定义了三组总线:高级高性能总线( Advanced High - performance Bus , AHB )、高级系统总线( Advanced System Bus , ASB )和高级外设总线( Advanced Peripheral Bus , APB )。. AHB 高级高性能总线由主模块、从模块和基础结构三部分组成,整个 AHB 上的传输都由主模块发出,由从模块负责回应。其基本结构由仲裁器、主模块到从模块的多路选择器、从模块到主模块的多路选择器、译码器、虚拟从模块、虚拟主模块等组成,是应用于高性能、高时钟频率的系统模块。它构成了高性能的系统骨干总线。
    2.ASB高级系统总线适用于连接高性能的系统模块。它的读/写数据总线采用的是同一条双向数据总线,可以在某些高速且不需要使用 AHB 的场合作为系统总线使用,并可以支持处理器、片上存储器和片外处理器接口以及与低功耗外部单元之间的连接。
    3. APB APB 是本地二级总线,通过桥与 AHB 或 ASB 相连,主要是为了满足不需要高性能流水线接口或不需要高带宽接口的设备互连。 APB 只有一个 APB 桥,用于将来自于 AHB 或 ASB 的信号转换为合适的形式以满足挂接在 APB 上设备的要求,如串行口、定时器等。1.1.7微控制器软件接口标准( CMSIS )随着嵌人式软件越来越复杂,软件代码的兼容性和可重用性变得非常重要,这样既可减轻项目开发者的压力、缩短开发时间,又方便第三方软件组件的使用。为了使这些软件产品具有高度的兼容性和可移植性, ARM 同许多微控制器和软件供应商共同努力,为 Cortex — M 处理器产品开发出一个通用的软件接口标准 CMSIS 。该标准相当于 Cortex — M 处理器的跨平台驱动程序,用于在不同的开发环境中调用。1. CMSIS 的软件功能 CMSIS 通常作为微控制器厂商提供的设备驱动库的一部分来使用,它提供了一种标准化的软件接口,并且针对 Cortex —M0、 Cortex —M3等处理器特性,定义了相应的操作函数,这也提高了软件的可移植性。 CMSIS 的软件功能如图1—3所示。图1—3中,采用 ARM 内核的微控制器产品由 Cortex —M0核和外设构成。对于外设来说,微控制器厂商通常会提供标准外设函数库来作为其外设产品的驱动,而 CMSIS 则是 ARM 公司为 Cortex — M 系列内核定义的驱动函数库。 CMSIS 提供了以下标准化的内容。口标准化的操作函数,用于访问 NVIC 、系统控制块( SCB )以及 SysTick 定时器。口使用 Cortex — M 微控制器特殊指令的标准化函数。因为有些指令不能由普通的 C 代码生成,如果需要这些指令,就可以使用 CMSIS 提供的相应函数来实现。口系统异常处理的标准化命名。当系统异常有了标准化命名以后,在一个操作系统里支持不同的设备驱动库也变得更加容易。口系统初始化函数的标准化命名。通用的系统初始化函数被命名为“SystemInit0”,提供了软件的兼容性。
    4. 为时钟频率信息建立标准化的变量,SystemFreq,用于确定处理器的时钟频率
    5. CMSIS组织结构
    CMSIS集成在微控制器供应商提供的设备驱动包,主要是核心外设访问层,中间件访问层,设备外设访问层和外设访问函数。
    (3内部)

    STM2FO72家族微控制器内核采用了 ARM 公司的32位 Cortex —M0 CPU ,最大频率为48MH,在低成本、低功耗的前提下提供了出色的运算性能、较高的代码执行效率和快速的
    中断响应
    Flash 存储器:配置有6~128KB的 Flash 存储器,这些存储器可以被分成两部分
    其中内部存储器区域用于存放程序和数据,选项字节则用于设定芯片的工作特性或为
    存储区域提供读写保护
    RAM 存储器:内部16KB SRAM 能以 CPU 的速度进行读写访问,无需等待周期,内置的奇偶校验功能可以防止在复杂苛刻的应用条件下发生错误。
    3. CRC 计算单元
    独立的 CRC (循环冗余校验)计算单元可以依靠硬件计算并生成 CRC 码,用干检验数据传送或存储的完整性。
    4.DMA控制器
    7通道 DMA 控制器用于管理存储器到存储器、外设到存储器以及存储器到外设的数据传送。每个 DMA 通道都连接到专用的 DMA 请求,并且每个通道都支持软件触发。使用 DMA 可以极大地减轻 CPU 的数据传输压力,提高运算性能。
    5.复位和供电管即
    STM32F072家族微控制器的电源供电分为儿个部分: Vpp 的供电电压为2.0~3.6V,
    用于给1o口和内部电压调节器供电; VDDx 的供电电压同样为2.0~3.6V,用于给 ADC ,复位时钟, RC 振荡器和 PLL 供电; Vuxr 的供电电压为1.6~3.6V,当微控制器的 Vdd掉电后, Vbat 用于给 RTC 、外部32kHz时钟振荡器和备份寄存器供电。
    口微控制器内部集成了上电复位( POR )和掉电复位( PDR )电路。这两个电路会一直保持有效,以确保做控制器在2V阈值之上正常工作。当电源电压低于规定的南值 yI 时,微控制器将处于复位状态
    微控制器还内嵌一个可编程的电压检测器( PVD )以监控 VDD 电源。当 VDD 低于以
    高于 Vpvd调值时,会引发中断用于产生警告信息或将微控制器置于某个安全状态。
    口电压调节器有主电源( MR )、低功耗( LPR )和掉电三种工作模式。其中, MR 用干正常工作模式,功率消耗最大; LPR 用于停止( STOP )模式,这时微控制器工作在低功耗模式下:掉电用于待机( STANDBY )模式,电压调节器输出为高阻状态,内核电路掉电,寄存器和 SRAM 的内容全部丢失。
    STM32FO72家族微控制器支持睡眠、停止和待机三种低功耗模式,以便在低电源功耗、 6.低功耗模式
    快速启动时间和可唤醒三者之间实现最佳的低功耗解决方案。
    STM32FO72家族微控制器可用的时钟源有4~32MHz外部晶体振荡器、32kHz的 RTC 7.时钟管理
    振荡器、内部8MHz RC 振荡器(带×6锁相环倍颗)、内部40kHz RC 振荡器和48MHz振荡器。当微控制器复位后,默认情况下选择内部的8MHz RC 振荡器作为默认的时钟。通过配置也可以选择4~32MHz的外部时钟。如果外部时钟出现故障,系统会自动切换到内部 RC 振荡器上继续运行。通过设定相应的预分频器,软件可以配置 AHB 和 APB 总线频率, AHB 和 APB 的最大频率为48MHz。
    8.通用输入输出接口( GPIO )
    STM32F072家族微控制器最多可以配置87个高速1/O口,每个 GPIO 引脚都可以通过软件配置为输出(上拉或开漏)、输入(带或不带上拉/下拉)或作为外设的复用功能,所有 GPIO 可配置为外部中断输入。
    9.模—数转换器( ADC )
    STM32FO72家族微控制器内部集成有1个12位模—数转换器,转换范围为0~3.6V,最多有16个外部通道和3个内部通道(温度传感器、参考电压和 VBAT 电压测量)。 ADC 可以执行单次或扫描转换。 ADC 还具有模拟看门狗功能,允许精确地监测一个或多个模拟电压,当模拟电压超出可编程阈值时会产生一个中断。
    10.数—模转换器( DAC )
    12位的 DAC 转换器可以将数字信号转换成模拟电压信号输出,内部集成有运算放大器,可以选择电压或电流输出, DAC 可以通过定时器触发输出。
    11.模拟比较器
    微控制器内嵌两个快速低功耗轨至轨( rail to rail )模拟比较器,具有可编程的参考电压
    源。模拟比较器可以将微控制器从 STOP 模式中唤醒、产生中断或中止定时器,还可组合成 窗口比较器。
    12.触摸感应控制器
    独立触摸感应控制器( TSC )具有最多24个电容感应通道,用于 VO 端口上触控感应采集,支持接近、触摸按键、线性和旋转触摸感应控制。
    13.实时时钟( RTC )
    实时时钟( RTC )是一个独立 BCD 编码的定时器/计数器,用于产生亚秒、秒、分、时、周、天、日、月、年等时间信息,时间数据采用 BCD 编码格式,并可自动调整月天数;
    可编程闹钟可以将控制器从停止或待机中唤醒;具有两个可编程防侵人检测引脚,当检测的到侵入事件时可以将微控制器从停止或待机模式中唤醒;时间戳功能用来在发生时间戳事件,保存日历内容并唤醒微控制器。
    STM32FO72家族微控制器内部配置有1个16位高级控制定时器,用于6通道 PWM 输出,并且带有死区时间发生器和紧急刹车功能:1个32位和7个16位定时器,具有最多4路输入捕获或输出比较通道,可用于红外控制和解码或 DAC 控制;1个独立的窗口看门狗定时器和24位向下计数的 SysTick 定时器。
    15.通信接口
    2个 I ℃接口支持快速脉冲模式( IMbit / s ),其中1个还支持 SMBus / PMBus 功能。 当我们
    4个 USART 接口:支持主同步 SPI 和 Modem 控制功能,其中2个还支持ISO7816接口、 LIN 、 IrDA 、自动波特率检测和唤醒功能。 列微控制器
    2个 SP 接口:通信速率18Mbit/ s ,支持4到16位可编程字长,支持I2S接口
    1个 CAN 通信接口。
    1个USB2.0全速接口,可以使用内部48MHz振荡器时钟运行。16.高清晰度多媒体接口(HDM1)
    微控制器内嵌 HDM — CEC 控制器,提供消费电子控制( CEC )协议的硬件支持,可供多媒体设备间的高级控制和互联使用。

    更多相关内容
  • 本文件包含《DDI0484C_cortex_m0p_r0p1_trm》《DUI0662B_cortex_m0p_r0p1_dgug》《Cortex-M0+_Software_Developers_Errata_Notice_v4》用户手册、调试手册、开发手册
  • Cortex-M0/M0+, M3/M4 中的中断控制器英文名叫做NVIC,Nested Vectored Interrupt Controller,翻译过来就是嵌套向量中断控制器,所谓中断嵌套是指当正在执行一个中断服务程序时,这时如果来了优先级更高的中断,新...
  • 参考资料以 ARM Cortex-M0 用户指南(ARM Cortex-M0 User Guide)为蓝本。 只针对 LPC111x Cortex-M0 的具体实现做了细微的改动。
  • ARM Cortex-M0 原理与应用实践-附件资源
  • 另外ST公司推出的产品中M0内核的产品逐渐增多,在不久的将来将M0内核的stm32微处理器应用于的产品设计的案例将越来越多,因此作为ST的忠实粉丝,我们有必要十分了解ARM Cortex-M0处理器内核。而这本书就是我所推荐的...
  • ARM Cortex-M0权威指南-中文带目录,ARM公司的Cortex-M0应用于各种微控制器(MCU)中,并可让研发工程师以8位的价位创造32位的的效能,并将传统的8位和16位的处理器升级到更高效、更低功耗的32位处理器。
  • The Definitive Guide to the ARM® Cortex®-M0 and Cortex-M0+ Processors, Second Edition explains the architectures underneath ARM’s Cortex-M0 and Cortex-M0+ processors and their programming ...
  • 系统节拍时钟是 Cortex-M0 的组成部分。 系统节拍定时器为操作系统或其它系统管理软 件提供固定 10 毫秒的中断。 由于系统节拍定时器是 Cortex-M0 的一部分,因此可通过提供一个标准的定时器(可用 于基于 Cortex...
  • 恩智浦半导体(NXP Semiconductors)于2月24日至26日在深圳举行的中国国际集成电路研讨会暨展览会(IIC China)春季展中,展出其基于高性能混合讯号信号(High Performance Mixed Signal;HPMS)、应用领域十分广泛的创新...
  • ARM Cortex-M0轻松入门指南[迷你板] ,PDF文档!分享给大家
  • ARM Cortex-M0权威指南, 中文版PDF,非常实用,仅大学学习使用。
  • Cortex-M0 技术参考手册.pdf
  •  LPCS00系列是基于ARM Cortex-M0+的低成本32位MCU系列产品,工作时CPU 频率最高可达30 MHz。它支持最高16 KB的闪存和4 KB的SRAM。  1.2 射频芯片SLRC610  SLRC610是NXP公司新一代多协议无线近场芯片中的一员,...
  • 《轻松玩转ARM Cortex-M0+微控制器基于飞思卡尔FRDM-KL25Z评估板》代码部分
  • The KL25Z Freedom是基于飞思卡尔最新的Cortex-M0和Kinetis L系列微控制器的低成本Freedom开发平台,适于快速客户样机和演示应用开发。 Kinetis L系列是飞思卡尔推出的第一款基于ARM:registered: Cortex:trade_mark:...
  • ARM Cortex-M0权威指南

    2018-12-02 08:26:31
    本书是全球首本系统论述ARM Cortex-M0处理器及其编程的图书。本书既有ARM Cortex-M0处理器内核、体系结构及其应用的详尽论述,也有指令集、编译器、软件开发的基本论述,甚至也涵盖如何定位程序代码中的错误和软件...
  • STM32F0系列ARM Cortex-M0核微控制器开发与应用(喻金钱)课件PPT
  • cortex-m0.rar

    2019-07-31 16:33:06
    Cortex™-M0 Devices Generic User Guide和Cortex™-M0 Technical Reference Manual,Revision: r0p0
  • 本文详细描述了这两颗芯片的使用方法以及对模块的调试方法与步骤等。该模块采用贴面封装的元件,具有低成本、低功耗、小尺寸、读写卡距离远等特点,使用起来很方便,具有较高的应用价值。
  • 意法半导体推出Cortex-M0+架构更低功耗微控制器.pdf
  • 基于ARM Cortex-M0的SoC单片机内核程序设计.pdf
  • 列出ARM CORTEX-M0可能的汇编指令组合,指令的长度,指令周期数和影响的状态字。
  • ARM+Cortex-M0中文指南

    2018-07-24 09:30:31
    ARM+Cortex-M0中文指南是扫描档,详细的介绍M0的指令集,编译器等
  • Arm Cortex-M0权威指南英文原版,适合从事嵌入式开发人员
  • 《轻松玩转ARM Cortex-M0+微控制器基于飞思卡尔FRDM-KL25Z评估板》代码
  • 《ARM Cortex-M0从这里开始》随书光盘,包含十几个范例的原理图、软件。
  • Nuvoton Cortex-M0_M4 Library
  • Cortex-M0Cortex-M0+简介

    千次阅读 2020-11-16 19:51:19
    Cortex-M0Cortex-M0+ TODO: ARM处理器家族 Cortex-M0处理器于2009年发布,是一款具有开创性的产品,因其实第一个将32位处理器在同8位和16位处理器差不多大小的硅片实现的,在保持可用性的同时还具有极佳的能耗...

    一 Cortex-M0到Cortex-M0+

    ARM处理器家族
     ARM处理器家族
    RAM处理器演变

    Cortex-M0处理器于2009年发布,是一款具有开创性的产品,因其实第一个将32位处理器在同8位和16位处理器差不多大小的硅片实现的,在保持可用性的同时还具有极佳的能耗效率,并且对于32位处理器而言,它的性能也是可以接受的。

    尽管Cortex-M0处理器比Cortex-M3(于2003年发布)处理器小的多,它还是保留了Cortex-M3处理器的许多特性:

    • 利用内置名为NVIC的中断控制器实现灵活的中断管理;
    • OS支持特性
    • 高代码密度
    • 休眠模式等低功耗特性
    • 集成调试支持
    • 易于使用,几乎可用全部可以使用C语言编程

    Cortex-M0和Cortex-M3都使用的是3级流水线结构,Cortex-M0+使用的是2级流水线结构(取指 + 预解析,解析 + 执行),这样就降低了处理器内振荡器的数量,动态功耗也随之下降。

    M0和M0+处理器的应用:

    • 一般的数据处理和I/O控制任务
    • 超低功耗应用
    • 8位/16位微控制器的跟新/替代
    • 低成本ASIC、ASSP

    芯片到底是什么?
    芯片的物理层面是由半导体材料构成的多个晶体管,这些晶体管会构成过个逻辑门电路(与门、或门、非门、或非门等更加复杂的门电路)。芯片设计人员首先得到是Verilog源代码文件,并且有多个参数可以选择,芯片设计人员可以去掉项目中用不到的一些特性,以节省功耗并减少硅片面积。处理器同系统中的其他部分组合在一起,并被转换为由逻辑门组成的设计,然后被芯片设计工具转换成晶体管。

    M0最低配只有12000个逻辑门,M3最少也要40000个逻辑门,因此M3的硅片一般要比M0大的多。

    二 指令集

    1. 指令集是什么

    所有的处理器在执行所需操作时,都需要执行相应的指令序列,每条指令都定义了一个简单操作,例如简单的ALU运算,对存储器系统的数据访问以及程序的跳转操作等。

    对于处理器而言,指令是以二进制代码的形式出现的,并且需要由内部硬件(指令解析器)进行解析,然后解析后的指令信息才会被转到执行阶段。

    Cortex-M处理器支持的指令集名为Thumb,而M0和M0+处理器则只支持其中的一个子集(56条指令),这些指令多数为16位宽,只有6个指令是32位的。

    TODO: Cortex-M指令集

    1. ARM和Thumb指令集

    早期的ARM处理器(ARM7TDMI之前)支持名为ARM的32位指令集,该指令集功能强大,并可以提供良好的性能。但是,和8位、16位处理器相比,它通常需要更多的程序存储器。无论过去还是现在,这都是一个需要考虑的问题,因为存储器相对比较昂贵且功耗高。

    1995年,ARM发布了ARM7TDMI®处理器,增加了一个名为Thumb的16位指令集,并且利用一种状态切换机制确定处理器应该使用的指令解析逻辑。Thumb指令集包含ARM指令的一个子集,大多数函数都可以利用Thumb自身完成,但中断进入流程和启动代码必须处于ARM状态。但是,多数处理任务都是可以由Thumb指令执行,且中断处理也可以将处理器切换至Thumb状态,因此,和其他32位RISC架构相比ARM7TDMI具有绝佳的代码密度。

    2003年,ARM引入了Thumb-2技术,其中包含多个32位Thumb指令以及之前的16位Thumb指令,这些新的32位Thumb指令可以执行以前只能由ARM指令集实现的多数操作,因此,利用Thumb-2编译的程序一般是ARM代码的74%,同时其性能相近。

    三 ARMv6-M架构

    Cortex-M0和Cortex-M0+处理器都是基于ARMv6-M架构,对于ARM处理器,架构指的是以下两个方面:

    • 架构,ISA(指令集架构)、编程模型(对于软件可见)和调试方式(调试器可见)。ARMv6-M是ARM的架构之一。
    • 微架构,接口信号、指令执行时序和流水线阶段等设计相关的细节,微控制器架构和处理器设计有关,例如Cortex-M0处理器具有三级流水线微架构。

    为了满足不同处理器的需要,ARM设计了多个架构,例如,Cortex-M3和Cortex-M4处理器都基于ARMv7-M架构。一个ISA(指令集)可能具有多个微架构,例如不同数量的流水线阶段和不同类型的总线接口协议等。

    M0和M0+具有完全相同的指令集和相似的编程模型,不同的是M0+可以选择是否支持非特权执行等级和MPU。M0只有特权模式,并且不支持MPU。

    M3和M4都是基于ARMv7-M架构,它们的Thumb-2指令集是ARMv6-M架构所使用的的指令集的超集。

    TODO: Cortex-M0处理器简单系统

    四 Cortex-M0和Cortex-M0+处理器的关键特性

    1. 处理器流水线
    • Corte-M0处理器具有3级流水线(取指、解析、执行)
    • Cortex-M0+处理器具有2级流水线(取指 + 预解析,解析 + 执行)
    1. 指令集
    • 指令集基于Thumb指令集架构(ISA),但是只使用了Thumb ISA的一个子集(56条指令),多数指令是16位,只有少数一些事32位。
    • 一般来说,尽管指令具有不同大小,Cortex-M处理器可被归为精简指令集架构。
    • 支持可选的单周期32位 * 32位乘法或用于小硅片面积设计的更小的多周期乘法
    1. 存储器寻址
    • 32位寻址,支持最多4GB的存储空间。
    • 系统总线接口基于名为AHB-Lite的片上总线协议,支持8位、16位、32位的数据传输。
    • AHB-Lite协议是流水线结构,支持高运行频率。外设可以通过AHB到APB总线桥连至基于APB协议(高级外设总线)的简单总线。
    1. 中断处理
    • 处理器内部有一个名为嵌套向量中断控制器(NVIC)的中断控制器,其具有控制中断优先级和掩码功能,并且支持各外设产生最多32个中断请求(和芯片厂商有关)、一个不可屏蔽中断(NMI)输入以及多个系统异常。
    • 每个中断都可被设置为4个可编程优先级中的1个,NMI的优先级是固定的。
    1. 操作系统(OS)支持
    • 处理器中的两个系统异常(SVCall 和 PendSV)用于操作系统
    • 一个名为SYSTick(系统节拍定时器)的24位硬件定时器用于OS周期定时。
    • Cortex-M0+处理器支持特权和非特权(芯片设计人员可选),OS可以在非特权等级下执行某些应用任务,并可以给这些任务设置存储器访问权限。
    • Cortex-M0+处理器中存在一个可选的存储器保护单元(MPU),OS可以借此在运行期间定义应用任务的存储器访问权限。
    1. 低功耗支持
    • 架构定义了普通休眠和深度休眠两种休眠模式,这些休眠模式的实际表现是和设备相关的(取决于你所使用的芯片)。芯片设计人员还可以添加节省功耗的控制寄存器以增加休眠模式的数量,这样可以定义芯片中每个部分的休眠行为。
    • 可以使用WFI(等待中断)或WFE(等待事件)进入休眠模式,也可以利用一种名为退出休眠的特性让处理器自动进入休眠。
    • 芯片设计人员可以基于休眠模式特性、利用其他的硬件等级进行进一步降低功耗,例如唤醒中断控制器等(WIC).
    1. 调试
    • 调试系统基于ARM CoreSight调试架构,支持简单的单处理器设计到复杂的多处理器设计。
    • 调试接口可以基于JTAG协议(4个或5个引脚)或串行线调试协议(2个引脚),软件开发人员可以利用调试接口访问处理器的调试特性。
    • 支持最多4个硬件断点、2个数据监视点以及用BKPT(断点)指令实现的不限数量的软件断点。
    • 支持通过调试连接程序计数器(PC)采样得到的基本程序执行概况。
    • Cortex-M0+处理器中有一个名为微跟踪缓冲(MTB)的可选特性,可以利用它实现指令跟踪。
    展开全文
  • 日前,新唐科技宣布推出低于$0.3美元新款32位Cortex-M0低管脚微控制器 - Mini51F TSSOP 20 pin芯系列。新唐Mini51F低管脚芯系列为一高集成度微控制器,其延续Mini51给力芯、M051犀利芯系列特性,搭载ARM公司小型、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,448
精华内容 2,579
关键字:

CORTEX-M0