• 正文
    • 什么是交叉編譯
    • 交叉編譯鏈安裝
    • 交叉編譯鏈?zhǔn)褂?/span>
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

飛凌嵌入式ElfBoard ELF 1板卡-開(kāi)發(fā)環(huán)境搭建之交叉編譯

2024/09/29
1369
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

什么是交叉編譯

交叉編譯是指在一個(gè)平臺(tái)上生成可以在另一個(gè)平臺(tái)上執(zhí)行的代碼。由于不同的體系結(jié)構(gòu)有不同的指令系統(tǒng)。因此,不同的cpu需要有相應(yīng)的編譯器,而交叉編譯就如同翻譯一樣,把相同的程序代碼翻譯成不同的cpu的對(duì)應(yīng)的可執(zhí)行的二進(jìn)制文件。

交叉編譯鏈安裝

建立交叉編譯環(huán)境又可分為安裝SDK(其中包含了交叉編譯工具鏈)和設(shè)置交叉編譯環(huán)境變量。

SDK路徑:EF1開(kāi)發(fā)板資料包/06-常用工具/06-1 編譯工具安裝腳本/fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.0.0.sh

將上述資料拷貝到ubuntu系統(tǒng)的/home/elf目錄下。

并在該目錄下執(zhí)行:

elf@ubuntu:~$?sudo?./fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.0.0.sh

命令行會(huì)提示:Enter target directory for SDK (default: /opt/fsl-imx-x11/4.1.15-2.0.0)

連續(xù)兩次按下回車鍵,程序?qū)?huì)自動(dòng)安裝交叉編譯工具鏈(交叉編譯工具鏈安裝一次即可,更換終端或重啟系統(tǒng)不必重新安裝)。安裝過(guò)程中一定要保證網(wǎng)絡(luò)暢通,Ubuntu系統(tǒng)可以訪問(wèn)外網(wǎng)。

等待SDK安裝,如下圖通過(guò)打印信息可以看出安裝成功。

交叉編譯鏈?zhǔn)褂?/strong>

設(shè)置環(huán)境變量

注意:

  • 設(shè)置環(huán)境變量之后,只要不更換終端,下次再編譯就不需要重新設(shè)置。
  • 如果重新打開(kāi)新終端或者切換賬戶,編譯前需要重新設(shè)置環(huán)境變量。

設(shè)置編譯環(huán)境主要是指定目標(biāo)架構(gòu)和交叉編譯工具鏈,以及編譯過(guò)程中使用到的一些庫(kù)的路徑等,使用如下命令配置(.后邊有空格):

. /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

然后使用命令arm-poky-linux-gnueabi-gcc -v判斷是否設(shè)置成功(注:-v前邊有空格)。正常情況下會(huì)打印出gcc的版本信息:gcc version 5.3.0 (GCC),

編譯helloworld

在講“GCC編譯器”章節(jié),使用ubuntu的GCC編譯器編譯生成了hello_ubuntu程序,在此章節(jié),將使用安裝的開(kāi)發(fā)板的交叉編譯器編譯同一個(gè)hello.c文件,生成hello_board程序,使用file文件可以看出兩個(gè)交叉編譯器的不同。

注意:執(zhí)行環(huán)境變量后,交叉編譯工具重命名為CC,在編譯程序時(shí)需要用$CC。

飛凌嵌入式

飛凌嵌入式

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國(guó)內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過(guò)十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國(guó)家和地區(qū)擁有國(guó)際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺(tái)廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測(cè)等諸多領(lǐng)域。

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國(guó)內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過(guò)十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國(guó)家和地區(qū)擁有國(guó)際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺(tái)廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測(cè)等諸多領(lǐng)域。收起

查看更多

相關(guān)推薦