日本亚洲欧美日韩中文字幕_精品欧美一区二区三区久久久_久久av高潮av无码av_成在人线av无码免费_亚洲中文字幕无码久久精品1

返學(xué)費(fèi)網(wǎng) > 培訓(xùn)機(jī)構(gòu) > 全國(guó)IT培訓(xùn)中心

13081913316

全國(guó)統(tǒng)一學(xué)習(xí)專(zhuān)線 8:30-21:00

嵌入式開(kāi)發(fā)和linux開(kāi)發(fā)一樣嗎

1.什么是嵌入式Linux系統(tǒng)?
嵌入式Linux系統(tǒng)就是利用Linux其自身的許多特點(diǎn),把它應(yīng)用到嵌入式系統(tǒng)里。
Linux做嵌入式的優(yōu)勢(shì),首先,Linux是開(kāi)放源代碼的,不存在黑箱技術(shù),遍布全球的眾多Linux愛(ài)好者又是Linux開(kāi)發(fā)者的強(qiáng)大技術(shù)支持;其次,Linux的內(nèi)核小、效率高,內(nèi)核的更新速度很快;第三,Linux是免費(fèi)的OS,在價(jià)格上極具競(jìng)爭(zhēng)力。
Linux還有著嵌入式操作系統(tǒng)所
需要的很多特色,突出的就是Linux適應(yīng)于多種CPU和多種硬件平臺(tái),是一個(gè)跨平臺(tái)的系統(tǒng)。到目前為止,它可以支持二三十種CPU。而且性能穩(wěn)定,裁剪
性很好,開(kāi)發(fā)和使用都很容易。很多CPU包括家電業(yè)芯片,都開(kāi)始做Linux的平臺(tái)移植工作。移植的速度遠(yuǎn)遠(yuǎn)超過(guò)Java的開(kāi)發(fā)環(huán)境。也就是說(shuō),如果今天
用Linux環(huán)境開(kāi)發(fā)產(chǎn)品,那么將來(lái)?yè)QCPU就不會(huì)遇到困擾。同時(shí),Linux內(nèi)核的結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的,Linux對(duì)網(wǎng)絡(luò)中最常用的

Linux和嵌入式Linux有什么區(qū)別

【Linux】

Linux是一種自由和開(kāi)放源碼的類(lèi)Unix操作系統(tǒng),存在著許多不同的Linux版本,但它們都使用了Linux內(nèi)核。

Linux也可以安裝在各種計(jì)算機(jī)硬件設(shè)備中,如收集、平板電腦、路由器、臺(tái)式計(jì)算機(jī)、超級(jí)計(jì)算機(jī)等等,人們也已經(jīng)習(xí)慣了用Linux來(lái)形容整個(gè)基于Linux內(nèi)核,且使用GNU工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)。

Linux操作系統(tǒng)軟件包不僅包括完整的Linux操作系統(tǒng),而且還包括了文本編輯器、高級(jí)語(yǔ)言編譯器等應(yīng)用軟件。它還包括帶有多個(gè)窗口管理器的X-Windows圖形用戶(hù)界面,如同我們使用Windows
NT一樣,允許我們使用窗口、圖標(biāo)和菜單對(duì)系統(tǒng)進(jìn)行操作。

【嵌入式Linux】

嵌入式Linux說(shuō)白了就是利用Linux其自身的許多特點(diǎn),把它應(yīng)用到嵌入式系統(tǒng)里。

現(xiàn)今已出現(xiàn)了一些嵌入式操作系統(tǒng),比較著名的有Vxwork、pSOS、Neculeus和Windows
CE,但這些操作系統(tǒng)往往是商業(yè)化產(chǎn)品,其價(jià)格也比較高昂。

Linux做嵌入式的優(yōu)勢(shì),首先,Linux是開(kāi)放源代碼的,不存在黑箱技術(shù),遍布全球的眾多Linux愛(ài)好者又是Linux開(kāi)發(fā)者的強(qiáng)大技術(shù)支持;其次,Linux的內(nèi)核小、效率高,內(nèi)核的更新速度很快;第三,Linux是免費(fèi)的OS,在價(jià)格上極具競(jìng)爭(zhēng)力。

嵌入式設(shè)備的嵌入式設(shè)備上的Linux系統(tǒng)開(kāi)發(fā)

Linux正在嵌入式開(kāi)發(fā)領(lǐng)域穩(wěn)步發(fā)展。因?yàn)長(zhǎng)inux使用GPL(請(qǐng)參閱本文后面的參考資料),所以任何對(duì)將Linux定制于PDA、掌上機(jī)或者可佩帶設(shè)備感興趣的人都可以從因特網(wǎng)免費(fèi)下載其內(nèi)核和應(yīng)用程序,并開(kāi)始移植或開(kāi)發(fā)。許多Linux改良品種迎合了嵌入式/實(shí)時(shí)市場(chǎng)。它們包括RTLinux(實(shí)時(shí)Linux)、uclinux(用于非MMU設(shè)備的Linux)、(用于ARM、MIPS、PPC的Linux分發(fā)版)、ARM-Linux(ARM上的Linux)和其它Linux系統(tǒng)

