18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式開(kāi)發(fā)中的交叉編譯詳解

嵌入式攻城獅 ? 來(lái)源:嵌入式攻城獅 ? 2023-12-01 13:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式開(kāi)發(fā)中,經(jīng)常會(huì)遇到目標(biāo)平臺(tái)資源貧乏,無(wú)法運(yùn)行需要的編譯器。亦或是目標(biāo)平臺(tái)上不允許或不能夠安裝需要的編譯器。這時(shí)候就需要使用交叉編譯了。

交叉編譯

本地編譯:在當(dāng)前目標(biāo)平臺(tái)下,編譯出來(lái)的程序,放到當(dāng)前平臺(tái)下,就可以運(yùn)行的

交叉編譯:在一種平臺(tái)上編譯,編譯出來(lái)的程序,放到別的平臺(tái)上運(yùn)行(編譯和運(yùn)行環(huán)境不一樣,屬于交叉的)

這里所謂的平臺(tái),實(shí)際上包含兩個(gè)概念:體系結(jié)構(gòu)操作系統(tǒng)。同一體系結(jié)構(gòu)可以運(yùn)行不同的操作系統(tǒng),同一操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運(yùn)行。

比如x86 Linux平臺(tái),實(shí)際上是Intel x86體系結(jié)構(gòu)和Linux for x86操作系統(tǒng)的統(tǒng)稱(chēng)。

再比如x86 WinNT平臺(tái),實(shí)際上是Intel x86體系結(jié)構(gòu)和Windows NT for x86操作系統(tǒng)的統(tǒng)稱(chēng)。

交叉編譯是一個(gè)和本地編譯,相對(duì)應(yīng)的概念。主要和嵌入式開(kāi)發(fā)有關(guān),由于嵌入式系統(tǒng)中的各種資源相對(duì)有限,只夠嵌入式系統(tǒng)運(yùn)行的,沒(méi)太多剩余的資源,所以很難進(jìn)行直接的本地編譯。

交叉編譯工具鏈

編譯過(guò)程是按照不同的子功能,依照先后順序組成的一個(gè)復(fù)雜的流程,如下圖:

wKgaomVpbiGAMZPPAAHkqAqs3yY353.png

編譯過(guò)程包括了預(yù)處理、編譯、匯編、鏈接等功能。每個(gè)子功能都是一個(gè)單獨(dú)的工具來(lái)實(shí)現(xiàn),它們合在一起形成了一個(gè)完整的工具集。

同時(shí)編譯過(guò)程又是一個(gè)有先后順序的流程,牽涉到工具的使用順序,每個(gè)工具按照先后關(guān)系串聯(lián)在一起,形成了一個(gè)編譯工具鏈。

交叉編譯工具鏈就是為了編譯跨平臺(tái)體系結(jié)構(gòu)的程序代碼而形成的由多個(gè)子工具構(gòu)成的一套完整的工具集。

同時(shí),它隱藏了預(yù)處理、編譯、匯編、鏈接等細(xì)節(jié),當(dāng)我們指定了源文件(.c)時(shí),它會(huì)自動(dòng)按照編譯流程調(diào)用不同的子工具,自動(dòng)生成最終的二進(jìn)制程序映像(.bin)。

交叉編譯工具鏈命名規(guī)則

在使用交叉編譯鏈時(shí),常常會(huì)看到下面這樣的名字:

arm-linux-gnueabihf-
arm-none-linux-gnueabi-
arm-cortex_a8-linux-gnueabi-
mips-malta-linux-gnu-

這些交叉編譯鏈的命名通常會(huì)遵循一定的規(guī)則:arch-vender-os-abi,各字段說(shuō)明如下:

arch:目標(biāo)cpu架構(gòu),比如mips、arm、x86、riscv等,通常不會(huì)省略

vendor:提供此編譯工具鏈的廠商名稱(chēng)或特定信息,標(biāo)識(shí)信息,沒(méi)有實(shí)際意義,可以為none、cross、unknow或是直接省略

