针对ARM Cortex M3平台的代码移植
ARM CortexTM-M3是一款高性能、低成本、低功耗的32位RISC处理器。它仅执行16位、32位混合的Thumb-2指令,不支持ARM指令集。Cortex-M3处理器集成了一个 ARM v7-M架构的高效哈佛3级流水线ARM内核,支持硬件除法器和快速ISR(中断服务程序)响应。
除CPU内核外,Cortex-M3处理器还包括许多其他组件,嵌套向量中断控制器(NVIC)、可选的存储器保护单元(MPU)、计时器、调试访问端口(DAP)以及可选的嵌入式跟踪宏单元(ETM)。同时,Cortex-M3具有固定的存储器映射分配。
嵌套向量中断控制器(NVIC)
NVIC 支持多达240个外部中断(具体中断数目可由IC vendor决定),256个不同的优先级别,这些优先级别可动态地重新排列优先顺序。它支持电平和脉
冲中断源。处理状态会在中断进入时由硬件自动保存,并在中断退出时恢复。同时,NVIC对于末尾连锁(tail-chaining)中断有独特的处理方式,将中断响应时间减到最小。
在Cortex-M3中使用NVIC意味着Cortex-M3的向量表与之前的ARM内核有着显著的区别。与大多数其他ARM内核不同,Cortex-M3向量表中包含异常处理程序和ISR的地址,而不是指令。复位处理程序的初始堆栈指针和地址必须分别位于0x0和0x4。这些值在随后的复位中被加载到适当的CPU寄存器中。
本文来源:ARM中国 作者:
热点资讯(一周点击率)
最受工程师关注文章
热评博文
评一评已有 0 位网友对此文发表了看法。 我也来评一下
快乐大本营
无线时代来临,移动产业生态系统将发生一些根本变化。今日头条推荐“芯片是嵌入式4G技术的关键 产业生态系统将发生变化”。
想了解嵌入式开发工具的市场情况吗?先来体验下我们的在线调查吧!填写调查问卷。