嵌入式Linux開(kāi)發(fā)大致涉及三個(gè)層次:引導(dǎo)裝載程序、Linux內(nèi)核和圖形用戶(hù)界面(或稱(chēng)GUI)。引導(dǎo)裝載程序通常是在任何硬件上執(zhí)行的第一段代碼。在象臺(tái)式機(jī)這樣的常規(guī)系統(tǒng)中,通常將引導(dǎo)裝載程序裝入主引導(dǎo)記錄(,(MBR))中,或者裝入Linux駐留的磁盤(pán)的第一個(gè)扇區(qū)中。通常,在臺(tái)式機(jī)或其它系統(tǒng)上,BIOS將控制移交給引導(dǎo)裝載程序。

專(zhuān)用軟件可以直接與遠(yuǎn)程系統(tǒng)上的閃存設(shè)備進(jìn)行交互并將引導(dǎo)裝載程序安裝在閃存的給定位置中。閃存設(shè)備是與存儲(chǔ)設(shè)備功能類(lèi)似的特殊芯片,而且它們能持久存儲(chǔ)信息—即,在重新引導(dǎo)時(shí)不會(huì)擦除其內(nèi)容。

某些種類(lèi)的嵌入式設(shè)備具有微小的引導(dǎo)代碼—根據(jù)幾個(gè)字節(jié)的指令—它將初始化一些DRAM設(shè)置并啟用目標(biāo)上的一個(gè)串行(或者USB,或者以太網(wǎng))端口與主機(jī)程序通信。然后,主機(jī)程序或裝入程序可以使用這個(gè)連接將引導(dǎo)裝載程序傳送到目標(biāo)上,并將它寫(xiě)入閃存。設(shè)置工具鏈在主機(jī)機(jī)器上創(chuàng)建一個(gè)用于編譯將在目標(biāo)上運(yùn)行的內(nèi)核和應(yīng)用程序的構(gòu)建環(huán)境—這是因?yàn)槟繕?biāo)硬件可能沒(méi)有與主機(jī)兼容的二進(jìn)制執(zhí)行級(jí)別。

工具鏈由一套用于編譯、匯編和鏈接內(nèi)核及應(yīng)用程序的組件組成。這些組件包括:Binutils—用于操作二進(jìn)制文件的實(shí)用程序集合。它們包括諸如ar、as、objmp、objcopy這樣的實(shí)用程序。G—GNUC編譯器。Glibc—所有用戶(hù)應(yīng)用程序都將鏈接到的C庫(kù)。避免使用任何C庫(kù)函數(shù)的內(nèi)核和其它應(yīng)用程序可以在沒(méi)有該庫(kù)的情況下進(jìn)行編譯。構(gòu)建工具鏈建立了一個(gè)交叉編譯器環(huán)境。本地編譯器編譯與本機(jī)同類(lèi)的處理器的指令。交叉編譯器運(yùn)行在某一種處理器上,卻可以編譯另一種處理器的指令。重頭設(shè)置交叉編譯器工具鏈可不是一項(xiàng)簡(jiǎn)單的任務(wù):它包括下載源代碼、修補(bǔ)補(bǔ)丁、配置、編譯、設(shè)置頭文件、安裝以及很多很多的操作。另外,這樣一個(gè)徹底的構(gòu)建過(guò)程對(duì)內(nèi)存和硬盤(pán)的需求是巨大的。如果沒(méi)有足夠的內(nèi)存和硬盤(pán)空間,那么在構(gòu)建階段由于相關(guān)性、配置或頭文件設(shè)置等問(wèn)題會(huì)突然冒出許多問(wèn)題。

因此能夠從因特網(wǎng)上獲得已預(yù)編譯的二進(jìn)制文件是一件好事(但不太好的一點(diǎn)是,它們大多數(shù)只限于基于ARM的系統(tǒng),但遲早會(huì)改變的)。一些比較流行的已預(yù)編譯的工具鏈包括那些來(lái)自Compaq()、LART(LARTLinux)和Embedian(基于Debian但與它無(wú)關(guān))的工具鏈—所有這些工具鏈都用于基于ARM的平臺(tái)。從用戶(hù)的觀點(diǎn)來(lái)看,圖形用戶(hù)界面(GUI)是系統(tǒng)的一個(gè)最至關(guān)重要的方面:用戶(hù)通過(guò)GUI與系統(tǒng)進(jìn)行交互。所以GUI應(yīng)該易于使用并且非??煽?。但它還需要是有內(nèi)存意識(shí)的,以便在內(nèi)存受限的、微型嵌入式設(shè)備上可以無(wú)縫執(zhí)行。所以,它應(yīng)該是輕量級(jí)的,并且能夠快速裝入。

另一個(gè)要考慮的重要方面涉及許可證問(wèn)題。一些GUI分發(fā)版具有允許免費(fèi)使用的許可證,甚至在一些商業(yè)產(chǎn)品中也是如此。另一些許可證要求如果想將GUI合并入項(xiàng)目中則要支付版稅。

