我初学,仿照书上写了段控制LED亮灭代码,准备烧到flash中,看是否能当bootloader用,我用ADS编译时,汇编部分老是通过不了,请帮助看看有什么问题,还有这段代码能否实现一个简单的bootloader功能。请各位高手给予指点
;******************init.s**************
IMPORT main AREA Init,CODE,READONLY ENTRY LDR R0, =0x1c00000 LDR R1, =0x0e STR R1, [R0] BL main B . END
//**********main.c************
#define rSYSCFG (*(volatile unsigned *)0x1c00000) #define rPCONC (*(volatile unsigned *)0x1d20010) #define rPDATC (*(volatile unsigned *)0x1d20014) #define rPUPC (*(volatile unsigned *)0x1d20018) void initport(void) { rPCONC = 0x5f555555; rPDATC=0x0;//led亮 rPUPC = 0x3000; } void port_1(void)//led灭 { rPDATC=0xffff;//led灭 } void port_1(void)//led亮 { rPDATC=0x00;//led亮 } void delay(int x) { int i,j,k; for(i=0;i<=x;i++) for(j=0;j<=x;j++) for(k=0;k<=x;k++) } int main() { initport(); delay(10); for(i=0;i<=10;i++) { port_1(); delay(10); port_0(); } return(0); }
为什么编译老是出错,是我ADS设置不对,还是程序不对,请指正