windows 版 arm-elf-gcc)

來源:互聯網
上載者:User

為了能在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/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.