當前位置:首頁 » 編程軟體 » 嵌入式交叉編譯器如何構建

嵌入式交叉編譯器如何構建

發布時間: 2022-11-13 22:15:46

1. 求助:qt在linux下,嵌入式交叉編譯環境配置

第一步,你需要下載QT源代碼(4.8的編譯比較容易),然後通過 ./configure (參數自己定,不懂看readme)接下來就是在QT CREATE裡面配置了,如下: 工具-->選項--->構建和運行 1. 編譯器: 點擊添加: "名稱"隨意 "編譯器路徑" **/arm-none-linux-gnueabi-g...

2. 嵌入式ARM linux操作系統中如何構建交叉開發環境

這個問題相當專業了,之前我去周立功那邊了解過的。

按照以下步驟進行安裝:

1) 安裝32位的兼容庫和libncurses5-dev庫

在安裝交叉編譯工具之前需要先安裝32位的兼容庫和libncurses5-dev庫,安裝32兼容庫需要從ubuntu的源庫中下載,所以需要在Linux主機系統聯網的條件下,通過終端使用如下命令安裝:

vmuser@Linux-host ~$sudo apt-get install ia32-libs

若Linux主機系統沒有安裝32位兼容庫,在使用交叉編譯工具的時候可能會出現錯誤:

-bash: ./arm-fsl-linux-gnueabi-gcc: 沒有那個文件或目錄

在終端中使用如下命令則可以安裝libncurses5-dev庫。

vmuser@Linux-host ~$sudo apt-get install libncurses5-dev

如果沒有安裝此庫,在使用make menucofig時出現如下所示的錯誤:

*** Unableto find the ncurses libraries or the

*** required headerfiles.

*** 'makemenuconfig' requires the ncurses libraries.

***

Installncurses (ncurses-devel) and try again.

***

make[1]: *** [scripts/kconfig/dochecklxdialog] 錯誤 1

make: *** [menuconfig] 錯誤 2

2) 安裝交叉編譯工具鏈

將交叉編譯工具「gcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar.bz2」文件通過U盤的方式拷貝到Linux主機的「/tmp」目錄下,然後執行如下命令進行解壓安裝交叉編譯工具鏈:

vmuser@Linux-host ~$ cd /tmp

vmuser@Linux-host ~$ sudo tar -jxvfgcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar.bz2 -C /opt/

vmuser@Linux-host /tmp$ # 輸入vmuser用戶的密碼「vmuser」

執行完解壓命令後,交叉編譯工具鏈將被安裝到「/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0」目錄下。交叉編譯器的具體目錄是「/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin」,為了方便使用,還需將該路徑添加到PATH環境變數中,其方法為:修改「/etc/profile」文件,具體操作方法如下:

在終端中輸入如下指令

vmuser@Linux-host ~$ sudo vi /etc/profile # 若提示輸入密碼,則輸入「vmuser」

用vi編輯器打開「/etc/profile」文件後,在文件末尾增加如下一行內容:

export PATH=$PATH:/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin

文件修改並保存後,再在終端中輸入如下指令,更新環境變數,使設置生效。

vmuser@Linux-host ~$source /etc/profile

在終端輸入arm-fsl-linux-gnueabi-並按TAB鍵,如果能夠看到很多arm-fsl-linux-gnueabi-前綴的命令,則基本可以確定交叉編譯器安裝正確,如下圖所示。

3. 如何為嵌入式開發建立交叉編譯環境

如果你確實需要自己建立交叉開發環境,那我們建議您使用某些特定的腳本,比如 crosstool 等; 我們覺得你還是先暫時不要把時間花在如何建立這個環境上,去下載個已經做好了的來使用吧

4. 如何搭建交叉編譯環境

交叉編譯環境就是在Windows下的東西拿到Linux下編譯運行吧,我個人是在Linux啟動了samba伺服器,然後將文件夾映射到Windows下,在Windows下使用vc 6.0編程序然後到Linux下編譯的。不知道能不能對你有些幫助。

