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时就成功了