crt0.s文件
.text
.global _start
_start:
ldr r0,=0x53000000 @WTCON
mov r1,#0
str r1,[r0] @close watchdog
ldr sp,=4096
bl main
halt_loop:
b halt_loop
.end
led_on_c.c 文件
#define GPBCON (*(volatile unsigned long *)0x56000010)
#define GPBDAT (*(volatile unsigned long *)0x56000014)
int main()
{
GPBCON=0x00000400;
GPBDAT=0x00000000;
return 0;
}
makefile文件
led_on_c.bin:crt0.s led_on_c.c
arm-linux-gcc -g -c -o crt0.o crt0.s
arm-linux-gcc -g -c -o led_on_c.o led_on_c.c
arm-linux-ld -Ttext 0x00000000 -g crt0.o led_on_c.o -o led_on_c_elf
arm-linux-objcopy -O binary -S led_on_c_elf led_on_c.bin
arm-linux-objdump -D -m arm led_on_c_elf > led_on_c.dis
clean:
rm -f led_on_c.dis led_on_c.bin led_on_c_elf *.o
执行make时,有下面错误提示:
arm-linux-gcc -g -c -o crt0.o crt0.s
arm-linux-gcc -g -c -o led_on_c.o led_on_c.c
arm-linux-ld -Ttext 0x00000000 -g crt0.o led_on_c.o -o led_on_c_elf
led_on_c.o:(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
make: *** [led_on_c.bin] Error 1
解决方法:arm-linux-gcc加上-nostdlib选项如下:
arm-linux-gcc -nostdlib -g -c -o crt0.o crt0.S
arm-linux-gcc -nostdlib -g -c -o led_on_c.o led_on_c.c
.text
.global _start
_start:
ldr r0,=0x53000000 @WTCON
mov r1,#0
str r1,[r0] @close watchdog
ldr sp,=4096
bl main
halt_loop:
b halt_loop
.end
led_on_c.c 文件
#define GPBCON (*(volatile unsigned long *)0x56000010)
#define GPBDAT (*(volatile unsigned long *)0x56000014)
int main()
{
GPBCON=0x00000400;
GPBDAT=0x00000000;
return 0;
}
makefile文件
led_on_c.bin:crt0.s led_on_c.c
arm-linux-gcc -g -c -o crt0.o crt0.s
arm-linux-gcc -g -c -o led_on_c.o led_on_c.c
arm-linux-ld -Ttext 0x00000000 -g crt0.o led_on_c.o -o led_on_c_elf
arm-linux-objcopy -O binary -S led_on_c_elf led_on_c.bin
arm-linux-objdump -D -m arm led_on_c_elf > led_on_c.dis
clean:
rm -f led_on_c.dis led_on_c.bin led_on_c_elf *.o
执行make时,有下面错误提示:
arm-linux-gcc -g -c -o crt0.o crt0.s
arm-linux-gcc -g -c -o led_on_c.o led_on_c.c
arm-linux-ld -Ttext 0x00000000 -g crt0.o led_on_c.o -o led_on_c_elf
led_on_c.o:(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
make: *** [led_on_c.bin] Error 1
解决方法:arm-linux-gcc加上-nostdlib选项如下:
arm-linux-gcc -nostdlib -g -c -o crt0.o crt0.S
arm-linux-gcc -nostdlib -g -c -o led_on_c.o led_on_c.c