下載的rpm包,可以使用rpm -ivh 包路徑進行安裝

5. 如何利用Eclipse C/C++搭建嵌入式ARM開發環境

由於覺得在Linux下不方便編寫代碼,所以准備在windows上搭建開發環境,其實在Linux上也搭建好了,但是使用起來不是很人性化,尤其是文件比較多的時候就很麻煩。下面就選擇在windows上用Eclipse做開發。【後來發現還是需要在Linux下編程,因為Windows下沒法包含Linux下的一些頭文件,所以下面也介紹Linux環境下的Eclipse搭建】。

Windows下的Eclipse環境搭建:

1. 下載並安裝Eclipse C/C++

2. 下載交叉編譯器,之前在Linux都用的arm-linux-gcc,後來使用TI的ti-sdk-am335x-evm-08開發包,裡面安裝的編譯器是arm-none-linux-gnueabi-gcc,都是能用的,所以我也選擇了arm-none-linux-gnueabi-gcc作為交叉編譯器,下載windows平台的編譯器,然後安裝。

下載地址:http://www.veryarm.com/arm-none-linux-gnueabi-gcc

3. 開啟Eclipse的ssh遠程登錄功能,我分別開啟了Beaglebone Black和Linux的ssh terminal,操作起來很是方便。

4. 新建C項目工程「hello」,編寫簡單的hello代碼,注意選擇交叉編譯選項,交叉編譯器前綴「arm-none-linux-gnueabi-」交叉編譯器路徑選擇arm-none-linux-gnueabi-gcc安裝的路徑「…Linuxin」,在此文件夾下有arm-none-linux-gnueabi-gcc.exe、arm-none-linux-gnueabi-gdb.exe等,還有cs-make.exe,這里需要把「cs-make.exe」改成「make.exe」,因為Eclipse不認cs-make.exe編譯的時候會報錯的。

圖文安裝參考:http://www.linuxidc.com/Linux/2016-03/129577.htm

5. 調試(構建Ctrl+B)的時候會自動生成makefile,生成編譯結果,放到ARM嵌入式平台運行就可以了,成功執行並輸出「hello」。

Linux下的Eclipse環境搭建:

官網下載http://www.eclipse.org/downloads/

發下是收費的

sudo apt-get install eclipse直接就安裝了

然後sudo eclipse –s啟動後發現「窗口->打開視圖」裡面沒有ssh遠程登錄的選項,網路一下發現它是Eclipse的插件,查詢下這個軟體:sudo apt-cache search Remote System Explorer,發現一個eclipse-rse,就是它了,然後直接安裝:sudo apt-get install eclipse-rse

重啟eclipse

新建工程時發現沒有C/C++工程,只有Java工程,再次搜索sudo apt-cache search eclipse C/C++

發現其中一條:

eclipse-cdt - C/C++ Development Tools for Eclipse

繼續安裝:

sudo apt-get install eclipse-cdt

再次重啟eclipse,就有了C/C++項目,高興ing。

新建C工程,添加編譯器:

arm-none-linux-gnueabi-

/opt/toolschain/4.4.3/bin

編寫hello程序,編譯OK,在BBB上執行,成功!

6. 如何搭建嵌入式開發的硬體環境

前言

首先,這個教程在僅使用附帶的光碟鏡像文件里的資料的情況下,所搭建的嵌入式 ARM 開發環境可以滿足 ARM 核為 ARM920T 及 CORTEX-A8 的嵌入式開發需求。

其次,搭建針對處理器為 ARM920T 的開發環境步驟如下:

WINDOWS 系統:

1、 用 WINRAR 或 7zip 打開鏡像文件 Linux-dev.iso,將/WIN32/Daemon_Tools_4.46.1.328.exe 拖出來,

安裝後運行;

2、 使用 Daemon 載入鏡像文件 Linux-dev.iso 後,找到並雙擊/vmplayer/VMware-player-5.0.1-894247.exe 運行,安裝完成;

