基于ARM的嵌入式系统程序开发要点(五)——ARMThumb...

  上传用户:zhuanjifen 上传日期:2013-09-22 文件类型:PDF
  文件大小:195.56K 资料积分:0分 积分不够怎么办?
基于ARM的嵌入式系统程序开发要点(五)——ARMThumb的交互工作产业技术与信息

INDUSTRY TECH&INFO

基于 ARM 的嵌入式系统程序开发要点(五)
                  ― ―ARM/Thumb的交互工作
■ ARM 中国  费浙平

在前面的文章中提到过, 很多情况下应用程序需要 在 A R M 跟 T h u m b 状态之间相互切换, 这部分就讨论交 互工作的实现方法和一些注意问题。

存器中的最低位肯定被舍弃, 不起作用。 在 B X 指令的 执行过程中, 最低位正好被用作状态判断的标识, 不会 造成存储器访问不对齐的错误。 下面是一段直接进行状态切换的例程。
; 从 A R M 状态开始 CODE32 A D R  R0, Into_Thumb+1 BX  R0 ; 汇编关键字 ; 得到目标地址, 末位置1, ; 转向 Thumb ;执行 ;其它代码 CODE16 Into_Thumb … A D R  R5, Back_to_ARM BX … CODE32 Back_to_ARM  R5 ; 汇编关键字 ;Thumb代码段起始地址 ;Thumb 代码 ;得到目标地址, 末位缺 ; 省为 0, 转向 A R M ;执行 ;其它代码 ; 汇编关键字 ;A R M 代码段起始地址



需要交互的原因
前面提到过, T h u m b 指令在某些特殊情况下具有比

A R M 指令更为出色的表现, 主要是在代码长度和窄带 宽存储器系统性能两方面。 正是因为 T h u m b 指令在特 定环境下的优势, 它在很多方面得到了广泛应用。 但是 因为下面一些原因, T h u m b 又不可能独立地组成一个 应用系统。 ◇ T h u m b 指令集在功能上只是 A R M 指令集的一个子     集, 某些功能只能在 ARM 状态下执行,如 CPSR 和     协处理器的访问。 ◇进行异常响应时,

关键词: 基于   的嵌   入式   系统   程序   开发   要点   ARMThumb   的交   互工  

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关下载