本人使用的板子是三星的fl2440基於arm9,cpu為s3c2440。
1:編譯路徑
我們一般將交叉編譯器放在/opt下(但不絕對),因為/opt目錄預設只有root才有寫的許可權,所以在上傳這些原始碼包之前首先要修改他的許可權。修改完成後放入buildroot-2012.08原始碼包。
解壓縮原始碼包內的buildroot-2012.08.tar.bz2壓縮包
並建立dl路徑存放所有原始碼包(之後解釋為什麼是dl)
2:menuconfig配置
[zhangl@centos6 buildroot-2012.08]$ export term=vt100 // 防止make menuconfig出現亂碼
[zhangl@centos6 buildroot-2012.08]$ make menuconfig //進行builroot配置(建議視窗最大化,否則會報錯)
a:選擇開發板相應的cpu型別
target architecture (arm (little endian)) --->指定交叉編譯器型別為arm型,且為小端位元組序(可自己指定)
target abi (eabi) ---> //使能目標介面
target architecture variant (arm920t) ---> //cpu型別(可自己指定,但必須匹配)
b:指定download目錄和host目錄及優先使用靜態庫
build options --->
($(topdir)/dl) download dir //儲存源**路徑(這就是之前為什麼建立dl路徑)
($(topdir)/arm920t) host dir //編譯出來的交叉編譯器所在路徑,$(topdir)原始碼的頂層目錄,此處為/opt/buildroot-2012.08
[*] prefer static libraries //其他均可預設
c:選定核心版本
toolchain --->
kernel headers (linux 2.6 (manually specified version)) ---> //選定前兩位版本
(2.6.37) linux version //輸入完整版本號
... ...
[*] enable compiler tls support
[*] enable mmu support
[*] use software floating point by default
[*] enable large file (files > 2 gb) support
[*] enable ipv6 support
[*] enable rpc support
[*] enable wchar support
[*] enable c++ support //新增各類編譯器,軟體,協議等支援
d:其他配置
package selection for the target --->
libraries --->
compression and decompression --->
[*] lzo
[*] zlib //常用庫檔案,用於壓縮與解壓
filesystem images ---> //全部取消,不要選
bootloaders ---> //全部取消,不要選
kernel ---> //全部取消,不要選
完成以上所用配置後,即可儲存退出。可在當前目錄下,看到乙個名為.config的掩藏檔案。在之後的編譯過程中,makefile將根據這個檔案來選擇相應的軟體包和特性來編譯安裝。
之後即可在/opt/buildroot-2012.08目錄下make,便開始編譯交叉編譯器了。最後生成的交叉編譯器會在/opt/buildroot-2012.08/arm920t/usr/bin下。
上述操作有錯的。歡迎指出。
交叉編譯器的製作
本篇文章是介紹交叉編譯以及如何製作交叉編譯器。一 什麼是交叉編譯?工欲善其事,必先利其器。我們搞嵌入式開發的,需要在不同的平台編譯出我們板子所需要的程式,因此需要一種編譯工具,交叉編譯器就是在一種平台上編譯出能執行在體系結構不同的另一種平台上的程式。比如我們在x86平台下的pc上編譯出能執行在arm...
Linux下安裝交叉編譯器
arm linux gcc 的安裝步驟 1 獲取到arm linux gnueabi 5.4.0.tar.xz放入共享目錄 2 獲取管理員許可權 sudo s 3 建立 mkdir usr local arm 檔案目錄 4 解壓 tar xvf mnt hgfs arm linux gnueabi ...
交叉編譯器
交叉編譯器可以使我們在主機上編譯出可以在嵌入式裝置上執行的程式 install gcc aarch64 linux gnu 安裝64位用於作業系統的交叉編譯器,gcc版本是5.4,安裝位置在 usr bin sudo apt get install gcc arm linux gnueabihf 安...