3、 將/VMware-linux-tools.iso 復制到任何地方,譬如 D:\Virtual Machines\ 文件夾下;4、 將文件夾/Ubuntu 復制到電腦的任何地方,譬如 D:\Virtual Machines\ 文件夾下;

5、 打開 VMware Player,這是一個免費的軟體,所以不需考慮不能使用的情況,更不需破解。效果圖如下:

嵌入式開發環境的搭建

點擊」Open a Virtual Machine」,找到剛才復制的 Ubuntu 文件夾,選中 Ubuntu.vmx 這個文件:

嵌入式開發環境的搭建

後點擊打開;

6、 點擊」Edit virtual machine settings」,這里需要注意的是,若你的電腦 CPU 是單核的,需將」Processors」由 2 設置為 1,否則,不能運行。選擇」CD/DVD (IDE)」,之後點擊右邊的」Browse…」,找到並選擇剛才復制的 VMware-linux-tools.iso,之後點擊」Options」進入另一個設置界面;

7、 選擇第三個」Shared Folders」,在右邊將其設置為」Always enabled」,再點擊下面的」Add…」,選擇一個在硬碟上新建的空文件夾,譬如 D:\Virtual Machines\shared 文件夾,點擊」Next》」,之後點擊」Enable this share」,最後在設置主界面點擊」OK」完成設置;

8、 將虛擬光碟機載入的光碟中 Linux 文件夾中的所有文件都復制到上一步新建的空文件夾,譬如

D:\Virtual Machines\shared 文件夾下;

9、 在 VMware Player 下點擊圖標 以運行虛擬機 Linux,啟動後可以看到桌面上有一個光碟的圖標;

10、 在 Linux 桌面右鍵後選擇」Open in terminal」,之後切換到/tmp 目錄:cd /tmp ;11、 執行命令 tar zxf /media/cdrom0/VMwareTools-9.2.2-893683.tar.gz ,等待約一分鍾後運行完畢;

12、 切換目錄:cd 。/vmware-tools-distrib/ ;

13、 執行命令:sudo 。/vmare-install.pl ,用戶」user」的密碼為 redeem2012 ;

14、 下面出現很多問題,[yes]或[no],那麼就可以一直點擊鍵盤 ENTER 鍵選擇默認設置,直至安裝完成;15、 人,活著,要有耐心——這個過程稍長,顯示最後兩行為」Enjoy, --the WMware team」時就安裝完成了;

16、 以上幾個步驟如下:

嵌入式開發環境的搭建

17、 執行命令:sudo reboot 以重啟;

18、 啟動後在桌面右鍵選擇」Open in terminal」,輸入命令:cd /mnt/hgfs/shared ,當然若之前選擇的空享空文件夾名稱與 shared 不一樣,可能不是這個目錄,唉,管不了這么多了;19、 查看目當下文件如下:

嵌入式開發環境的搭建

20、 安裝 libusb-1.0.9.tar.bz2,依次輸入以下命令:tar jxf libusb-1.0.9.tar.bz2 、

cd libusb-1.0.9 、 。/configure --prefix=/usr 、 make 、 sudo make install ,注意最後一步需要輸入密碼 redeem2012,完了之後返回原目錄: cd 。。/ ;21、 安裝 readline-6.2.tar.gz,依次輸入以下命令:tar zxf readline-6.2.tar.gz 、 cd readline-6.2 、。/configure --prefix=/usr 、 make 、 sudo make install ,完了之後返回原目錄:cd 。。/ ;

22、 安裝交叉編譯器:sudo tar arm-linux-gcc-3.4.5.tar.bz2 -C /home ;

23、 更改環境變數:gedit /home/user/.profile ,在最後一行添加這么一句:export PATH=$PATH:/home/user/gcc-3.4.5-glibc-2.3.6/bin ,保存後退出

24、 切換回用戶主目錄:cd ~ ;

