嵌入式技术
(文章来源:OFweek)
ARM Cortex-M处理器系采用ARMv7-M架构设定,Cortex-M0和Cortex-M0+则采用类似的ARMv6-M架构。
此架构与先前的ARM架构有许多共同的特色,且经过特殊设计,以支援深层嵌入、低成本的即时微控制器应用。所以移除了旧架构的许多功能,但也加入新功能,制造出一个更像类微控制器的程式设计模型。举体来说,从旧型处理器(像是常见的ARM7TDMI)的变动可总结如下:作业模式的数量从七个以上大幅减少到两个:Handler模式和Thread模式。其中一项模式(Handler模式)具选择性优先权限。
暂存器档经过简化。虽然开放供程式设计人员使用的暂存器基本上仍同样是十六个,旧型架构中所用的备份暂存器复制机制也大幅减少,因此只有Stack Pointer(r13)会在两个作业模式中加以暂存。备份暂存器为选择性使用,甚至可以省略。
最大的变动在于异常模式。由于一般的微控制器应用可能会有大量的晶片周边中断,所以标准的巢状向量中断控制器(Nested Vectored Interrupt Controller, NVIC)规格会包含在架构中,所有的Cortex-M核心均包含该规格。同样地,异常处理模式已在包含处理常式位址的向量表上加以标准化。内容的储存与回复作业完全在硬体上实作,简化写入中断处理的软体工作,如此可在实作时达到非常低且可预测的中断延迟时间。
ARMv7-M定义选择性的记忆体保护架构,该架构与某些旧型ARM处理器所用的架构类似。裸机系统或在即时作业系统(RTOS)下运作的系统由于通常不需要虚拟记忆体,因此不支援虚拟记忆体。
为支援各种即时作业系统的运作和执行,有些标准的晶片周边也会在架构中加以定义,如SysTick Timer。为缩小处理器核心的大小,ARMv7-M处理器的运行限缩到只有Thumb指令集(包含Thumb-2延伸),仅执行最小的子集,进而实现最小的核心。
全部0条评论
快来发表一下你的评论吧 !