歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

裸板開發--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時就成功了

Copyright © Linux教程網 All Rights Reserved