25、 執行命令:tar jxf /mnt/hgfs/shared/JLink_Linux_V422.tar.bz2 ;

26、 依次執行以下命令:cd JLink_Linux_V422/ 、 sudo cp libjlinkarm.so.* /usr/lib ,現在就可以

運行 JLink 了: sudo 。/JLinkExe ,但要注意這么一點:由於現在運行的是 windows 系統下的虛擬機, Linux 操作系統無法訪問到 JLink,那麼就需要按下圖所示選擇將連接到電腦的 JLink 直接送給虛擬機中運行的 Linux。我沒有 JLink,所以下圖中沒有,你需要自己選擇硬體並點擊箭頭後再點擊」connect」:

嵌入式開發環境的搭建

另外,下面需要安裝 minicom,也需要按上圖將串口連接到 Linux 操作系統;

27、 這一步安裝minicom。將虛擬機文件夾 Ubuntu 下的 minicom_2.3-1ubuntu2_i386.deb 復制到shared文件下,之後執行命令:sudo dpkg --install /mnt/hgfs/shared/ minicom_2.3-1ubuntu2_i386.deb

到這一步,windows 系統下的嵌入式 ARM 開發環境搭建完成了。重啟一下更好。

至於 Linux 系統下的配置,這要復雜得多,因為系統情況完全不一樣,因而,這里不再給出,當然,所有的軟體也跟上面的完全一樣。

另外,minicom、JLink 的配置和使用,這里就不說了,自己到網上去找吧,若搞不好,就當自虐了。反正我已經送佛到西了,整個過程不需要仍何網路,不需要上網

所附的光碟鏡像文件中還有一些 windows 下的軟體,如 SecureCRT、arm-none-linux-gcc 等,這些也能用到,只不過我沒那個心情講更多了,以上的配置已經完全足夠了。

網路是個好東西,沒有網路,就沒有 LINUX,也沒有快速學習的條件。所以——現在,自學去吧。

7. 如何建立Linux下的ARM交叉編譯環境

首先安裝交叉編譯器,網路「arm-linux-gcc」就可以一個編譯器壓縮包。
把壓縮包放到linux系統中,解壓,這樣就算安裝好了交叉編譯器。
設置編譯器環境變數,具體方式網路。如打開 /etc/bash.bashrc,添加剛才安裝的編譯器路徑 export PATH=/home/。。。/4.4.3/bin:$PATH。這樣是為了方便使用,用arm-linux-gcc即可,不然既要帶全路徑/home//bin/arm-linux-gcc,這樣不方便使用。
編譯c文件。和gcc編譯相似,把gcc用arm-linu-gcc代替就是了。編譯出來的就可以放到arm上運行了。</ol>

8. Linux嵌入式交叉編譯工具鏈問題 淺談

簡介

交叉編譯工具鏈是一個由編譯器、連接器和解釋器組成的綜合開發環境,交叉編譯工具鏈主要由binutils、gcc和glibc 3個部分組成。有時出於減小libc庫大小的考慮,也可以用別的c庫來代替glibc,例如uClibc、dietlibc和newlib。交叉編譯工具鏈主要包括針對目標系統的編譯器gcc、目標系統的二進制工具binutils、目標系統的標准c庫glibc和目標系統的Linux內核頭文件。第一個步驟就是確定目標平台。每個目標平台都有一個明確的格式,這些信息用於在構建過程中識別要使用的不同工具的正確版本。因此,當在一個特定目標機下運行GCC時,GCC便在目錄路徑中查找包含該目標規范的應用程序路徑。GNU的目標規范格式為CPU-PLATFORM-OS。例如,建立基於ARM平台的交叉工具鏈,目標平台名為arm-linux-gnu。

交叉編譯工具鏈的製作方法

  1. 分步編譯和安裝交叉編譯工具鏈所需要的庫和源代碼,最終生成交叉編譯工具鏈。

  2. 通過Crosstool腳本工具來實現一次編譯生成交叉編譯工具鏈。

  3. 直接通過網上(ftp.arm.kernel.org.uk)下載已經製作好的交叉編譯工具鏈。

