随笔分类 - Cortex-M0
Cortex-M0学习笔记
摘要:转载请注明来源:cuixiaolei的技术博客 嵌入式系统编程入门 微控制器是如何启动的 为了保存编译号的二进制程序代码,大多数的现代微控制器都会包含片上flash存储器。有些微控制器还可能有一个独立的启动ROM,里面装有Bootloader程序。微控制器启动后,再执行flash的用户程序前,Boo
阅读全文
摘要:转载请注明来源:cuixiaolei的技术博客 我们先来看看程序映像。 通常,Cortex-M0处理器的程序映像时从地址0x00000000处开始的。 程序映像开始处时向量表,其中包含了异常的其实地址(向量),每个中断向量的地址都等于“异常号*4”,比如,外部IRQ0的异常类型为16,因此其向量地址
阅读全文
摘要:转载请注明来源:cuixiaolei的技术博客 为了管理中断请求的优先级并处理其他异常,Cortex-M0处理器内置了嵌套中断控制器(NVIC)。NVIC的一些可编程控制器控制着中断管理功能,这些寄存器被映射到系统地址空间里,它们所处的区域被称为系统控制空间(SCS)。 NVIC有以下特性: 灵活的
阅读全文
摘要:转载请注明来源:cuixiaolei的技术博客 异常会引起程序控制的变化。在异常发生时,处理器停止当前的任务,转而执行异常处理程序,异常处理完成后,会继续执行刚才的任务。异常分为很多种,中断是其中之一。Cortex-M0处理器最多支持32个外部中断(IRQ)和一个不可屏蔽中断(NMI),中断事件的处
阅读全文
摘要:转载请注明来源:cuixiaolei的技术博客 栈空间作为一种存储器使用机制,是“先入先出”的结构,在系统空间中用作临时数据的存储。栈空间操作的关键之一为栈指针寄存器,每次执行栈操作时,栈指针的内容会自动移动。在M0处理器中,栈指针为R13(SP),而且物理上存在两个栈指针,MSP,PSP,但每次只
阅读全文
摘要:转载请注明来源:cuixiaolei的技术博客 Cortex-M0处理器为32位处理器,所以具有最大4G的寻址空间。在体系结构上,存储器空间被划分位一系列的区域,每个区域都有推荐的用途,以提高不同设备间的可移植性。 M0处理器内置了各种不见,例如NVIC和一些调试部件,它们都被映射到系统空间的固定地
阅读全文
摘要:转载请注明来源:cuixiaolei的技术博客 Cortex-M0体系结构包括:系统模型、存储器映射、异常中断。这篇文章主要讲解Cortex-M0的系统模型。 操作模式和状态 如上图所示,Cortex-M0包括两种操作模式和两种状态 Thumb状态(Thumb state) 调试状态 处理器启动后处
阅读全文
摘要:转载请注明来源:cuixiaolei的技术博客 Cortex-M0 处理器简介 1. Cortex-M0 处理器基于冯诺依曼架构(单总线接口),使用32位精简指令集(RISC),该指令集被称为Thumb指令集。与之前相比,新的指令集增加了几条ARMv6架构的指令,并且加入了eThumb-2指令集的部
阅读全文
摘要:转载请注明来源:cuixiaolei的技术博客 1.1 为什么要选择Cortex-M0 为了满足现代超低功耗微控制器和混合信号设备的需要,ARM推出了Cortex-M0处理器。Cortex-M0在保持低功耗,延长电池寿命的同时,还提高了运行效率。 Cortex-M0优点 能耗效率高 代码密度高 使用
阅读全文