當前位置:首頁 » 編程軟體 » 交叉編譯器下載

交叉編譯器下載

發布時間: 2022-01-15 18:00:15

⑴ 如何安裝arm-liunx交叉編譯環境

sh ./arm-elf-tools-20040427.sh安裝
----------------------------------------------
一、准備工作

首先需要一台運行linux操作系統的PC以完成我們的編譯工作。

其次要准備如下一些源文件。

1、源文件准備

binutils-2.14.tar.gz

ftp://ftp.gnu.org/gnu/binutils/binutils-2.14.tar.gz

gcc-core-2.95.3.tar.gz

ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-core-2.95.3.tar.gz

gcc-g++2.95.3.tar.gz

ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-g++-2.95.3.tar.gz

glibc-2.2.4.tar.gz

ftp://ftp.gnu.org/gnu/glibc/glibc-2.2.4.tar.gz

glibc-linuxthreads-2.2.4.tar.gz

ftp://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.2.4.tar.gz

linux-2.4.21.tar.gz

ftp://ftp.kernle.org/pub/linux/kernel/v2.4/linux-2.4.21.tar.gz

patch-2.4.21-rmk1.gz # linux kernel patch for arm

ftp://ftp.arm.linux.org.uk/pub/linux/arm/kernel/v2.4/patch-2.4.21-rmk1.gz

binutils-2.14.tar.gz這個壓縮包包含有ld,ar,as等一些產生或者處理二進制文件的工具。

gcc-core-2.95.3.tar.gz這個壓縮包是GCC的主體部分,GCC是GNU Compiler Collection的簡稱,顧名思義,它能夠編譯很多種高級語言,例如C、C++,java等,而這個壓縮包中含有C編譯器,及公共部分,而對其他語言的支持,採用另外的壓縮包單獨發布。

gcc-g++2.95.3.tar.gz,這個壓縮包就是為使GCC能夠編譯C++程序而單獨發布的。

glibc-2.2.4.tar.gz,libc是很多用戶層應用都要用到的庫,kernel和bootloader不需要這個庫的支持,這個庫主體部分封裝在這個壓縮包內。

glibc-linuxthreads-2.2.4.tar.gz,這是Libc用於支持Posix線程而單獨發布的一個壓縮包。

linux-2.4.21.tar.gz,這個壓縮包就是Linux的內核。

patch-2.4.21-rmk1.gz,這個壓縮包是用來給Linux內核打補丁,以使其可以支持ARM的硬體平台。

2、工作目錄搭建

我們創建如下的目錄樹結構

mkdir arm

mkdir tool-chain

mkdir build-dir

mkdir src-dir

mkdir setup-dir

mkdir kernel

arm這個目錄是我們的最頂層工作目錄,我們所有的編譯工作都在這里完成。

tool-chain這個目錄是我們交叉編譯工具的安裝位置,它下面的bin子目錄存放我們創建好的編譯器,匯編器,連接器,以及編譯好的C庫也會安裝到這個目錄之下。

setup-dir這個目錄用來存放我們下載的壓縮包。

src-dir這個目錄用於存放binutils,gcc,glibc解壓之後的源文件。

kernel這個目錄用來存放內核文件,對內核的配置、編譯工作將在這個目錄中完成。

build-dir用來編譯src-dir中的源文件,具體就是binutils,gcc,glibc的編譯工作將在這個目錄下完成。這種源文件目錄和編譯目錄分離的編譯方式是GNU所推薦的。

cd ./src-dir

tar –xvzf ../setup-dir/ binutils-2.14.tar.gz

tar –xvzf ../setup-dir/ gcc-core-2.95.3.tar.gz

tar –xvzf ../setup-dir/ glibc-2.2.4.tar.gz

tar –xvzf ../setup-dir/ glibc-linuxthreads-2.2.4.tar.gz –directory=./glibc-2.2.4

這樣我們在src-dir目錄下就形成了3個源文件目錄binutils-2.14,gcc-core-2.95,3,glibc-2.2.4,其中分別存放著binutils tools,gcc,glibc的源代碼。接下來我們到build-dir中創建3個與這三個源文件目錄對應的編譯目錄。

cd ../build-dir

mkdir ../build-dir/build-binutils

mkdir ../build-dir/build-gcc

mkdir ../build-dir/build-glibc

我們將在這三個目錄中完成對binutils tools, gcc, glibc的配置和編譯工作。下面還要把內核文件解壓到kernel目錄下,並打補丁。

cd ../kernel

tar –xvzf ../setup-dir/ linux-2.4.21.tar.gz

cd ./linux-2.4.21

patch –p1 < ../../setup-dir/ patch-2.4.21-rmk1

二、開始創建

1、 確定幾個系統變數

cd ../../

