交叉編譯器的製作

2021-07-29 23:35:36 字數 1984 閱讀 7887

本篇文章是介紹交叉編譯以及如何製作交叉編譯器。

一、什麼是交叉編譯?

工欲善其事,必先利其器。我們搞嵌入式開發的,需要在不同的平台編譯出我們板子所需要的程式,因此需要一種編譯工具,交叉編譯器就是在一種平台上編譯出能執行在體系結構不同的另一種平台上的程式。比如我們在x86平台下的pc上編譯出能執行在arm平台的程式。而交叉編譯就是在某個計算機環境執行的編譯程式可以編譯出另一種計算機平台的二進位制程式,這種編譯器就叫做交叉編譯器。

二、怎樣進行交叉編譯?

要進行交叉編譯,需要在主機安裝交叉編譯工具鏈,包括交叉編譯的編譯器、聯結器、目標庫等等,gnu專門提供了gcc編譯器針對arm目標平台的支援,由於gcc的開源特點,我們可以手動編譯生成符合自己需要的arm gcc編譯器,一般在linux平台上arm的交叉編譯器是arm-linux-gcc。我們需要的東西有:

1.磁碟空間:交叉編譯器工具鏈配置過程中會生成大量的中間檔案,至少需要500mb磁碟空間,建議預留1gb磁碟空間。

2.源**:建立交叉編譯工具鏈是從源**編譯,包括各種庫,編譯器,核心**等等。

3.命令列:必須使用gnu bash shell。如果不是,使用chsh命令修改當前shell。

4.其他工具:交叉編譯工具鏈用到的工具有bison、gmak、gsed、我們的系統應該安裝這些東西。

三、交叉編譯器的製作

1.首先我們得把交叉編譯器放在乙個有寫許可權的目錄下,我這裡放在/opt下,具體命令這裡就不再贅述。

3.解壓縮,並檢視這些原始碼包

4.配置交叉編譯器cpu型別,我們的為s3c2440,為了確保避免出現亂碼,還是老套路,make menuconfig之前vt100

進去以後修改為下面內容:

5.配置buildroot options選項

host dir」就是指定我們製作出來的交叉編譯器所在的路徑

6.配置toolchain選項,這裡主要是選擇linux核心標頭檔案的版本,

儲存以後配置就完成了

這時候看一下.config檔案,在之後的編譯過程中,makefile將根據這個檔案來選擇相應的軟體包和特性來編譯安裝。

7.編譯交叉編譯器

直接make即可,編譯成功的話,最後生成的交叉編譯器會在/opt/buildroot-2012.08/arm920t/usr/bin/路徑下:

8.測試交叉編譯器

這裡隨便寫乙個c程式,然後編譯的時候用arm-linux-gcc來編譯就行了

編譯成功的可執行檔案便可以在板子上執行了。

linux下交叉編譯器製作

本人使用的板子是三星的fl2440基於arm9,cpu為s3c2440。1 編譯路徑 我們一般將交叉編譯器放在 opt下 但不絕對 因為 opt目錄預設只有root才有寫的許可權,所以在上傳這些原始碼包之前首先要修改他的許可權。修改完成後放入buildroot 2012.08原始碼包。解壓縮原始碼包...

交叉編譯器

交叉編譯器可以使我們在主機上編譯出可以在嵌入式裝置上執行的程式 install gcc aarch64 linux gnu 安裝64位用於作業系統的交叉編譯器,gcc版本是5.4,安裝位置在 usr bin sudo apt get install gcc arm linux gnueabihf 安...

ubuntu安裝交叉編譯器 安裝交叉編譯器

2 安裝方法二 1 安裝方法一 開啟ubuntu終端 使用sudo apt list gcc arm 可以檢視所有的交叉編譯器,假設安裝gcc arm linux gnueabihf,則使用sudo apt get install gcc arm linux gnueabihf就裝好了。參考 2 安...