裸板开发--makefile 出错问题解决


1,在keil uvision4 中编译韦东山的裸板程序时,会提示错误:

Build target 'Target 1'
linking...
key_led.axf: Error: L6218E: Undefined symbol Image$$RW_RAM1$$RW$$Length (referred from s3c2440.o).
Target not created

原因是target中没有配置read/only中的ROM1  和 read/write中的RAM1(这两个选项对应编译后生成的代码在芯片中 的存储位置),可以配置如下:

这时再编译连接就不会有问题了。

2,将程序丢到Ubuntu中编译时,有个makfile如下:

key_led.bin : crt0.S  key_led.c
 arm-linux-gcc -g -c -o crt0.o crt0.S
 arm-linux-gcc -g -c -o key_led.o key_led.c
 arm-linux-ld -Ttext 0x0000000 -g  crt0.o key_led.o -o key_led_elf
 arm-linux-objcopy -O binary -S key_led_elf key_led.bin
 arm-linux-objdump -D -m arm  key_led_elf > key_led.dis
clean:
 rm -f  key_led.dis key_led.bin key_led_elf *.o

注:crt0为启动引导的汇编文件,作用等同与用keil建立工程时系统自动导入的s3c2440.s

当make时会提示如下错误:

解决办法是:arm-linux-gcc加上-nostdlib选项

       

这样再次make时就成功了

相关内容