当前位置:首页 > 单片机 > 单片机
[导读]Cortex-M0 处理器简介  1. Cortex-M0 处理器基于冯诺依曼架构(单总线接口),使用32位精简指令集(RISC),该指令集被称为Thumb指令集。与之前相比,新的指令集增加了几条ARMv6架构的指令,并且加入了eThumb-2指令

Cortex-M0 处理器简介

  1. Cortex-M0 处理器基于冯诺依曼架构(单总线接口),使用32位精简指令集(RISC),该指令集被称为Thumb指令集。与之前相比,新的指令集增加了几条ARMv6架构的指令,并且加入了eThumb-2指令集的部分指令。Thumb-2技术扩展了Thumb的应用,允许所有的操作都可以在同一种CPU状态下执行。Thumb指令集既包括16位指令,也包括32位指令。C编译器生成的指令大部分是16位的,当16位的指令无法实现所需要的操作时,32位指令就会发挥作用。这样以来,在代码密度得到提升的同时,还避免了两套指令集之间进行切换带来的开销

  2. Cortex-M0总共支持56个基本指令,其中某些指令可能会有多种形式。相对于Cortex-M0较小的指令集,其处理器的能力可不一般,因为Thumb是经过高度优化的指令集。从理论来说,由于读写存储是的指令是相互独立的,而且算数或逻辑操作的指令使用寄存器,Cortex-M0处理器可以被归到加载-存储(load-store)结构中。

 

 3. 处理器核心包括:

寄存器组 包含16个32位寄存器,其中有一些特殊寄存器

算术逻辑单元

数据总线

控制逻辑

  流水线根据设计可分为三种状态: 取指、译码、执行。

  4.嵌套向量中断控制器(NVIC)可以处理最多32个中断请求和一个不可屏蔽中断(NMI)输入。

  5.NVIC需要比较这个在执行中断和请求中断的优先级,,然后自动执行高优先级的中断。

  6.如果要处理一个中断,NVIC会和处理器进行通信,通知处理器执行中断处理程序。

  7.唤醒中断控制器(WIC)为可选的单元,在低功耗应用中,在关闭了处理器大部分模块后,微控制器会进入待机装填,此时,WIC可以在NVIC和处理器处于休眠的情况下,执行中断屏蔽功能。当WIC检测到一个中断时,会通知电源管理部分给系统商店,让NVIC和处理器内核执行剩余的中断处理。

  8.关于调试子系统,当调试事件发生时,处理器内核会被置于暂停状态,这是开发人员可以检查当前处理器的状态。硬件调试工具有JTAG和SWD(串行线调试)。


ARM Cortex-M0 处理器的特性系统特性

thumb指令集,具有高效和高代码密度

高性能,最高达到0.9DMIPS/MHz

内置的嵌套向量中断控制器(NVIC),中断配置和异常处理容易

确定的中断响应事件,中断等待事件可以被设定为固定值或最短事件(最小16个时钟周期)

不可屏蔽中断(NMI),对高可靠性系统非常重要

内置的系统节拍定时器(systick)。24位定时器,可被操作系统使用,或者用作通用定时器,架构中已经包含专用的异常类型

请求管理调用,具有SVC异常和PendSV异常(可挂起的管理服务),支持嵌入式os的多种操作

架构定义的休眠模式和进入休眠的指令,休眠特性能大大降低能量的消耗。由于进入休眠状态需要使用特定的指令,而不是使用寄存器,架构定义的休眠模式也提高了软件的可移植性。

异常处理可以捕获到系统中的多种错误。

应用特性

中断数量可配置

支持大端或小端存储器

可选择的唤醒中断控制器(WIC),处理器可以在休眠状态下掉电以降低功耗,而WIC可以在中断发生时唤醒系统


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

  Cortex-M0处理器为32位处理器,所以具有最大4G的寻址空间。在体系结构上,存储器空间被划分位一系列的区域,每个区域都有推荐的用途,以提高不同设备间的可移植性。  M0处理器内置了各种不见,例如NVIC和一些调

关键字: cortex-m0 体系结构 存储器系统

最近涉及到STM32F0XX的IAP,找了很多相关资料,感觉不是特别清楚,所以综合一些资料分享一下。刚开始做的时候以为很简单,在程序中写了个跳转函数(跳转到System Memory,并运行MCU自己的Bootloade...

关键字: cortex-m0 iap stm32f0xx

LPC1114的中断,由中断控制模块NVIC控制。一共32个中断,每个中断的优先级可编程为 0~3 四种级别。级别越高对应的优先级越低。因此,级别0 是最高的中断优先级。设置中断优先级的函数,CMISIS已经写好,并嵌入...

关键字: cortex-m0 lpc1114 中断优先级

  异常会引起程序控制的变化。在异常发生时,处理器停止当前的任务,转而执行异常处理程序,异常处理完成后,会继续执行刚才的任务。异常分为很多种,中断是其中之一。Cortex-M0处理器最多支持32个外部中断(IRQ)

关键字: cortex-m0 体系结构 异常和中断

  我们先来看看程序映像。    通常,Cortex-M0处理器的程序映像时从地址0x00000000处开始的。  程序映像开始处时向量表,其中包含了异常的其实地址(向量),每个中断向量的地址都等于“异常号*4”,比如,...

关键字: cortex-m0 体系结构 启动流程 程序映像

1.1 为什么要选择Cortex-M0  为了满足现代超低功耗微控制器和混合信号设备的需要,ARM推出了Cortex-M0处理器。Cortex-M0在保持低功耗,延长电池寿命的同时,还提高了运行效率。Cortex-M0优...

关键字: cortex-m0 绪论

嵌入式系统编程入门微控制器是如何启动的  为了保存编译号的二进制程序代码,大多数的现代微控制器都会包含片上flash存储器。有些微控制器还可能有一个独立的启动ROM,里面装有Bootloader程序。微控制器启动后,再

关键字: cortex-m0 编程入门

1.引脚都有哪些功能该怎么看?看具体引脚有什么功能,看上面的引脚图即可,这个图可以在LPC1114用户手册的第9章“Pin Configuration”找到。2.默认的引脚功能是什么?大部分的引脚默认功能都是GPIO,个...

关键字: cortex-m0 lpc1114 切换引脚

  栈空间作为一种存储器使用机制,是“先入先出”的结构,在系统空间中用作临时数据的存储。栈空间操作的关键之一为栈指针寄存器,每次执行栈操作时,栈指针的内容会自动移动。在M0处理器中,栈指针为R13(SP),而

关键字: cortex-m0 体系结构 栈空间操作

Cortex-M0体系结构包括:系统模型、存储器映射、异常中断。这篇文章主要讲解Cortex-M0的系统模型。操作模式和状态如上图所示,Cortex-M0包括两种操作模式和两种状态Thumb状态(Thumb state)...

关键字: cortex-m0 体系结构 系统模型
关闭
关闭