export TARGET=arm-linux

export PREFIX=../arm/tool-chain

export TARGET_PREFIX=$PREFIX/$TARGET

export KERNEL_SOURCE_LOCATION=../arm/kernel/linux-2.4.21

export PATH=$PREFIX/bin:$PATH

幾個系統變數經常要用到,TARGET定義了目標機,PREFIX是工具鏈的安裝目錄,KERNEL_SOURCE_LOCATION是內核文件位置。

TARGET這個變數對於ARM體系的目標機來說取值為arm-linux,對於其他體系結構的機器如ppc,mips的取值的詳細清單可以參見glibc目錄下的INSTALL文檔.

2、 創建binutils

運行如下命令來創建binutils

cd ./build-dir/build-binutils

configure ../../src-dir/binutils-2.14/configure –target=$TARGET –prefix=$PREFIX

make

make install

這時$PREFIX/bin下創建了一些文件,包括arm-linux-ld,arm-linux-as等。

3、 編譯內核

cd ../../kernel/linux-2.4.21

改Makefile文件使

ARCH = arm

CROSS_COMPILE=arm-linux-

make menuconfig

在System Types中選擇正確的硬體類型

make dep

之後執行如下操作

mkdir $TARGET_PREFIX/include

cp dR $KERNEL_SOURCE_LOCATION/include/arm-asm \

RGET_PREFIX/include/asm

cp dR $KERNEL_SOURCE_LOCATION/include/linux \

RGET_PREFIX/include/linux

4、 創建boot-trap gcc,這個GCC沒有glibc庫的支持,所以只能用於編譯內核,bootloader等,後面創建C庫也要用到這個編譯器,所以創建它主要是為創建C庫做准備,如果只想編譯內核和bootloader那麼,就可以到此結束。

cd ../../build-dir/build-gcc

../../src-dir/gcc-2.95.3/configure –target=$TARGET –prefix=$PREFIX \

--with-headers=$ERNEL_SOURCE_LOCATION/include –enable-language=c \

--disable-threads

然後修改src-dir/gcc-2.95.3/gcc/config/arm/t-linux文件,在

TARGET_LIBGCC2_CFLAGS中添加如下兩個定義

-Dinhibit-libc –D__gthr_posix_h

make

make install

這時$PREFIX/bin下創建了一些文件,主要創建了arm-linux-gcc。

5、 創建gblic

cd ../build-glibc

export CC=arm-linux-gcc

../../src-dir/glibc-2.2.4/configure –host=$TARGET –prefix=$TARGET_PREFIX \

--enable-add-ons

make

make install

將glibc庫安裝完之後,我們要到$TARGET_PREFIX/lib這個目錄下修改libc.so文件,將其中

GROUP(/lib/libc.so.6 /lib/libc_noshared.a)

這個命令腳本中的/lib 的絕對路徑去掉, 也就是改為如下的形式

GROUP(libc.so.6 libc_noshared.a)

這樣下一步創建完整的編譯器時,才不至於導致錯誤.

6、 創建功能健全的GCC,並創建G++

在成功創建了libc之後,我們就可以創建功能豐富的GCC編譯器了,並且可以創建支持編譯C++程序的G++。

cd ../../src-dir

tar –xvzf ../setup-dir/ gcc-g++2.95.3.tar.gz

cd ../build-dir/build-gcc

export CC=gcc

../../src-dir/gcc-2.95.3/configure –target=$TARGET –prefix=$PREFIX \

–enable-language=c,c++

然後修改src-dir/gcc-2.95.3/gcc/config/arm/t-linux文件,在

TARGET_LIBGCC2_CFLAGS中去除如下兩個定義

-Dinhibit-libc –D__gthr_posix_h

make

make install

7,至此我們成功的創建了ARM Linux的交叉編譯工具。

------------------------------------------------------
可以去www.arm16.com看看

⑵ gcc -arm這個交叉編譯工具。有沒有可以再window上使用的

yagarto和codesourcery都是在windows下用的,官方已經編譯打包好的EXE文件
cygwin下可以自己編譯源代碼,做出GNU工具鏈
mingw也可以實現
還有一些在windows下用的IDE,專門針對GNU工具鏈的,code::blocks,emide等
我在用emIDE,arm-none-eabi-gdb調試ARM

⑶ Linux系統中如何安裝交叉編譯器

