首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > 基于ARM的嵌入式系统程序开发要点(五)——ARMThumb...

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

资料介绍
基于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 和     协处理器的访问。 ◇进行异常响应时,
基于ARM的嵌入式系统程序开发要点(五)——ARMThumb...
本地下载

评论