嵌入式系統(tǒng)的定義
以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),且軟硬件可裁減,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗的嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
嵌入式系統(tǒng)的特點(diǎn):
系統(tǒng)內(nèi)核小:嵌入式系統(tǒng)一般是應(yīng)用于小型電子裝置的,系統(tǒng)資源相對(duì)有限,所以內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多
專用性強(qiáng):嵌入式系統(tǒng)的個(gè)性化很強(qiáng),其中的軟件系統(tǒng)和硬件的結(jié)合非常緊密,一般要針對(duì)硬件進(jìn)行系統(tǒng)的移植
系統(tǒng)精簡(jiǎn):嵌入式系統(tǒng)一般不要求其功能設(shè)計(jì)及實(shí)現(xiàn)上過(guò)于復(fù)雜,這樣一方面利于控制系統(tǒng)成本,同時(shí)也利于系統(tǒng)安全
實(shí)時(shí)性操作系統(tǒng):這是嵌入式軟件的基本要求,而且軟件要求固化存儲(chǔ),以提高速度,軟件代碼要求高質(zhì)量和高可靠性、實(shí)時(shí)性
專用的開(kāi)發(fā)工具和開(kāi)發(fā)環(huán)境。
嵌入式系統(tǒng)的組成:
嵌入式操作系統(tǒng):
嵌入式系統(tǒng)開(kāi)發(fā)流程:
裸機(jī)開(kāi)發(fā):對(duì)于功能簡(jiǎn)單僅包括應(yīng)用程序的嵌入式系統(tǒng)一般不使用操作系統(tǒng),僅有應(yīng)用程序和設(shè)備驅(qū)動(dòng)程序
帶操作系統(tǒng)的開(kāi)發(fā):當(dāng)設(shè)計(jì)較復(fù)雜的程序時(shí),可能就需要一個(gè)操作系統(tǒng)(OS)來(lái)管理控制內(nèi)存、多任務(wù)、周邊資源等,現(xiàn)代高 性能嵌入式系統(tǒng)應(yīng)用越來(lái)越廣泛,操作系統(tǒng)使用成為必然發(fā)展趨勢(shì)
硬件開(kāi)發(fā)--->啟動(dòng)加載程序--->操作系統(tǒng)內(nèi)核--->根文件系統(tǒng)--->設(shè)備驅(qū)動(dòng)--->應(yīng)用程序
通常基于linux系統(tǒng)的嵌入式開(kāi)發(fā)步驟:
開(kāi)發(fā)目標(biāo)硬件系統(tǒng):如選擇微處理器、Flash及其它外設(shè)等
建立交叉開(kāi)發(fā)環(huán)境:安裝交叉編譯工具鏈、安裝開(kāi)發(fā)調(diào)試工具
開(kāi)發(fā)Bootloader:移植uboot,vivi
移植linux內(nèi)核:如linux2.6.31內(nèi)核
開(kāi)發(fā)根文件系統(tǒng):CRAMFS,YAFFS
開(kāi)發(fā)相關(guān)硬件的驅(qū)動(dòng)程序:led,adc等驅(qū)動(dòng)
開(kāi)發(fā)上層的應(yīng)用程