交叉編譯器通常以 arm-none-linux-gnueabi.tar.bz2 這樣的名稱發布(不同廠家的不同開發平台,交叉編譯工具鏈的實際名稱可能有所差別,請以實際為准),解壓命令:
vmuser@Linux-host: ~$ tar xjvf arm-none-linux-gnueabi.tar.bz2
如果希望解壓到一個指定的目錄,可以先將 arm-none-linux-gnueabi.tar.bz2 壓縮包復制到目標目錄,然後進入目標目錄再運行解壓命令,也可以在任意目錄解壓,通過-C 指定目標目錄。假定希望解壓到「/home/ctools/」目錄,則命令如下:
vmuser@Linux-host: ~$ tar xjvf arm-none-linux-gnueabi.tar.bz2 -C /home/ctools/

在終端中添加環境變數,需要每次打開終端都設置,也很麻煩。可以考慮將設置的過程添加到系統配置文件中。/etc/profile 是系統全局的配置文件,在該文件中設置交叉編譯器的路徑,能夠讓登錄本機的全部用戶都可以使用這個編譯器。
打開終端,輸入「sudo vi /etc/profile」命令,打開/etc/profile 文件,在文件末尾添加:
export PATH=$PATH:/home/ctools/arm-2011.03/bin/
然後輸入「. /etc/profile」(點+空格+文件名),執行 profile 文件,使剛才的改動生效。如果沒有書寫錯誤,此時打開終端,輸入 arm-none-linux-gnueabi-,然後按鍵盤 TAB 鍵,同樣可以看到很多 arm-none-linux-gnueabi-開頭的命令。
這些周立功那邊很多的,不知道你有沒去看過。

⑷ 在linux中安裝交叉編譯器時的解包問題

具體操作步驟如下:
1. 下載
在GCC網站上( 3.3.1。可供下載的文件一般有兩種形式:gcc-3.3.1.tar.gz和 2,只是壓縮格式不一樣,內容完全一致,下載其中一種即可。
2. 解壓縮
根據壓縮格式,選擇下面相應的一種方式解包(以下的「%」表示命令行提示符):
% tar xzvf gcc-3.3.1.tar.gz
或者
% tar jxvf 2
新生成的gcc-3.3.1這個目錄被稱為源目錄,用${srcdir}表示它。以後在出現${srcdir}的地方,應該用真實的路徑來替換它。用pwd命令可以查看當前路徑。
在${srcdir}/INSTALL目錄下有詳細的GCC安裝說明,可用瀏覽器打開 ml閱讀。
3. 建立目標目錄
目標目錄(用${objdir}表示)是用來存放編譯結果的地方。GCC建議編譯後的文件不要放在源目錄${srcdir]中(雖然這樣做也可以),最好單獨存放在另外一個目錄中,而且不能是${srcdir}的子目錄。
例如,可以這樣建立一個叫 gcc-build 的目標目錄(與源目錄${srcdir}是同級目錄):

% mkdir gcc-build
% cd gcc-build
以下的操作主要是在目標目錄 ${objdir} 下進行。
4. 配置
配置的目的是決定將GCC編譯器安裝到什麼地方(${destdir}),支持什麼語言以及指定其它一些選項等。其中,${destdir}不能與${objdir}或${srcdir}目錄相同。
配置是通過執行${srcdir}下的configure來完成的。其命令格式為(記得用你的真實路徑替換${destdir}):
% ${srcdir}/configure --prefix=${destdir} [其它選項]
例如,如果想將GCC 3.3.1安裝到/usr/local/gcc-3.3.1目錄下,則${destdir}就表示這個路徑。
% ../gcc-3.3.1/configure --prefix=/usr/local/gcc-3.3.1 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java
將GCC安裝在/usr/local/gcc-3.3.1目錄下,支持C/C++和JAVA語言,其它選項參見GCC提供的幫助說明。
5. 編譯
% make
這是一個漫長的過程。

6. 安裝
執行下面的命令將編譯好的庫文件等拷貝到${destdir}目錄中(根據你設定的路徑,可能需要管理員的許可權):
% make install
至此,GCC 3.3.1安裝過程就完成了。
6. 其它設置
GCC 3.3.1的所有文件,包括命令文件(如gcc、g++)、庫文件等都在${destdir}目錄下分別存放,如命令文件放在bin目錄下、庫文件在lib下、頭文件在include下等。由於命令文件和庫文件所在的目錄還沒有包含在相應的搜索路徑內,所以必須要作適當的設置之後編譯器才能順利地找到並使用它們。
6.1 gcc、g++、gcj的設置
要想使用GCC 3.3.1的gcc等命令,簡單的方法就是把它的路徑${destdir}/bin放在環境變數PATH中。我不用這種方式,而是用符號連接的方式實現,這樣做的好處是我仍然可以使用系統上原來的舊版本的GCC編譯器。
首先,查看原來的gcc所在的路徑:
% which gcc
在系統上,上述命令顯示:/usr/bin/gcc。因此,原來的gcc命令在/usr/bin目錄下。可以把GCC 3.3.1中的gcc、g++、gcj等命令在/usr/bin目錄下分別做一個符號連接:
% cd /usr/bin
% ln -s ${destdir}/bin/gcc gcc33
% ln -s ${destdir}/bin/g++ g++33
% ln -s ${destdir}/bin/gcj gcj33
這樣,就可以分別使用gcc33、g++33、gcj33來調用GCC 3.3.0的gcc、g++、gcj完成對C、C++、JAVA程序的編譯了。同時,仍然能夠使用舊版本的GCC編譯器中的gcc、g++等命令。

⑸ arm CROSS_COMPILE=arm-linux-gnueabi- 求這個編譯器包或下載地址,謝謝

make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm omap3_evm_config
在Linux下,用Make 命令來編譯程序,
CROSS_COMPILE給出了編譯程序所用的交叉工具鏈的名稱,比如:
CROSS_COMPILE=arm-none-linux-gnueabi-表示交叉編譯器的gcc為
arm-none-linux-gnueabi-gcc
ARCH給出了目標處理器的架構
這里用的是arm 處理器,

通過這個命令,把這些參數傳遞給Makefile中的預留參數,程序就可以順利編譯下去了。

可以看看Linux編程方面的書。

⑹ cross-4.3.2交叉編譯工具鏈在哪裡可以下載

ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/
可以到這來下載

⑺ 請問各位linux 系統高手,cross-3.3.2.tar.bz2交叉編譯工具在哪裡可以下載啊,幫幫忙,謝謝!

你要的是crosstool吧?這是GCC交叉編譯工具集的自動安裝腳本,可以到http://www.kegel.com/crosstool/#download下載,最新版本為0.43。

不知道這是不是你在找的。

⑻ 如何安裝交叉編譯器 詳細�0�3

1.將源碼拷至目錄文件: a) 使用命令:cp 3.4.1.tar.bz2 /lishangfeng 拷貝交叉工具的文件至目錄文件; 2.將源文件進行解壓: a) 使用命令:tar xvf 3.4.1.tar.bz2 解壓源文件,得到目錄文件(3.4.1); 3.查看目錄下的文件: a) 使用命令:ls b) arm-linux bin include info lib libexec man tmp 4.修改環境變數: a) 打開終端,查看當前環境變數: b) 輸入命令:echo $PATH c) 添加新的環境變數: 使用命令:PATH = $PATH:/lishangfeng/3.4.1/bin (這樣添加只針對本終端有用) d) 若想將環境變數永久添加,可以使用以下方法: 1)打開更改腳本文件: 2)使用命令:gedit /root/.bashrc 3)在文件的最後一行加上如下代碼: export PATH=$PATH:/lishangfeng/3.4.1/bin 4)保存退出,重新啟動linux 系統即可。 5.至此交叉編譯器就安裝成功了。 製作人:尚賢博學 於2013 年3 月3 號西安石油大學製作完成(希望能幫助到廣大熱愛嵌入式的朋友們)

