當前位置:首頁 » 編程軟體 » 如何升級海思交叉編譯器

如何升級海思交叉編譯器

發布時間: 2022-02-15 00:22:37

❶ 如何更改ubuntu中交叉編譯工具鏈

1.下載arm-linux-gcc-3.4.1.tar.bz2到任意的目錄下,我把它下載到了我的個人文件夾里 /home/wrq
2. 解壓 arm-linux-gcc-3.4.1.tar.bz2

#tar -jxvf arm-linux-gcc-3.4.1.tar.bz2
解壓過程需要一段時間,解壓後的文件形成了 usr/local/ 文件夾,進入該文件夾,將arm文件夾拷貝到/usr/local/下
# cd usr/local/
#cp -rv arm /usr/local/
現在交叉編譯程序集都在/usr/local/arm/3.4.1/bin下面了
3. 修改環境變數,把交叉編譯器的路徑加入到PATH。(有三種方法,強烈推薦使用方法一)
方法一:修改/etc/bash.bashrc文件
#vim /etc/bash.bashrc
在最後加上:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
export PATH
方法二:修改/etc/profile文件:
# vim /etc/profile
增加路徑設置,在末尾添加如下,保存/etc/profil文件:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
4. 立即使新的環境變數生效,不用重啟電腦:
對應方法一:#source /root/.bashrc
對應方法二:# source /etc/profile
5. 檢查是否將路徑加入到PATH:
# echo $PATH
顯示的內容中有/usr/local/arm/bin,說明已經將交叉編譯器的路徑加入PATH。至此,交
叉編譯環境安裝完成。
6. 測試是否安裝成功
# arm-linux-gcc -v
上面的命令會顯示arm-linux-gcc信息和版本,顯示的信息:
Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-
3.4.1/configure --target=arm-linux --host=i686-host_pc-linux-gnu
--prefix=/usr/local/arm/3.4.1 --with-headers=/usr/local/arm/3.4.1/arm
-linux/include --with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable
-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-
languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.1
7.編譯
Hello World程序,測試交叉工具鏈
寫下下面的Hello World程序,保存為
hello.c
#include
int main()
{
printf("Hello World!\n");
return 0;
}
執行下面的命令:
# arm-linux-gcc -o hello hello.c
源程序有錯誤的話會有提示,沒有任何提示的話,就是通過了,就可以下載到ARM目標板上運行了!接著可以輸入file hello的命令,查看生成的hello文件的類型,要注意的是生成的可執行文件只能在ARM體系下運行,不能在其於X86的PC機上運行。

❷ ubuntu怎麼安裝arm交叉編譯器

1、下載文件:
安裝包:arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
2、開始安裝(建議大家新建一個文件夾),然後將文件復制到新建的文件夾中

輸入命令: sudo tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz

安裝完成後,輸入ls命令,可以看到一個opt文件夾,

3.修改環境變數,把交叉編譯器的路徑加入到PATH:
利用tab鍵的補齊功能進入該路徑
輸入pwd命令,查看當前路徑的絕對路徑
/home/cf/ARM/opt/FriendlyARM/toolschain/4.5.1/bin

❸ 如何安裝交叉編譯器 詳細�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 號西安石油大學製作完成(希望能幫助到廣大熱愛嵌入式的朋友們)

❹ linux各個內核版本與交叉編譯器版本的對應問題。這個是怎麼對應的。我怎麼知道我的內核需要那個編譯器。

一般來說越新的內核用越新的交叉編譯器,你不用知道怎麼選擇,網上都有大量的現成例子,你這個3.4.1和4.4.3 都跳了一個重大改版了,也許你這個3.4.1隻能編譯通過2.4.xxx的內核,交叉編譯器在編譯的時候涉及到對一些代碼的優化,2.4內核 和2.6內核差了很多,這個你也知道!

❺ arm-linux-gcc交叉編譯器的製作,以及版本選擇問題。

,需要必須有足夠動經驗來支持。
另外,用 RH9 的都是高手,我想你的知識不需要來提問了吧?

1、在 PC 上編譯 arm 的程序當然需要較差編譯器,這個需要自己安裝,或者著現成的交叉編譯器環境,一般是一個特殊參數編譯出來的 gcc + binutils + glibc + linux-header。這個每個人動環境不同,一般都需要自己編譯一個,當然沒有特殊需求,也可以找現成的。不過很難找,因為這套環境還要和你動系統搭配,不然環境不匹配,連這個環境都不能運行,那就更談不上編譯東西了。
有關自己編譯搭建交叉編譯環境,可以看看一個特殊的 Linux 發行版 LFS 的分支: CLFS 。

2、移植分很多意思,移植有可能就意味著這套源代碼不能在目標系統上面編譯,需要你根據相應的知識去修改源代碼來讓這套代碼適應目標編譯器的要求,比如源代碼有 SSE4 的優化,這套程序在非 SSE4 CPU 上無法編譯運行,但目標機器連 SSE1 都不支持。那麼就需要移植。
或者移植僅僅是根據新的環境進行編譯,不需要進行源代碼修改,只需要進行一下編譯就能運行的程序,也可以稱為移植,就是從一個環境、架構 -》另一個環境、架構。都可以稱為移植,但真正的移植意味著修改程序源代碼來適應新環境。你說的這種移植是最簡單的移植。

