下载此文档

针对arm cortex-m3平台的代码移植.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
ARMCortexTM-M3是一款高性能、低成本、低功耗的32位RISC处理器。它仅执行16位、32位混合的Thumb-2指令,不支持ARM指令集。Cortex-M3处理器集成了一个ARMv7-M架构的高效哈佛3级流水线ARM内核,支持硬件除法器和快速ISR(中断服务程序响应。除CPU内核外,Cortex-M3处理器还包括许多其他组件,嵌套向量中断控制器(NVIC、可选的存储器保护单元(MPU、计时器、调试访问端口(DAP以及可选的嵌入式跟踪宏单元(ETM。同时,Cortex-M3具有固定的存储器映射分配。嵌套向量中断控制器(VIC支持多达240个外部中断(具体中断数目可由ICvendor决定,256个不同的优先级别,这些优先级别可动态地重新排列优先顺序。它支持电平和脉冲中断源。处理状态会在中断进入时由硬件自动保存,并在中断退出时恢复。同时,NVIC对于末尾连锁(tail-chaining中断有独特的处理方式,将中断响应时间减到最小。在Cortex-M3中使用NVIC意味着Cortex-M3的向量表与之前的ARM内核有着显著的区别。与大多数其他ARM内核不同,Cortex-M3向量表中包含异常处理程序和ISR的地址,而不是指令。复位处理程序的初始堆栈指针和地址必须分别位于0x0和0x4。这些值在随后的复位中被加载到适当的CPU寄存器中。存储器保护单元(MPUMPU是Cortex-M3的选配组件。它针对ARMCortexM3平台的代码移植图1Cortex-M3存储器分配图作者:ARM中国Number6,Spring2007于更改处理器状态的编译指示(“#prag-maarm”和“#pragmathumb”,用户必须将其删除。由于嵌入式汇编代码(Inlineassembly不能够被编译为Thumb-2代码,因此用户在移植过程中必须将其改写为C、C++或者嵌入汇编(embeddedassembly代码。。用户必须将ARM或CODE32等ARM指令的汇编指示删除,或者将其替换为为THUMB指示。在汇编程序命令行中插入正确的--cpu汇编选项之后,汇编器可以轻松的处理大多数现有的汇编代码。然而,某些ARM指令集特有的,不受Thumb-2指令集支持的罕见指令可能仍然需要修改。很多遗留代码中存在CODE16指示,当用户在移植过程中将器直接替换为THUMB时,汇编器会在不警告的情况下进行汇编,但在行为上CODE16与THUMB可能存在细微的差别。这是因为CODE16根据传统的Thumb-1句法规则进行汇编。例如,在CODE16句法规则下,许多不带后缀S的指令将编码为标记设置变量;而在THUMB指示的句法规则下,必须明确指定后缀S。汇编程序将根据需要为条件执行的指令插入IT指令。例如,单独的“ADDSNEr0,r0,r1”指令(后面跟着无条件的指令会变成:“ITNE”,后面跟着“ADDSr0,r0,r1”移植过程中,用户应该留意针对内核和架构一些特殊指令,这些指令包括:=协处理器指令=对PSR的状态或模式更改及其他访问可通过执行特权和访问规则为保护存储器的区域提供支持。它支持多达8个不同的区域(region,这些区域又可以分为8个子区域,每个子区域占一个区域大小的八分之一。调试访问端口(DAP调试访问端口使用AHB-AP接

针对arm cortex-m3平台的代码移植 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人q1188830
  • 文件大小153 KB
  • 时间2019-12-12