方法1相對比較困難,適合想深入學習構建交叉工具鏈的讀者。如果只是想使用交叉工具鏈,建議使用方法2或方法3構建交叉工具鏈。方法3的優點不用多說,當然是簡單省事,但與此同時該方法有一定的弊端就是局限性太大,因為畢竟是別人構建好的,也就是固定的沒有靈活性,所以構建所用的庫以及編譯器的版本也許並不適合你要編譯的程序,同時也許會在使用時出現許多莫名的錯誤,建議你慎用此方法。


方法1:分步構建交叉編譯工具鏈


  1. 下載所需的源代碼包

  2. 建立工作目錄

  3. 建立環境變數

  4. 編譯、安裝Binutils

  5. 獲取內核頭文件

  6. 編譯gcc的輔助編譯器

  7. 編譯生成glibc庫

  8. 編譯生成完整的gcc

由於在問答中的篇幅,我不能細述具體的步驟,興趣的同學請自行閱讀開源共創協議的《Linux from scratch》,網址是:linuxfromscratch dot org


方法2:用Crosstool工具構建交叉工具鏈(推薦)

Crosstool是一組腳本工具集,可構建和測試不同版本的gcc和glibc,用於那些支持glibc的體系結構。它也是一個開源項目,下載地址是kegel dot com/crosstool。用Crosstool構建交叉工具鏈要比上述的分步編譯容易得多,並且也方便許多,對於僅僅為了工作需要構建交叉編譯工具鏈的你,建議使用此方法。

運行which makeinfo,如果不能找見該命令,在解壓texinfo-4.11.tar.bz2,進入texinfo-4.11目錄,執行./configure&&make&&make install完成makeinfo工具的安裝

  • 准備文件:

下載所需資源文件linux-2.4.20.tar.gz、binutils-2.19.tar.bz2、gcc-3.3.6.tar.gz、glibc- 2.3.2.tar.gz、glibc-linuxthreads-2.3.2.tar.gz和gdb-6.5.tar.bz2。然後將這些工具包文件放在新建的$HOME/downloads目錄下,最後在$HOME/目錄下解壓crosstool-0.43.tar.gz,命

令如下:
#cd$HOME/
#tar–xvzfcrosstool-0.43.tar.gz
  • 建立腳本文件

接著需要建立自己的編譯腳本,起名為arm.sh,為了簡化編寫arm.sh,尋找一個最接近的腳本文件demo-arm.sh作為模板,然後將該腳本的內容復制到arm.sh,修改arm.sh腳本,具體操作如下:

# cd crosstool-0.43

# cp demo-arm.sh arm.sh

# vi arm.sh

修改後的arm.sh腳本內容如下:

#!/bin/sh
set-ex
TARBALLS_DIR=$HOME/downloads#定義工具鏈源碼所存放位置。
RESULT_TOP=$HOME/arm-bin#定義工具鏈的安裝目錄
exportTARBALLS_DIRRESULT_TOP
GCC_LANGUAGES="c,c++"#定義支持C,C++語言
exportGCC_LANGUAGES
#創建/opt/crosstool目錄
mkdir-p$RESULT_TOP
#編譯工具鏈,該過程需要數小時完成。
eval'catarm.datgcc-3.3.6-glibc-2.3.2.dat'shall.sh--notest
echoDone.
  • 建立配置文件

在arm.sh腳本文件中需要注意arm-xscale.dat和gcc-3.3.6-glibc-2.3.2.dat兩個文件,這兩個文件是作為Crosstool的編譯的配置文件。其中arm.dat文件內容如下,主要用於定義配置文件、定義生成編譯工具鏈的名稱以及定義編譯選項等。

