Entry: .thumb .text Ladder1: .global Ladder1 lab1: .global lab1 push {lr} LDR R0, = 0x22004004 LDR R0, [R0] CMP R0, #0x01 BNE lab4
>> Compilation failure subdir_rules.mk:9: recipe for target 'ladder1.obj' failed "../ladder1.s", ERROR!at line 9: [E0200] Bad term in expression LDR R0, = 0x22004004 "../ladder1.s", ERROR!at line 9: [E0001] Illegal symbol LDR R0, = 0x22004004 "../ladder1.s", ERROR!at line 9: [E0003] Unexpected trailing operand(s) LDR R0, = 0x22004004
gaoyang9992006:
没看明白,你这段代码哪个文件里的?还是你开发使用了汇编语言开发?本人不是太懂汇编。
cc L:
回复 gaoyang9992006:
这个代码是我自己新建了.s文件,然后自己写的测试代码,发现LDR R0,=expr这条语句过不了,昨天研究了ccs的汇编手册,也没提到这个问题,搞不定了
Susan Yang:
回复 cc L:
建议您之前先声明
myaddress.field 0x22004004,32
然后再使用
ldr r0, myaddress
cc L:
回复 Susan Yang:
非常感谢,加了这句确实编译能通过。但是其实我的意图是想要在使用伪指令时,可以人为管理文字池,例如IAR的汇编可以这样实现:
LDR R0, =0x22004004
LDR R0, [R0]
……
B LABx
LTORG//这个语句可以实现文字池的位置管理
所以我想请教下ccs的文字池如何管理 应该也有类似的指令.ltorg吧,可以话麻烦教教我怎么使用,万分感谢~
Susan Yang:
回复 cc L:
很抱歉,这个我不太擅长。建议您去 https://e2e.ti.com/ 发帖以获取更多国外资深工程师的支持
cc L:
回复 Susan Yang:
好的 谢谢你~