os:目標(biāo)設(shè)備上運(yùn)行的操作系統(tǒng),常見(jiàn)的有l(wèi)inux、none(裸機(jī))等

abi:應(yīng)用程序二進(jìn)制接口,交叉編譯鏈所選擇的庫(kù)函數(shù)和目標(biāo)映像的規(guī)范,常見(jiàn)的值有abi 、eabi(embedded abi)、gun(glibc+oabi)、gnueabi(glibc+eabi)、gnueabihf(hf 指默認(rèn)編譯參數(shù)支持硬件浮點(diǎn)功能)等

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5177

    文章

    20003

    瀏覽量

    325580
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11581

    瀏覽量

    217174
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7267

    瀏覽量

    128169
  • 交叉編譯
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    12954

原文標(biāo)題:什么是交叉編譯?為什么需要交叉編譯?

文章出處:【微信號(hào):嵌入式攻城獅,微信公眾號(hào):嵌入式攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    嵌入式開(kāi)發(fā)入門(mén)之旅

      課程目標(biāo):本次免費(fèi)體驗(yàn)課程將按照嵌入式開(kāi)發(fā)設(shè)計(jì)的流程,從嵌入式開(kāi)發(fā)基本概念、嵌入式項(xiàng)目流程詳解嵌入式ARM處理器
    發(fā)表于 07-09 16:57

    嵌入式開(kāi)發(fā)入門(mén)之旅

    種類(lèi)、嵌入式Linux在嵌入式產(chǎn)品的應(yīng)用、如何將Linux安裝到開(kāi)發(fā)板上4.  我也來(lái)編譯Linux操作系統(tǒng)
    發(fā)表于 07-10 15:59

    嵌入式開(kāi)發(fā)工具使用

    嵌入式開(kāi)發(fā)工具使用一.實(shí)驗(yàn)?zāi)康亩?實(shí)驗(yàn)內(nèi)容三.預(yù)備知識(shí)四.實(shí)驗(yàn)設(shè)備及工具(包括軟件調(diào)試工具)五.實(shí)驗(yàn)步驟5.1 交叉編譯工具配置及編譯5.2arm-linux-gcc
    發(fā)表于 10-28 09:43

    交叉調(diào)試器嵌入式開(kāi)發(fā)的流程步驟

    嵌入式開(kāi)發(fā)導(dǎo)語(yǔ)嵌入式基礎(chǔ)概念交叉開(kāi)發(fā)和自助開(kāi)發(fā)嵌入式開(kāi)發(fā)相關(guān)術(shù)語(yǔ)1.
    發(fā)表于 11-05 06:35

    嵌入式開(kāi)發(fā)流程

    嵌入式開(kāi)發(fā)流程一般是在PC機(jī)的Windows系統(tǒng)下安裝Ubuntu虛擬機(jī),搭建嵌入式開(kāi)發(fā)環(huán)境及交叉編譯環(huán)境,開(kāi)發(fā)完成后,
    發(fā)表于 11-05 06:06

    嵌入式開(kāi)發(fā)流程是怎樣的?

    嵌入式開(kāi)發(fā)環(huán)境及交叉編譯環(huán)境,開(kāi)發(fā)完成后,編譯得到bin文件,然后在Windows下將bin文件通過(guò)串口或網(wǎng)絡(luò)下發(fā)到
    發(fā)表于 11-08 06:24

    嵌入式開(kāi)發(fā)

    嵌入式開(kāi)發(fā)就是指在嵌入式操作系統(tǒng)下進(jìn)行開(kāi)發(fā),嵌入式Linux是以L(fǎng)inux為基礎(chǔ)的嵌入式作業(yè)系統(tǒng)。這里提供了
    發(fā)表于 12-20 13:21
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>

    嵌入式交叉編譯環(huán)境的搭建解析

    5.1.1 嵌入式交叉編譯環(huán)境的搭建 交叉編譯的概念在第4章已經(jīng)詳細(xì)講述過(guò),搭建
    發(fā)表于 10-18 16:44 ?1次下載

    干貨:嵌入式Ubuntu實(shí)踐之交叉編譯環(huán)境的建立

    在進(jìn)行嵌入式開(kāi)發(fā)之前,首先要建立一個(gè)交叉編譯環(huán)境,這是一套編譯器、連接器和libc庫(kù)等組成的開(kāi)發(fā)環(huán)境。本文具體說(shuō)明了
    發(fā)表于 08-12 10:42 ?1271次閱讀

    嵌入式詳解

    嵌入式詳解(stm32嵌入式開(kāi)發(fā)實(shí)例)-嵌入式詳解,有需要的可以參考!
    發(fā)表于 07-30 16:07 ?64次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>詳解</b>

    嵌入式開(kāi)發(fā)(一):嵌入式開(kāi)發(fā)新手入門(mén)

    嵌入式開(kāi)發(fā)環(huán)境及交叉編譯環(huán)境,開(kāi)發(fā)完成后,編譯得到bin文件,然后在Windows下將bin文件通過(guò)串口或網(wǎng)絡(luò)下發(fā)到
    發(fā)表于 10-14 10:58 ?79次下載
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>(一):<b class='flag-5'>嵌入式開(kāi)發(fā)</b>新手入門(mén)

    嵌入式開(kāi)發(fā)資料免費(fèi)分享

    嵌入式開(kāi)發(fā)資料免費(fèi)分享嵌入式工程師經(jīng)驗(yàn)分享:如何學(xué)習(xí)嵌入式開(kāi)發(fā)截取文檔部分學(xué)習(xí)嵌入式工程師經(jīng)驗(yàn)分享的資料分享給大家,文檔上從、嵌入式系統(tǒng)的概
    發(fā)表于 10-21 11:07 ?47次下載
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>資料免費(fèi)分享

    嵌入式實(shí)驗(yàn)】《嵌入式開(kāi)發(fā)工具使用》

    嵌入式開(kāi)發(fā)工具使用一.實(shí)驗(yàn)?zāi)康亩?實(shí)驗(yàn)內(nèi)容三.預(yù)備知識(shí)四.實(shí)驗(yàn)設(shè)備及工具(包括軟件調(diào)試工具)五.實(shí)驗(yàn)步驟5.1 交叉編譯工具配置及編譯5.2 arm-linux-gcc
    發(fā)表于 10-21 13:06 ?3次下載
    【<b class='flag-5'>嵌入式</b>實(shí)驗(yàn)】《<b class='flag-5'>嵌入式開(kāi)發(fā)</b>工具使用》

    嵌入式開(kāi)發(fā)Linux入門(mén)

    嵌入式開(kāi)發(fā)導(dǎo)語(yǔ)嵌入式基礎(chǔ)概念交叉開(kāi)發(fā)和自助開(kāi)發(fā)嵌入式開(kāi)發(fā)相關(guān)術(shù)語(yǔ)1.
    發(fā)表于 11-02 14:36 ?31次下載
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>Linux入門(mén)

    嵌入式開(kāi)發(fā)(一):嵌入式開(kāi)發(fā)新手入門(mén)(轉(zhuǎn)載后續(xù)需要修改補(bǔ)充)

    嵌入式開(kāi)發(fā)環(huán)境及交叉編譯環(huán)境,開(kāi)發(fā)完成后,編譯得到bin文件,然后在Windows下將bin文件通過(guò)串口或網(wǎng)絡(luò)下發(fā)到
    發(fā)表于 11-02 20:06 ?17次下載
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>(一):<b class='flag-5'>嵌入式開(kāi)發(fā)</b>新手入門(mén)(轉(zhuǎn)載后續(xù)需要修改補(bǔ)充)