1、首先以root用戶登入
2、復制arm-linux-gcc-4.3.2.tgz到根目錄下tmp文件夾里
3、解壓命令tar xvzf arm-linux-gcc-4.3.2 -C /
注意以上命令必須要有-C而且是大寫,後邊有個空格也要注意。
4、配置下編譯環境路徑 在控制台下輸入 gedit /root/.bashrc 等一會出來文本編輯器後在文件最後(最後一行)加上下面代碼。
export PATH=/usr/local/arm/4.3.2/bin:$PATH
保存關閉後,注銷當前用戶,用root賬號重新登錄系統(使剛剛添加的環境變數生效)。
此時可以在控制台輸入: arm-linux-gcc -v 如果安裝成功將會輸出 arm-linux-gcc的版本號。
若想讓它在非超級用戶下使用那。首先,以非超級用戶登入。
1、 輸入命令:vi ~/.bashrc編輯.bashrc文件,在文件末尾加入如上面的內容
export PATH=/usr/local/arm/4.3.2/bin:$PATH
2、輸入命令:gedit /etc/profile
在文件的末尾加上:PATH=/usr/local/arm/4.3.2/bin:$PATH
保存對profile的修改後,執行source /etc/profile就OK了,好了通樣先注銷當前用戶再登錄後進入控制台執行arm-linux-gcc -v 看看能否執行成功就可以了。
② 怎麼查看arm-linux-gcc版本
沒看懂你想表達什麼 不過一般打 arm-linux-gcc --version 以及 arm-linux-gcc -v 可以看到大部分信息。
③ 如何查看arm-linux-gcc某個版本支持的
以上3個其實都是一樣的作用,都是通過改變PATH環境變數。不同的是:
/etc/profile是在啟動一個交互漏攔晌登陸shell的時候被調用(通過/bin/login登陸,TTY上的開機登返鋒錄就是這個衡瞎)
/etc/bashrc則是在一個交互的非登陸shell啟動的時候被調用(通過命令行運行,例如在命令行輸入bash)
所以怎麼設置就要看需要,一般來說,像這種設置工具鏈的環境變數,設置在/etc/profile里會更加好。
export是一個用於設置環境變數的指令,但是BASH支持直接設置,所以如果你的機器是BASH作為shell的話(一般Linux都是的),可以不使用export。
pathmunge也是一個指令,是一個直接用於添加路徑到PATH環境變數的指令。
④ 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網上有許多產品團購,便宜有口碑
⑤ 如何查看arm-linux-gcc某個版本支持的
1、首先以root用戶登入 2、復制arm-linux-gcc-4.3.2.tgz到根目錄下tmp文件夾里 3、解壓命令tar xvzf arm-linux-gcc-4.3.2 -C / 注意以上命令必檔族須要陵悄有-C而且是大寫,後邊有個空格也要注意。 4、配置下編譯環境路徑 在控制台下行汪弊輸入 gedit /root/.b...
⑥ 系統中安裝有多個版本的arm-linux-gcc,該如何切換
1、首先以root用戶登入 2、復制-linux-gcc-4.3.2.tgz到根目錄下tmp文件夾里 3、解壓命令tar xvzf arm-linux-gcc-4.3.2 -C / 注意以上命令必須要有-C而且是大寫,後邊有個空格也要注意。 4、配置下編譯環境路徑 在控制台下輸入 gedit /root/.bashrc 等一會出來文本編輯器後在文件最後(最後一行)加上下面代碼。 export PATH=/usr/local/arm/4.3.2/bin:$PATH 保存關閉後,注銷當前用戶,用root賬號重新登錄系統(使剛剛添加的環境變數生效)。 此時可以在控制台輸入: arm-linux-gcc -v 如果安裝成功將會輸出 arm-linux-gcc的版本號。 若想讓它在非超級用戶下使用那。首先,以非超級用戶登入。 1、 輸入命令:vi ~/.bashrc編輯.bashrc文件,在文件末尾加入如上面的內容 export PATH=/usr/local/arm/4.3.2/bin:$PATH 2、輸入命令:gedit /etc/profile 在文件的末尾加上:PATH=/usr/local/arm/4.3.2/bin:$PATH 保存對profile的修改後,執行source /etc/profile就OK了,好了通樣先注銷當前用戶再登錄後進入控制台執行arm-linux-gcc -v 看看能否執行成功就可以了。
⑦ 如何安裝arm-linux-gcc
1,下載並安裝arm-linux-gcc
arm-linux-gcc-4.2.1的版本在http://ftp.snapgear.org/pub/snapgear/tools/arm-linux/這里可以下載,最新版arm-linux-tools-20080623.tar.gz這個可能是4.2.4的版本,因為下面有編譯4.2.4的方法還有相應的代碼包,build-arm-linux-4.2.14,此版本由於過大,我沒有下載。
下面的這個是ARM官方給的埋雹明下載鏈接http://www.codesourcery.com/gnu_toolchains/arm/download.html,然後將HOST選擇為IA32 GNU/Linux,點擊下載就可以了。不過前綴為arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu而不是arm-linux-。。。
在友善之臂官方網站http://www.arm9.net/download.asp下載arm-linux-gcc4.4.3。
2,刪除之前安裝有舊版本,執行
[root@localhost ~]# rm -rf /opt/arm
3,對新版本arm-linux-gcc-4.4.3進行解壓(注意,如果我們加上了-C,那麼就會自動解壓到/usr/local/arm/這個目錄下),但是友善之臂按照下列方式解壓,不會解壓到/usr/local/arm/目錄下的,這是因為友善之臂把/usr/local/arm/目錄修改成了 /opt/FriendlyARM/toolschain/,除非自己在把它修改過來
[root@localhost ~]# tar -ivxzf /smbroot/arm-linux-gcc-4.4.3.tar.gz -C /
4,修改配置文件,將arm-linux-gcc添加到環境變數中,因為arm-linux-gcc的命令是在/usr/local/arm/4.4.3/bin下,其目的通過對全局變數綁定使之能夠在任意一個目錄下能夠執行該命令。
打開設置文件
[root@localhost opt]# vi /etc/profile
在打開的文件的
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /usr/local/arm/4.4.3/bin
fi
或者在文件末尾添加
export PATH=$PATH:/usr/local/arm/4.4.3/bin
保存退出
5,立即使新的環境變數生效,不用重啟電腦
[root@localhost opt]# source /etc/profile
[root@localhost opt]#
6,檢查是否將路徑加入到PATH:
[root@localhost opt]# echo $PATH
顯示的內容中有/usr/local/arm/4.4.3/彎告bin,說明已經將交叉編譯器的肆神路徑加入PATH。至此,交叉編譯環境安裝完成。
7,測試是否安裝成功
首先,執行find命令查詢一下arm-linux-gcc的位置
[root@localhost ~]# find / -name arm-linux-gcc
/opt/arm/toolschain/4.4.3/bin/arm-linux-gcc
[root@localhost ~]#
可以看到arm-linux-gcc的位置與環境變數中設定的路徑一致
接下來查詢arm-linux-gcc的版本
[root@localhost bin]# arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure --build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.4.3 --with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --enable-languages=c,c++ --disable-multilib --with-arch=armv4t --with-cpu=arm920t --with-tune=arm920t --with-float=soft --with-pkgversion=ctng-1.6.1 --disable-sjlj-exceptions --enable-__cxa_atexit --with-gmp=/opt/FriendlyARM/toolschain/4.4.3 --with-mpfr=/opt/FriendlyARM/toolschain/4.4.3 --with-ppl=/opt/FriendlyARM/toolschain/4.4.3 --with-cloog=/opt/FriendlyARM/toolschain/4.4.3 --with-mpc=/opt/FriendlyARM/toolschain/4.4.3 --with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --enable-target-optspace
Thread model: posix
gcc version 4.4.3 (ctng-1.6.1)
[root@localhost bin]#
可以看到arm-linux-gcc的版本號,至此,arm-linu-gcc已成功安裝。
⑧ 系統中安裝有多個版本的arm-linux-gcc,該如何切換呢
感謝樓上大家的建議。我目前的做法是:1.創建一個文件~/.bash_cross2.在裡面寫上:
#PATH=$PATH:/usr/local/arm/4.6.3/bin
#PATH=$PATH:/usr/local/arm/4.4.3/bin
#PATH=$PATH:/usr/local/arm/4.3.3/bin
export
PATH3.然後每次打開Konsole時,使回用哪個答版本的編譯器,就把哪個路徑打開,然後執行source
~/.bash_cross.這樣不同的Konsole就可以使用不同版本的交叉編譯工具鏈了。但總覺得這個方法不太好,即不能有默認的交叉編譯工具,比如默認使用的是4.6.3的,那麼PATH裡面就會有4.6.3的路徑,這樣的話,如果這個Konsole想換成4.3.3版本就不好換了,因為在PATH中已經存在4.6.3版本的絕對路徑了,後面即使添加進了4.3.3版本的絕對路徑也不會起作用了,這個是目前遇到的主要問題。
⑨ 如何安裝arm-linux-gcc
1.安裝標準的C開發環境,由於並困Linux安裝默認是不安裝的,所以需要先安裝一下(如果已經安裝好的話,就可以免去這一步了):
#sudo apt-get install gcc g++ libgcc1 libg++ make gdb
2.下載arm-linux-gcc-3.4.1.tar.bz2到任意的目錄下,我把它下載到了我的個人文件夾里 /home/wrq
arm-linux-gcc-3.4.1.tar.bz2 的下載地址如下:
3.解壓 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下面了
4. 修改環境變數,把交叉編譯器的路徑加入到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/profile文件:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
方法三:#export PATH=$PATH:/usr/local/arm/3.4.1/bin
註:(這只能在當前的終端下才是有效的!)
5.立即使新的環境變數生效,不用重啟電腦:
對應方法一:#source /root/.bashrc
對應方法二:# source /etc/profile
6.檢查是否將路徑加入到PATH:
# echo $PATH
顯示的內容中有/usr/local/arm/bin,說明已經將交叉編譯器的路徑加入PATH。至模蔽薯此,交叉編譯環境安裝完成。
(本文地址:)
7. 測試是否安裝成功
# 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
8.編譯Hello World程序,測試交叉工具鏈
寫下下面的Hello World程序,保存為hello.c
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
執行下面的命令:
# arm-linux-gcc -o hello hello.c
步驟:
1.找到arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
2.解壓當前目錄,找到arm-linux-gcc的路徑復制下來,進入.bashrc中修改成
加入一行export PATH=$PATH://home/haoyue/arm-linux-gcc/opt/FriendlyARM/toolschain/4.5.1/bin
3.退出後重新進入終端$arm-linux-gcc --v 查看版本號,能看到就成功了。
4.$kermit
5.連接板子,如果不行先按c
6.連接成功後loadb,然後按ctrl+\ 再按c, 最後send app.bin文件
7.上步成功後再按c 然後Go 0x21000000(默認地址)。
⑩ 如何查看arm-linux-gcc某個版本支持的
沒看懂你想表達什麼
不過一般打
arm-linux-gcc --version
以及
arm-linux-gcc -v
可以看到旁枝大部分信息掘銀。運散敏