
本文将简要地介绍Cortex-M0处理器及其特性:
Cortex-M0处理器及其核外设
Cortex™-M0处理器是用于嵌入式应用设计的入门级ARM Cortex 32位的处理器。它为开发者提供以下好处:
• 简单易用的编程模型;
• 高效的低功耗操作模式;
• 高代码密度;
• 可确定的、高效的中断处理;
• 向上兼容Cortex-M 处理器系列其他处理器。

Cortex-M0处理器内置的高效处理器核,为3段流水线的冯诺依曼结构,适用于高要求的嵌入式应用。该处理器在低功耗和面积方面进行了高度优化,通过高效的指令集来实现超低功耗,该处理器还提供以下高端处理硬件:
• 单周期乘法器,以实现高性能的优化;
• 32周期乘法器,以实现面积的优化。
Cortex-M0处理器基于ARMv6-M架构,使用ARMv6-M Thumb® 指令集,包含Thumb-2技术。该处理器拥有32位处理器的高性能,又比8位、16位处理器有着更好的代码密度。
Cortex-M0内置一个紧密连接的可配置的内嵌向量中断控制器(Nested Vectored InterruptController,NVIC),提供工业领先的中断性能。该NVIC:
• 包含一个不可屏蔽中断(NMI)
• 提供:
— 零偏差的中断选项;
— 四个中断优先级。
NVIC与处理器核紧密连接,可实现中断服务程序(ISR)的高速执行,可大大降低中断延迟。其超低的中断延迟是通过硬件实现寄存器堆栈、寄存器批量存取操作的复位和放弃来实现的。中断处理程序不需要任何汇编封装代码,去掉了ISR的所有多余的代码开销。当从一个ISR切换到另外一个ISR时,尾链(Tailchaining)优化也大大减少了时间开销。
为了实现低功耗设计,NVIC还带有随眠模式。还可以选择随眠模式支持深度随眠模式,可让整个处理器快速掉电。
1、 系统级接口
Cortex-M0处理器采用单一的AMBA®技术系统级接口,实现高速低延迟的内存访问。
2、 可选的集成可配置调试方案
Cortex-M0可实现完整的硬件调试解决方案,可选择多个硬件断点和观测点。
JTAG或SWD接口是适用于微控制器和小封装处理器的理想调试端口,通过这两种接口可以为Cortex-M0处理器提供高的系统可视性。MCU提供商可以决定其处理器调试方案的具体实现。
3、 Cortex-M0处理器特性
• 32位性能、高代码密度;
• 工具及二进制代码向上兼容其他Cortex-M系列处理器;
• 集成了低功耗随眠模式;
• 快速代码执行允许慢的处理器时钟或增加随眠模式时间;
• 硬件乘法器;
• 零偏差中断处理;
• 强大的调试能力。
4、 Cortex-M0核外设
Cortex-M0 核外设有:
NVIC 内嵌中断控制器,支持低延迟中断处理。
SystemControl Block
系统控制块(SCB)是处理器的编程模型接口。它提供系统实现信息和系统控制,包括配置、控制和系统异常报告。
Optional systemtimer
可选的系统计时器SysTick, 是一个24位的向下计时器。若选用它,则可以作为实时操作系统(RTOS)的滴答计时器或一个简易计数器。