為arm交叉編譯工具鏈生成符號鏈結

2021-08-19 09:12:10 字數 1678 閱讀 8490

ln arm-none-linux-gnueabi-gcc -s  arm-linux-gcc

ln arm-none-linux-gnueabi-ld -s arm-linux-ld

ln arm-none-linux-gnueabi-objcopy -s arm-linux-objcopy

ln arm-none-linux-gnueabi-objdump -s arm-linux-objdump

1、首先touch arm-linux.sh檔案,然後輸入以上**並儲存。

2、如果只做到這一步,.sh指令碼檔案是無法執行的。因為沒有執行許可權。我們通過chmod為指令碼新增使用者執行許可權。

chmod u+x arm-linux.sh
3、執行指令碼,符號鏈結新增成功。之後我們就可以用arm-linux-gcc 代替 arm-none-linux-gnueabi-gcc啦!

arm交叉編譯工具版本眾多,且名字很長,很令人費解。先解釋一下arm工具鏈的命名規則(此部分**

)。命名規則:

交叉編譯工具鏈的命名規則為:arch [-vendor] [-os] [-(gnu)eabi]

例項:

1、arm-none-eabi-gcc

(arm architecture,no vendor,not target an operating system,complies with the arm eabi)

一般適合 arm7、cortex-m 和 cortex-r 核心的晶元使用,所以不支援那些跟作業系統關係密切的函式,

比如fork(2),他使用的是 newlib 這個專用於嵌入式系統的c庫。

2、arm-none-linux-gnueabi-gcc

(arm architecture, no vendor, creates binaries that run on the linux operating system, and uses the gnu eabi)

主要用於基於arm架構的linux系統,可用於編譯 arm 架構的 u-boot、linux核心、linux應用等。

arm-none-linux-gnueabi基於gcc,使用glibc庫,經過 codesourcery 公司優化過推出的編譯器。

arm-none-linux-gnueabi-*** 交叉編譯工具的浮點運算非常優秀。一般arm9、arm11、cortex-a 內

核,帶有 linux 作業系統的會用到。

3、arm-eabi-gcc

android arm 編譯器。

4、armcc

arm 公司推出的編譯工具,功能和 arm-none-eabi 類似,可以編譯裸機程式(u-boot、kernel),

但是不能編譯 linux 應用程式。armcc一般和arm開發工具一起,keil mdk、ads、rvds和ds-5中

的編譯器都是armcc,所以 armcc 編譯器都是收費的(愛國版除外,呵呵~~)。

5、arm-none-uclinuxeabi-gcc 和 arm-none-symbianelf-gcc

arm-none-uclinuxeabi 用於uclinux,使用glibc。

arm-none-symbianelf 用於symbian,沒用過,不知道c庫是什麼 。

ARM交叉編譯工具鏈分類說明

為什麼要用交叉編譯器?交叉編譯通俗地講就是在一種平台上編譯出能執行在體系結構不同的另一種平台上的程式,比如在pc平台 x86 cpu 上編譯出能執行在以arm為核心的cpu平台上的程式,編譯得到的程式在x86 cpu平台上是不能執行的,必須放到arm cpu平台上才能執行,雖然兩個平台用的都是lin...

交叉編譯工具鏈

交叉編譯工具鏈 交叉編譯 就是在一種平台上編譯出能執行在體系結構不同的另一種平台上的程式 比如在pc平台 x86 cpu 上編譯出能執行在以arm為核心的cpu平台上的程式,編譯得到的程式在x86 cpu平台上是不能執行的,必須放到arm cpu平台上才能執行,雖然兩個平台用的都是linux系統 交...

交叉編譯工具鏈的安裝(arm 2008q3為例)

1 從pc上拷貝arm 2008q3的壓縮檔案到ubuntu的 usr local,解壓縮 2 在 root下.bashrc檔案中新增環境變數 編輯編輯.bash profile也行。export path path usr local arm 2008q3 bin 3 使設定生效 source r...