3、決定目標硬體環境 -》搭建目標編譯器 -》製作目標環境(內核,基礎軟體庫)-》進行應用移植(移植需要的軟體、主應用程序)-》搭建系統文件系統 -》導入目標系統-》啟動目標系統&應用。說起來很簡單,因為這是完全沒有問題的條件下。
至於超級終端。那是用來控制目標系統的。目標系統有可能不能插鍵盤滑鼠顯示器,這就需要一個遠程網路鏈接來進行控制。以及通過遠程鏈接來發送數據。這都需要終端的支持。

虛擬機下面進行開發,不能發揮你的計算機的性能。而且因為隔著 VMware 的軟體模擬層,可能還不會很方便的讓你鏈接目標設備。

至於用 socket ,我還沒見到你的目標需要這個東西,因為所有的東西都是現成的源代碼。不需要你從 0 開始寫,當然你想自己寫一個系統內核,或者伺服器程序,或者全套的系統+應用,我絕對不攔你,但希望你寫完這套東西,能把源代碼發布出來。
ads 可以認為是一個支持環境,他本身不是一個系統的開發 SDK 。
-------------------------------------
ads 沒用過,印象里他還有模擬器,調試器什麼的程序。功能上要比 Linux 開發環境,WinCE 環境下面的東西更多更偏向於硬體方面,畢竟 ads 是 arm 出品的,不太可能偏向於軟體部分設計。Linux 和 WinCE 都是系統而不是硬體工具。

你可以認為交叉編譯器是一個應用程序,一個輸出器。把源代碼輸出為 arm 的代碼,這個應用程序的輸出,是靠他自己的環境,而不是當前系統的環境的。
當前系統的各個軟體的版本,不能影響交叉編譯器輸出的環境(理論上,現實有的時候總是從別的地方給你打擊……),交叉編譯器一般至少有 gcc 、binutils 、glibc 庫、linux kernel 頭文件。

在軟體需求上。
頭文件誰都不依賴,glibc 只需要內核頭文件,其他程序全都依賴於 glibc 。也就是所有程序都不依賴內核,僅僅是依賴於內核頭文件。

gcc 和 binutils 是把程序源代碼根據上面各個環節的需提供的功能來輸出為上面環節裡面的二進製程序。依賴你當前環境的,只有 gcc 和 binutils 兩個程序的執行、控制環節。只有他們兩個依賴的,而不是你的交叉編譯後的程序。

至於編譯器版本的選擇,新版本功能更好,舊版本兼容更好。
這個要看你的實際需要了。應用程序源代碼也調編譯器的,同時也依賴於軟體庫的功能。

arm 開發建議穩定、兼容優先。當然也可以嘗試最新的編譯環境,來獲取更好的優化(前提是還有什麼代碼優化的話)。
另外,團IDC網上有許多產品團購,便宜有口碑

❻ 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-開頭的命令。
這些周立功那邊很多的,不知道你有沒去看過。

❼ 如何安裝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看看

❽ 什麼是交叉編譯器

交叉編譯器:在一種計算機環境中運行的編譯程序,能編譯出在另外一種環境下運行的代碼

❾ 虛擬機ubuntu14.04怎麼安裝交叉編譯器

虛擬機ubuntu14.04怎麼安裝交叉編譯器,解答如下

  • 開始安裝(建議大家新建一個文件夾),然後將文件復制到新建的文件夾中

  • 輸入命令: sudo tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz

  • 安裝完成後,輸入ls命令,可以看到一個opt文件夾,如下圖

  • 修改環境變數,把交叉編譯器的路徑加入到PATH:

  • 利用tab鍵的補齊功能進入該路徑,如下圖

  • 輸入pwd命令,查看當前路徑的絕對路徑

  • /home/cf/ARM/opt/FriendlyARM/toolschain/4.5.1/bin

熱點內容
linux多行刪除 發布:2025-01-13 13:06:01 瀏覽:200
傳奇3離線腳本 發布:2025-01-13 13:05:08 瀏覽:751
java請求https 發布:2025-01-13 12:53:35 瀏覽:868
SQL限定符 發布:2025-01-13 12:46:19 瀏覽:145
掛號系統php源碼 發布:2025-01-13 12:39:04 瀏覽:581
存儲器通史是什麼 發布:2025-01-13 12:38:11 瀏覽:405
可以捏的解壓器怎麼做 發布:2025-01-13 12:32:16 瀏覽:524
ios的java編譯器 發布:2025-01-13 12:12:54 瀏覽:616
安卓手機如何看wifi使用人數 發布:2025-01-13 12:08:10 瀏覽:953
vb反編譯教程 發布:2025-01-13 12:08:00 瀏覽:538