⑼ 誰有交叉編譯工具鏈的源碼包

根據GPL和LGPL授權規則,友善之臂在重新發布GPL和LGPL授權的軟體二進制檔的同時,必須同時發布其對應的源代碼(包括原始源代碼包和友善之臂在其基礎上的修改),並提供源代碼編譯的方法,確保用戶能重新構建出和發布出的二進制檔相同的軟體。
友善之臂能成為這個行業內受大多數開發者尊敬的公司,就是因為能從大多數開發者的角度出發,提供他們所需要的資源。我想他們不會不尊重這些自由軟體作者所選擇的授權規則的。

⑽ 交叉編譯完之後怎麼下載程序到開發板

現在當下的板子,對於mp3這種功能,像spantan3 這種30萬門的足夠了。
mp3這個編解碼,應該用不了多少,你還得考慮下,具體實現,你對外設以及其他資源的要求·~~~~~

如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!

熱點內容
多看閱讀上傳 發布:2024-12-23 14:34:05 瀏覽:176
編程高性能 發布:2024-12-23 14:33:31 瀏覽:114
電腦加裝固態後需要怎麼配置 發布:2024-12-23 14:20:21 瀏覽:508
如何在伺服器上進行序列比對 發布:2024-12-23 14:15:25 瀏覽:284
ga6選哪個配置車 發布:2024-12-23 14:13:36 瀏覽:274
鴻蒙為什麼比安卓占內存 發布:2024-12-23 14:06:13 瀏覽:180
sql兩表更新 發布:2024-12-23 14:01:29 瀏覽:207
linux驅動spi 發布:2024-12-23 13:25:22 瀏覽:115
王思聰為什麼配伺服器 發布:2024-12-23 13:19:48 瀏覽:374
安卓型號代表什麼 發布:2024-12-23 13:13:29 瀏覽:780