windows 版 arm-elf-gcc(转)
為了能在windows下使用gcc的編譯器,一直想在cygwin先編譯arm-elf-gcc,但是搞了一個多月最后還是失敗了,不會linux啊。想去改編譯錯誤都不知道從那里下手。為了主要的事情能夠快點開始,還是用GNU ARM現成的工具鏈吧。
? 介紹幾個網站:
???????? www.gnuarm.com??? 下載GNU ARM的工具鏈,里面有newlib,可以直接使用標準C庫
???????? www.steve.org.uk??? 下載windows下面的make
???????? unxutils.sourceforge.net?下載bash,以前的腳本都是在cygwin下寫的,所以需要一個bash,否則cp,rm等等都用不了。其實steve也提供bash,但是他的cp的參數和cygwin下的不一樣,為了不改腳本就找了這個。
??? 1.download install tools link:
GNU ARM: http://www.gnuarm.com/bu-2.15_gcc-3.4.3-c-c++-java_nl-1.12.0_gi-6.1.exe
Make: http://www.steve.org.uk/Software/make/make.zip
Bash: http://unxutils.sourceforge.net/UnxUtils.zip
??? 2.install tool
GNU ARM:直接安裝,我的安裝路徑為C:/GNUARM
Make:將make.zip中的make.exe解壓縮到C:\GNUARM\bin
Bash:將UnxUtils.zip\usr\local\wbin中的所有文件解壓縮到C:\GNUARM\bin
??? 3.note
為了防止以后編譯不出以外,安裝路徑最好不要有空格。
暫時不要使用GCC-4.1 toolchain,沒有cygwin的情況下會gcc提示缺少dll
暫時不要使用GCC-4.0 toolchain,測試的時候不認-mapcs-32,但又不知道默認的到底是多少
GNU ARM下面有用newlib編譯好的用于arm的libc可以直接使用,但是編譯時候的用到里面的一些和內存有關的函數,必須要在ld文件中為其留出參考。
我在使用printf的時候直接就報錯c:/GNUARM/arm-elf/lib/libc.a(syscalls.o) (.text+0x69c): In `_sbrk':http://www.cnblogs.com/http://www.cnblogs.com/http://www.cnblogs.com/newlib-1.12.0/newlib/libc/sys/arm/syscalls.c:508: undefined reference to `end'
在ld腳本中做如下改動就ok了
.bss :
?{
??__bss_start = .;
??*(.bss) *(COMMON);
??PROVIDE (end = .);
??__bss_end = .;
?}
http://blog.21ic.com/user1/2983/archives/2008/53368.html
http://www.gnuarm.com/
http://sourceforge.net/projects/unxutils
http://unxutils.sourceforge.net/
總結
以上是生活随笔為你收集整理的windows 版 arm-elf-gcc(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pku2524-----Ubiquito
- 下一篇: 一个不错的报表工具 open flash