人妻人人妻a乱人伦青椒视频_亚洲色图无码视频深夜福利_五月天综合中文网_毛片免费播放无码

首頁(yè) > 新聞資訊 > 公司新聞
編譯嵌入式系統(tǒng)(嵌入式linux編譯器)

嵌入式系統(tǒng)開發(fā)為什么要采用交叉編譯的方式

1、由于宿主機(jī)和目標(biāo)機(jī)的體系結(jié)構(gòu)不同,在宿主機(jī)X86平臺(tái)上可以運(yùn)行的程序在目標(biāo)機(jī)ARM平臺(tái)上無法運(yùn)行,因此嵌入式軟件開發(fā)采用交叉編譯方式在一個(gè)平臺(tái)上生成可以在另一個(gè)平臺(tái)上執(zhí)行的代碼。編譯的最主要的工作就是將程序轉(zhuǎn)化成運(yùn)行該程序的CPU所能識(shí)別的機(jī)器代碼。

2、所謂交叉編譯,就是在一種機(jī)器結(jié)構(gòu)下編譯的軟件將在另一種完全不同的機(jī)器上運(yùn)行。典型的交叉編譯的例子就是嵌入式系統(tǒng)工程師在自己的個(gè)人電腦上編譯后的程序?qū)⒃贏RM,MIPS等等嵌入式工作平臺(tái)上運(yùn)行。

3、有時(shí)是因?yàn)槟康钠脚_(tái)上不允許或不能夠安裝我們所需要的編譯器,而我們又需要這個(gè)編譯器的某些特征;有時(shí)是因?yàn)槟康钠脚_(tái)上的資源貧乏,無法運(yùn)行我們所需要編譯器;有時(shí)又是因?yàn)槟康钠脚_(tái)還沒有建立,連操作系統(tǒng)都沒有,根本談不上運(yùn)行什么編譯器。綜上,在嵌入式開發(fā)的時(shí)候我們就要使用交叉編譯器。

4、第一是交叉編譯。嵌入式軟件開發(fā)所采用的編譯為交叉編譯。所謂交叉編譯就是在一個(gè)平臺(tái)上生成可以在另一個(gè)平臺(tái)上執(zhí)行的代碼。編譯的最主要的工作就在將程序轉(zhuǎn)化成運(yùn)行該程序的CPU所能識(shí)別的機(jī)器代碼,由于不同的體系結(jié)構(gòu)有不同的指令系統(tǒng)。

5、編譯另一個(gè)平臺(tái)架構(gòu)的可執(zhí)行代碼,就是交叉編譯。例如在x86架構(gòu)的PC上編譯arm嵌入式設(shè)備的可執(zhí)行程序。交叉編譯是不得不用,首先在目標(biāo)設(shè)備的系統(tǒng)還沒引導(dǎo)起來的時(shí)候,編譯目標(biāo)平臺(tái)的引導(dǎo)程序,顯然只能交叉編譯。還有因?yàn)槟繕?biāo)設(shè)備往往能力太低,沒法安裝編譯器,或者勉強(qiáng)安裝了,也慢得像蝸牛。

6、交叉開發(fā)平臺(tái)有兩種理解:交叉編譯環(huán)境和跨平臺(tái)開發(fā)環(huán)境。所謂交叉編譯環(huán)境,指的是開發(fā)程序的宿主機(jī)和目標(biāo)機(jī)為不同平臺(tái)的開發(fā)環(huán)境。一般在開發(fā)嵌入式linux系統(tǒng)程序過程中,宿主機(jī)和目標(biāo)機(jī)為不同的架構(gòu),所以需要建立交叉開發(fā)環(huán)境。

嵌入式系統(tǒng)原理及應(yīng)用開發(fā)教程

1、安裝操作系統(tǒng)與交叉編譯器,操作系統(tǒng)一般使用RedhatLinux,選擇定制安裝或全部安裝,通過網(wǎng)絡(luò)下載相應(yīng)的GCC交叉編譯器進(jìn)行安裝(比如,armn-1inux-gcc、arm-uclibc-gcc),或者安裝產(chǎn)品廠家提供的相關(guān)交叉編譯器。

2、學(xué)習(xí)操作系統(tǒng)的基本原理,包括進(jìn)程管理、內(nèi)存管理、文件系統(tǒng)等內(nèi)容。對(duì)于嵌入式系統(tǒng),通常涉及實(shí)時(shí)操作系統(tǒng)(RTOS)的學(xué)習(xí)。C/C++編程語(yǔ)言:掌握C/C++編程語(yǔ)言是嵌入式軟件開發(fā)的基礎(chǔ)。這兩種語(yǔ)言通常用于嵌入式系統(tǒng)的底層編程。微控制器和微處理器:學(xué)習(xí)微控制器和微處理器的工作原理、架構(gòu)和編程方法。

3、嵌入式系統(tǒng)開發(fā)就是對(duì)于除了電腦之外的所有電子設(shè)備上操作系統(tǒng)的開發(fā),開發(fā)對(duì)象有手機(jī),掌上電腦,機(jī)電系統(tǒng)等。

4、更系統(tǒng)全面的學(xué)習(xí)資料,點(diǎn)擊查看編程基礎(chǔ)Linux相關(guān)操作:linux開源,嵌入式產(chǎn)品離不開linux;C語(yǔ)言:嵌入式產(chǎn)品中大多用編程語(yǔ)言是C語(yǔ)言;數(shù)據(jù)結(jié)構(gòu):學(xué)習(xí)任何語(yǔ)言都離不開它,鍛煉我們的編程思維。

嵌入式怎么實(shí)現(xiàn)交叉編譯

1、安裝前的絮叨,首先簡(jiǎn)單介紹一下,所謂的搭建交叉編譯環(huán)境,即安裝、配置交叉編譯工具鏈。在該環(huán)境下編譯出嵌入式Linux系統(tǒng)所需的操作系統(tǒng)、應(yīng)用程序等,然后再上傳到目標(biāo)機(jī)上。 交叉編譯工具鏈?zhǔn)菫榱司幾g、鏈接、處理和調(diào)試跨平臺(tái)體系結(jié)構(gòu)的程序代碼。

2、由于嵌入式設(shè)備的性能局限,往往不能通過本機(jī)編譯得到所需軟件的可執(zhí)行程序。因此,以Linux為主機(jī)操作系統(tǒng),搭配一個(gè)交叉編譯系統(tǒng),為嵌入式設(shè)備生成可執(zhí)行程序已成為日益流行的編譯嵌入式軟件的解決方案。

3、這條命令中的 -target、--prefix 和配置 binutils 的含義是相同的,--without-headers 就是指不需要頭文件,因?yàn)槭墙徊婢幾g工具,不需要本機(jī)上的頭文件。-enable-languages=c是指我們的 boot-gcc 只支持 c 語(yǔ)言。--disable-threads 是去掉 thread 功能,這個(gè)功能需要 glibc 的支持。