日本亚洲欧美日韩中文字幕_精品欧美一区二区三区久久久_久久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í)專線 8:30-21:00

為什么搞嵌入式開發(fā)都用linux環(huán)境?

因?yàn)長(zhǎng)INUX的先天優(yōu)勢(shì)導(dǎo)致嵌入式開發(fā)大多采用LINUX系統(tǒng):

1.開源,代碼開放,省去了自己編寫的麻煩,凱做巖節(jié)約成本而且不會(huì)涉及到專利和產(chǎn)權(quán)糾紛。

2.功能齊盯御全,對(duì)于很多硬件設(shè)備都有豐富的驅(qū)動(dòng)程序,只需要移植一下,不需要改動(dòng)太多。

3.穩(wěn)定,胡念linux確實(shí)比windows要穩(wěn)定。

4.對(duì)于大多數(shù)芯片,都有裁剪的配置文件,在Linux內(nèi)核源代碼下,arch/arm/configs中有許多芯片的配置文件。

5.Linux分而治之的思想,可以使得驅(qū)動(dòng)和應(yīng)用程序并行開發(fā),加快開發(fā)速度。

學(xué)習(xí)嵌入式Linux怎么應(yīng)用開發(fā)?

提供一下幾種方案\x0d\x0a\x0d\x0a一、還按照《嵌入死linux應(yīng)用開發(fā)完全手冊(cè)》(韋東山)的內(nèi)容來(lái),但是嵌入式linux的開發(fā)環(huán)境自己搭建。當(dāng)時(shí)我是按照《鳥哥的私房菜-基礎(chǔ)篇》和《鳥哥的私房菜-服務(wù)器篇》兩篇,整出一套開發(fā)平仿清臺(tái),CentOS5.3 + samba/vsftpd + gcc / linux-gcc 。 window平臺(tái)上的工具、secureCRT。 注意:我使用了四個(gè)月學(xué)會(huì)linux操作。不洞游知道你是否會(huì)先學(xué)這兩本書,再學(xué)習(xí)韋東山老師的嵌入式呢。學(xué)完之后看似學(xué)習(xí)了很多,出來(lái)外面之后,我又去在windows平臺(tái)開發(fā),而且現(xiàn)在用C#。_?,F(xiàn)在看什么嵌入式系統(tǒng)都非???,很容易理解架構(gòu),如何實(shí)現(xiàn)。可惜自己太年輕,沒有資本和人脈,不然可以實(shí)現(xiàn)很多有意思的東西?,F(xiàn)在正在嘗試創(chuàng)業(yè)。\x0d\x0a\x0d\x0a二、尋找開發(fā)板,而不是書籍作為實(shí)驗(yàn)的途徑。書籍只是輔助納大銷,輔助你實(shí)現(xiàn)某種功能??梢约衛(wèi)inux書籍、嵌入式開發(fā)書籍、單片機(jī)開發(fā)、編程語(yǔ)言。宋寶華的嵌入式書籍。開發(fā)板當(dāng)時(shí)用的是飛凌的,由國(guó)嵌負(fù)責(zé)技術(shù)講解和培訓(xùn)。講了不少有用的東西?,F(xiàn)在網(wǎng)上的開發(fā)板多,可以淘,但是不用太貴,作用不大。找前衛(wèi)的技術(shù)開發(fā),中國(guó)看似不行。前衛(wèi)老師都沒搞出什么東西,我們?cè)诨臼?基礎(chǔ)的前提下,很難實(shí)現(xiàn)比較前衛(wèi)的技術(shù)。打好基礎(chǔ),看似是唯一的選擇。\x0d\x0a\x0d\x0a三、單獨(dú)找臺(tái)PC機(jī),直接安裝ubuntu11,買本ubuntu相關(guān)的書,他會(huì)交你怎樣安裝使用工具的。其實(shí)和第一種解決方式是一樣的,書是別人在五(六)年前寫的,不符合摩爾定理。所以沒辦法,我們?cè)谇度胧椒矫娴慕逃€是欠缺啊,出的書都少,記那么基本,還全是個(gè)人。沒有什么教育機(jī)構(gòu)。\x0d\x0a\x0d\x0a希望以上對(duì)你有用。

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

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

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

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

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

因此能夠從因特網(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)。從用戶的觀點(diǎn)來(lái)看,圖形用戶界面(GUI)是系統(tǒng)的一個(gè)最至關(guān)重要的方面:用戶通過(guò)GUI與系統(tǒng)進(jìn)行交互。所以GUI應(yīng)該易于使用并且非??煽?。但它還需要是有內(nèi)存意識(shí)的,以便在內(nèi)存受限的、微型嵌入式設(shè)備上可以無(wú)縫執(zhí)行。所以,它應(yīng)該是輕量級(jí)的,并且能夠快速裝入。

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

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

linux嵌入式開發(fā)環(huán)境用什么linux?

學(xué)習(xí)嵌入式開發(fā),一般會(huì)面臨3個(gè)階段:

1:學(xué)習(xí)基本的編程語(yǔ)言C/C++,此時(shí)linux版本不重要,重要的是符合C99標(biāo)準(zhǔn)的編譯器,建議使用ubuntu或者centos,免費(fèi)并且旁敬帶都默認(rèn)安裝了標(biāo)準(zhǔn)g++編譯器。

2:學(xué)習(xí)linux的基本環(huán)境,包括libc庫(kù)等基本C庫(kù)和一些標(biāo)準(zhǔn)的內(nèi)核函數(shù),建議使用ubuntu,不要使用centos,centos里面擴(kuò)展了不少redhat的庫(kù),在實(shí)際嵌入式開發(fā)無(wú)法使用。

3:學(xué)習(xí)嵌入式的特定編譯環(huán)境,交叉編譯技巧等等,此時(shí)必須在實(shí)際稿灶的嵌入式開發(fā)板上學(xué)習(xí),不能在發(fā)行版linux下學(xué)習(xí),因?yàn)榍度胧介_發(fā)板都是用運(yùn)蘆裁剪和優(yōu)化過(guò)的linux內(nèi)核,編譯環(huán)境也是嵌入式處理器自帶的,和發(fā)行版linux有較大的不同??偟膩?lái)說(shuō),學(xué)習(xí)嵌入式開發(fā),建議使用ubuntu

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

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

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