最后,大多數(shù)開(kāi)發(fā)人員可能會(huì)選擇XFree86,因?yàn)閄Free86為他們提供了一個(gè)能使用他們喜歡的工具的熟悉環(huán)境。但是市場(chǎng)上較新的GUI,象的(Nano-X)和/Embedded,與X在嵌入式Linux的競(jìng)技舞臺(tái)中展開(kāi)了激烈競(jìng)爭(zhēng),這主要是因?yàn)樗鼈冋加煤苌俚馁Y源、執(zhí)行的速度很快并且具有定制窗口構(gòu)件的支持。

嵌入式開(kāi)發(fā):Linux和Windows的區(qū)別

盡管每隔幾年只發(fā)布一次微軟Windows的官方版本,但Linux的各種不同版本都在不斷更新。在嵌入式開(kāi)發(fā)中,最常用的就是Linux。

Linux與Windows的成本

與不同,大多數(shù)Linux操作系統(tǒng)可完全免費(fèi)下載。如果你要買(mǎi)一臺(tái)新電腦,那么你應(yīng)該知道大多數(shù)電腦都預(yù)裝了Windows,這已經(jīng)包含在成本中了。一種節(jié)省新計(jì)算機(jī)成本并獲得您真正想要的操作系統(tǒng)的方法是構(gòu)建您自己的計(jì)算機(jī)并安裝Linux操作系統(tǒng)而不是Windows。

安全問(wèn)題

Linux通常被認(rèn)為比更安全。大多數(shù)病毒被設(shè)計(jì)為在Windows上運(yùn)行,而不是在其他操作系統(tǒng)上運(yùn)行。Linux的開(kāi)放源代碼特性意味著漏洞和安全問(wèn)題通常會(huì)很快被發(fā)現(xiàn)并解決,因?yàn)長(zhǎng)inux擁有一個(gè)龐大的嵌入式開(kāi)發(fā)人員網(wǎng)絡(luò)來(lái)開(kāi)發(fā)操作系統(tǒng)。

兼容性問(wèn)題

并非所有軟件都能在所有操作系統(tǒng)上運(yùn)行。不在Linux上運(yùn)行,但有幾乎相同的開(kāi)源Office軟件包,允許您編寫(xiě)文檔、創(chuàng)建電子表格和處理演示文稿。Ubuntu12.04預(yù)裝了一個(gè)這樣的軟件包:,而Windows要求您在安裝操作系統(tǒng)后安裝office軟件。您可以在中創(chuàng)建的每個(gè)文檔保存為可由程序打開(kāi)的文件,這樣您就不必?fù)?dān)心影響工作的兼容性問(wèn)題。

編碼

雖然大多數(shù)普通用戶(hù)可能很樂(lè)意使用電腦附帶的Windows操作系統(tǒng),但許多程序員(特別是嵌入式開(kāi)發(fā)人員)和科學(xué)家在Linux中感覺(jué)更自在。允許您編寫(xiě)和運(yùn)行可用于自動(dòng)化流程的簡(jiǎn)單腳本。

你喜歡Linux還是Windows?或者在雙引導(dǎo)系統(tǒng)中同時(shí)使用兩者?

LINUX下編程與嵌入式LINUX應(yīng)用的區(qū)別?

LINUX下的嵌入式開(kāi)發(fā)主要需要以下幾個(gè)方面的知識(shí):

一、LINUX下的C編程

這個(gè)必不可少,是嵌入式的基礎(chǔ)中的基礎(chǔ)。至于熟悉C語(yǔ)言,在一般的PC系統(tǒng)(LINUX)上就可以。當(dāng)然,與LINUX下C語(yǔ)言編譯相關(guān)的知識(shí)如Makefile的寫(xiě)法等等也是要了解的。

一些開(kāi)發(fā)還需要C或者Java。

二、LINUX內(nèi)核和操作系統(tǒng)

這個(gè)是難以在短期內(nèi)學(xué)會(huì)的,只能是日積月累。初期可以看一些操作系統(tǒng)和LINUX系統(tǒng)相關(guān)的書(shū)籍,在以后的實(shí)踐中再慢慢深入了解操作系統(tǒng)和LINUX內(nèi)核。

三、一些基礎(chǔ)的硬件知識(shí)

嵌入式是與硬件關(guān)聯(lián)比較大的,所以初期適當(dāng)?shù)牧私庖恍┯布闹R(shí),你會(huì)發(fā)現(xiàn)在以后的開(kāi)發(fā)中或許很有用。

四、LINUX下嵌入式開(kāi)發(fā)是一個(gè)有難度有挑戰(zhàn)的事情,祝你好運(yùn)。

溫馨提示:為不影響您的學(xué)業(yè),來(lái)校區(qū)前請(qǐng)先電話咨詢(xún),方便我校安排相關(guān)的專(zhuān)業(yè)老師為您解答
  • 熱門(mén)課程
  • 作者最新文章
  • 在線報(bào)名
申請(qǐng)?jiān)嚶?tīng)課程

只要一個(gè)電話
我們免費(fèi)為您回電

姓名不能為空
手機(jī)號(hào)格式錯(cuò)誤