KERNELCONFIG='pwd'/arm.config#內核的配置
TARGET=arm-linux#編譯生成的工具鏈名稱
TARGET_CFLAGS="-O"#編譯選項


gcc-3.3.6-glibc-2.3.2.dat文件內容如下,該文件主要定義編譯過程中所需要的庫以及它定義的版本,如果在編譯過程中發現有些庫不存在時,Crosstool會自動在相關網站上下載,該工具在這點上相對比較智能,也非常有用。

BINUTILS_DIR=binutils-2.19
GCC_DIR=gcc-3.3.6
GLIBC_DIR=glibc-2.3.2
LINUX_DIR=linux-2.6.10-8(根據實際情況填寫)
GDB_DIR=gdb-6.5
  • 執行腳本

將Crosstool的腳本文件和配置文件准備好之後,開始執行arm.sh腳本來編譯交叉編譯工具。具體執行命令如下:

#cdcrosstool-0.43
#./arm.sh

經過數小時的漫長編譯之後,會在/opt/crosstool目錄下生成新的交叉編譯工具,其中包括以下內容:

arm-linux-addr2linearm-linux-g++arm-linux-ldarm-linux-size
arm-linux-ararm-linux-gccarm-linux-nmarm-linux-strings
arm-linux-asarm-linux-gcc-3.3.6arm-linux-objarm-linux-strip
arm-linux-c++arm-linux-gccbugarm-linux-objmpfix-embedded-paths
arm-linux-c++filtarm-linux-gcovarm-linux-ranlib
arm-linux-cpparm-linux-gprofarm-linux-readelf
  • 添加環境變數

然後將生成的編譯工具鏈路徑添加到環境變數PATH上去,添加的方法是在系統/etc/ bashrc文件的最後添加下面一行,在bashrc文件中添加環境變數

export PATH=/home/jiabing/gcc-3.3.6-glibc-2.3.2/arm-linux-bin/bin:$PATH

至此,arm-linux下的交叉編譯工具鏈已經完成,現在就可以使用arm-linux-gcc來生成試驗箱上的程序了!












9. 如何在ubuntu中搭建交叉編譯環境toolchain

1.安裝交叉編譯環境 sudo apt-get install gcc g++ libcc1 libg++ make gdb
2.安裝交叉編譯器 f
tp:
//ftp.
arm.linux.org.uk/pub/armlinux/toolchain/ 下載 cross -3.2.tar.bz2或者懶得去找乾脆
wget f
tp://ftp.
arm.linux.org.uk/pub/armlinux/toolchain/ cross -3.2.tar.bz2
解壓
sudo tar jxvf /home/zhaifang/cross -3.2.tar.bz2
sudo mv /home/zhaifang/usr/local/arm /usr/local
3.交叉編譯器加入路徑 sudo vi /etc/bash.bashrc後面加入
if [ -d /usr/local/arm ] ; then
PATH=/usr/local/arm/bin:'${PATH}'
fi
4.使環境生效 #source /etc/profile
5.檢查 echo $PATH 出現/usr/local/arm/bin說明成功了
6.測試 arm-linux-gcc -v

熱點內容
subplotpython 發布:2025-05-14 06:53:51 瀏覽:660
豎屏大屏導航工廠密碼一般是多少 發布:2025-05-14 06:49:29 瀏覽:805
如何在手機里設置無線網密碼 發布:2025-05-14 06:47:54 瀏覽:119
動態ip文件伺服器 發布:2025-05-14 06:44:22 瀏覽:890
文字分行的腳本有什麼 發布:2025-05-14 06:33:10 瀏覽:288
svn小烏龜怎麼配置 發布:2025-05-14 06:31:43 瀏覽:393
視頻播放器android 發布:2025-05-14 06:31:43 瀏覽:720
android工作室 發布:2025-05-14 06:26:00 瀏覽:658
汽車官方配置表如何下載 發布:2025-05-14 06:21:41 瀏覽:800
停車項目源碼 發布:2025-05-14 06:20:05 瀏覽:358