linux安装交叉编译环境
(一)交叉編譯器的簡介
(1)本地編譯
在了解交叉編譯之前我們首先介紹一下另一個概念:本地編譯
之前所做的C開發(fā)屬于本地編譯,即在當(dāng)前PC下(x86的CPU下),直接編譯出可以運行的程序(或者庫文件),其直接在當(dāng)前的環(huán)境(即x86的CPU下),此時的編譯稱為本地編譯,即在當(dāng)前平臺下,編譯出來的程序,只能放到當(dāng)前平臺下運行。
(2)交叉編譯(cross compile)
交叉編譯和本地編譯為相對應(yīng)的概念。所謂的交叉編譯就是在一種平臺上編譯出來的程序,是放到別的平臺環(huán)境運行,即編譯的環(huán)境和運行的環(huán)境不一樣,屬于交叉的,或稱為cross。交叉編譯的概念,主要使用在嵌入式開發(fā)當(dāng)中。
(二)為何要有交叉編譯
之所以需要有交叉編譯,是因為嵌入式系統(tǒng)中的資源太少,即交叉編譯出來的程序,所要運行的目標(biāo)環(huán)境資源有限,所以很難進行直接的本地編譯。
最常見的情況是:在進行嵌入式開發(fā)時,比如目標(biāo)平臺(嵌入式開發(fā)板)為最大主頻200MHz的ARM的CPU,加上RAM、Nand Flash等等。在如此相對比較緊張的硬件資源的前提下,加上已經(jīng)運行了嵌入式Linux程序,是很難直接去進行本地編譯的,因為編譯,開發(fā)會消耗較多的CPU、內(nèi)存、硬盤等資源,而嵌入式開發(fā)板上的資源,除去嵌入式(Linux)系統(tǒng)運行部分,沒太多剩余的資源供本地編譯。
(三)如何搭建交叉編譯器
(1)獲得源碼: arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
(2)拷貝源碼到Ubuntu系統(tǒng)中/driver(創(chuàng)建的一個目錄)的文件夾下.
(3)進入存放目錄,解壓縮到根目錄
tar -xzvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz -C /注:-C選項制定了解壓路徑,指定在 / ,解壓出來后的目錄名為opt,所以會存放在/opt下。
(4)修改環(huán)境變量
把交叉編譯器的路徑加入到PATH,PATH 決定了shell將到哪些目錄中尋找命令或程序
(5)立即使新的環(huán)境變量生效,不用重啟電腦:
對應(yīng)方法一:#source /root/.bashrc對應(yīng)方法二:# source /etc/profile(6)檢查是否將路徑加入到PATH:
# echo $PATH顯示的內(nèi)容中有/opt/FriendlyARM/toolschain/4.5.1/bin,說明已經(jīng)將交叉編譯器的路徑加入PATH,交叉編譯環(huán)境變量添加成功。
(7)安裝32位庫兼容包
(8)測試是否安裝成功
此時你可以在控制臺輸入:arm-linux-gcc -v ,如果安裝成功將會輸出 arm-linux-gcc的版本號。
(四)問題記錄
需要安裝下面的程序
sudo apt-get install lsb-core再次測試:
root@l-virtual-machine:~/uboot/u-boot-2009.11# arm-linux-gcc arm-linux-gcc: no input files總結(jié)
以上是生活随笔為你收集整理的linux安装交叉编译环境的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js 获得radio的值
- 下一篇: 技术部门领导是要领导能力更强还是技术能力