写ARM汇编程序的一个注意事项
2009-04-01 09:53
441 查看
2009-04-01 09:54:32
刚才,给nboot加入了一个汇编的宏,结果导致大面积错误。如下
; Turn on all LEDs.
MACRO
pLED_ON $data
ldr r0, =GPFCON
ldr r1, =0x55aa
str r1, [r0]
ldr r0, =GPFUP
ldr r1, =0xff
str r1, [r0]
ldr r0, =GPFDAT
ldr r1, =$data
str r1, [r0]
b . ; programme is dead here
MEND
BUILD: [01:0000000025:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(75) : error A0051: unknown opcode: pLED_ON
BUILD: [01:0000000027:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(77) : error A0064: code inside data section
BUILD: [01:0000000029:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(78) : error A0064: code inside data section
BUILD: [01:0000000031:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(79) : error A0064: code inside data section
BUILD: [01:0000000033:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(80) : error A0064: code inside data section
BUILD: [01:0000000035:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(81) : error A0064: code inside data section
BUILD: [01:0000000037:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(82) : error A0064: code inside data section
BUILD: [01:0000000039:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(83) : error A0064: code inside data section
BUILD: [01:0000000041:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(84) : error A0064: code inside data section
BUILD: [01:0000000043:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(84) : error A0017: illegal $ substitution, non assembler variable
BUILD: [01:0000000045:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(84) : error A0227: syntax error in expression
BUILD: [01:0000000047:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(85) : error A0064: code inside data section
BUILD: [01:0000000049:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(86) : error A0064: code inside data section
后来发现是MACRO定格导致的问题,缩进就好了
; Turn on all LEDs.
MACRO
pLED_ON $data
ldr r0, =GPFCON
ldr r1, =0x55aa
str r1, [r0]
ldr r0, =GPFUP
ldr r1, =0xff
str r1, [r0]
ldr r0, =GPFDAT
ldr r1, =$data
str r1, [r0]
b . ; programme is dead here
MEND
刚才,给nboot加入了一个汇编的宏,结果导致大面积错误。如下
; Turn on all LEDs.
MACRO
pLED_ON $data
ldr r0, =GPFCON
ldr r1, =0x55aa
str r1, [r0]
ldr r0, =GPFUP
ldr r1, =0xff
str r1, [r0]
ldr r0, =GPFDAT
ldr r1, =$data
str r1, [r0]
b . ; programme is dead here
MEND
BUILD: [01:0000000025:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(75) : error A0051: unknown opcode: pLED_ON
BUILD: [01:0000000027:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(77) : error A0064: code inside data section
BUILD: [01:0000000029:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(78) : error A0064: code inside data section
BUILD: [01:0000000031:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(79) : error A0064: code inside data section
BUILD: [01:0000000033:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(80) : error A0064: code inside data section
BUILD: [01:0000000035:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(81) : error A0064: code inside data section
BUILD: [01:0000000037:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(82) : error A0064: code inside data section
BUILD: [01:0000000039:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(83) : error A0064: code inside data section
BUILD: [01:0000000041:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(84) : error A0064: code inside data section
BUILD: [01:0000000043:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(84) : error A0017: illegal $ substitution, non assembler variable
BUILD: [01:0000000045:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(84) : error A0227: syntax error in expression
BUILD: [01:0000000047:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(85) : error A0064: code inside data section
BUILD: [01:0000000049:ERRORE] C:/WINCE500/PLATFORM/SMDK2440A/Src/Bootloader/Stepldr/startup.s(86) : error A0064: code inside data section
后来发现是MACRO定格导致的问题,缩进就好了
; Turn on all LEDs.
MACRO
pLED_ON $data
ldr r0, =GPFCON
ldr r1, =0x55aa
str r1, [r0]
ldr r0, =GPFUP
ldr r1, =0xff
str r1, [r0]
ldr r0, =GPFDAT
ldr r1, =$data
str r1, [r0]
b . ; programme is dead here
MEND
相关文章推荐
- ARM汇编程序和makefile文件注意事项
- Netbeans使用xdebug插件调试PHP程序的一个注意事项
- BCB 编写服务程序的一个注意事项
- 创建一个windows服务的小程序及注意事项
- 【学习笔记】汇编:关于DEBUG工具使用的时候的一个注意事项
- ARM汇编程序---1-100累加和一个简单排序
- ARM汇编程序---通过ARM汇编实现累加一个队列的所有元素
- 一个简单的能够进行选择性购买商品的程序流程,及注意事项
- qemu模拟arm并调试汇编的方法和注意事项
- 用汇编语言写的一个模仿IE访问网站数据包的程序片段
- GDALSetProjection使用的一个注意事项
- VC中程序调用Js自定义函数的注意事项
- GPS服务端解析程序编写日记之--vs2010中多种语言开发及调试的若干注意事项
- Linux编译程序时的一些注意事项
- STL标准库algorithm中remove()函数的一个小注意事项
- MYSQL到ORACLE程序迁移的注意事项
- 反汇编一个简单的C程序,分析汇编代码
- in App Purchases一个注意事项
- 用汇编编写一个从键盘上输入并排序的程序
- 关于PAT提交程序的注意事项