當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 學(xué)習(xí)筆記 > 嵌入式學(xué)習(xí)筆記:Linux學(xué)習(xí)筆記整理
學(xué)習(xí)網(wǎng)址:
一、Linux的優(yōu)勢(shì)
1、廣泛的硬件支持
Linux能夠支持x86、ARM、MIPS、ALPHA、PowerPC等多種體系結(jié)構(gòu),目前已經(jīng)成功移植到數(shù)十種硬件平臺(tái),幾乎能夠運(yùn)行在所有流行的CPU上。
Linux有著異常豐富的驅(qū)動(dòng)程序資源,支持各種主流硬件設(shè)備和最新硬件技術(shù),甚至可以在沒有存儲(chǔ)管理單元(MMU)的處理器上運(yùn)行,這 些都進(jìn)一步促進(jìn)了
Linux在嵌入式系統(tǒng)中的應(yīng)用。
2、內(nèi)核高效穩(wěn)定
Linux內(nèi)核的高效和穩(wěn)定已經(jīng)在各個(gè)領(lǐng)域內(nèi)得到了大量事實(shí)的驗(yàn)證,Linux的內(nèi)核設(shè)計(jì)非常精巧,分成進(jìn)程調(diào)度、內(nèi)存管理、進(jìn)程間通信、虛擬文件 系統(tǒng)和網(wǎng)絡(luò)接口
五大部分,其獨(dú)特的模塊機(jī)制可以根據(jù)用戶的需要,實(shí)時(shí)地將某些模塊插入到內(nèi)核或從內(nèi)核中移走。這些特性使得Linux系統(tǒng)內(nèi)核可以裁剪得非 常小巧,很適合于
嵌入式系統(tǒng)的需要。
3、開放源碼,軟件豐富
Linux是開放源代碼的自由操作系統(tǒng),它為用戶提供了最大限度的自由度,由于嵌入式系統(tǒng)千差萬別,往往需要針對(duì)具體的應(yīng)用進(jìn)行修改和優(yōu)化,因而獲得
源代碼就變得至關(guān)重要了。Linux的軟件資源十分豐富,每一種通用程序在Linux上幾乎都可以找到,并且數(shù)量還在不斷增加。在Linux上開發(fā)嵌入式應(yīng)用軟件
一般不用從頭做起,而是可以選擇一個(gè)類似的自由軟件做為原型,在其上進(jìn)行二次開發(fā)。
4、優(yōu)秀的開發(fā)工具
開發(fā)嵌入式系統(tǒng)的關(guān)鍵是需要有一套完善的開發(fā)和調(diào)試工具。傳統(tǒng)的嵌入式開發(fā)調(diào)試工具是在線仿真器(In-Circuit Emulator,ICE),它通過取代目標(biāo)板的微處理器,
給目標(biāo)程序提供一個(gè)完整的仿真環(huán)境,從而使開發(fā)者能夠非常清楚地了解到程序在目標(biāo)板上的工作狀 態(tài),便于監(jiān)視和調(diào)試程序。在線仿真器的價(jià)格非常昂貴,
而且只適合做非常底層的調(diào)試,如果使用的是嵌入式Linux,一旦軟硬件能夠支持正常的串口功能時(shí), 即使不用在線仿真器也可以很好地進(jìn)行開發(fā)和調(diào)試工作,
從而節(jié)省了一筆不小的開發(fā)費(fèi)用。嵌入式Linux為開發(fā)者提供了一套完整的工具鏈(Tool Chain),它利用GNU的gcc做編譯器,用gdb、kgdb、xgdb做調(diào)試工具,
能夠很方便地實(shí)現(xiàn)從操作系統(tǒng)到應(yīng)用軟件各個(gè)級(jí)別的調(diào)試。
5、完善的網(wǎng)絡(luò)通信和文件管理機(jī)制
Linux至誕生之日起就與Internet密不可分,支持所有標(biāo)準(zhǔn)的Internet網(wǎng)絡(luò)協(xié)議,并且很容易移植到嵌入式系統(tǒng)當(dāng)中。此外,Linux還支持ext2、fat16、fat32、romfs等
文件系統(tǒng),這些都為開發(fā)嵌入式系統(tǒng)應(yīng)用打下了很好的基礎(chǔ)。
二、開發(fā)流程
嵌入式Linux開發(fā)環(huán)境搭建