微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM状态和编译器状态统一

ARM状态和编译器状态统一

时间:11-11 来源:互联网 点击:
整个预编译段就是为了说明要ARM的当前状态和编译器的状态要统一。这是个标准的例子,实际大多数情况不需要。但是上面的config==16只说明你编译器当前在使用的TASM.EXE 但你现在 Thumb-capable ARM processors start in ARM state(注意是MCU的状态和编译器无关)。所以要使两者一致编译出来的代码才能被运行,使用CODE32 使编译器也处于ARMASM.EXE状态,CODE16/32只会影响编译器,只有BX会改变processors state.只要两者一致就好

;Check if tasm.exe(armasm -16@ADS1.0) is used.
GBLL THUMBCODE
[ {CONFIG} = 16
THUMBCODE SETL {TRUE}
CODE32
|
THUMBCODE SETL {FALSE}
]

MACRO
MOV_PC_LR
[ THUMBCODE
bx lr
|
mov pc,lr
]
MEND

MACRO
MOVEQ_PC_LR
[ THUMBCODE
bxeq lr
|
moveq pc,lr
]
MEND

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top