| ??? Nucleus Plus是美國源代碼操作系統(tǒng)商ATI公司推出的新一代嵌入式操作系統(tǒng),屬于搶先式實(shí)時(shí)多任務(wù)操作系統(tǒng)內(nèi)核, 95%的代碼使用ANSI C編寫,非常便于移植于各種處理器家族。從實(shí)現(xiàn)的角度講,不同于傳統(tǒng)嵌入式開發(fā),Nucleus Plus是以函數(shù)庫的形式鏈接到目標(biāo)應(yīng)用程序中,形成可執(zhí)行目標(biāo)代碼,下載到目標(biāo)板上或燒到ROM/FLASH ROM 中去執(zhí)行。Nucleus Plus內(nèi)核在典型的CISC體系結(jié)構(gòu)上占據(jù)大約20k空間,而在典型的RISC體系結(jié)構(gòu)上占據(jù)空間為40k左右,其內(nèi)核數(shù)據(jù)結(jié)構(gòu)占據(jù)1.5k字節(jié)的空間。Nucleus Plus以其實(shí)時(shí)響應(yīng)、搶先、多任務(wù)以及源代碼開放特性獲得在通訊、國防、工業(yè)控制、航空/航天、鐵路、網(wǎng)絡(luò)、POS、自動(dòng)化控制、智能家電等領(lǐng)域的廣泛應(yīng)用。 Nucleus Plus內(nèi)核技術(shù) ??? ATI公司使用一種叫做軟件組件的方法。所謂軟件組件,就是具有明確目的或用途的由1個(gè)或數(shù)個(gè)C語言/匯編源文件的一段非獨(dú)立執(zhí)行應(yīng)用程序,且每個(gè)組件都提供一個(gè)定義好的外部接口,必須通過外部接口來使用組件。訪問組件內(nèi)的全局?jǐn)?shù)據(jù)結(jié)構(gòu)是被禁止的。使用了組件方法, 軟件組件既易于更新也易于重用。Nucleus Plus軟件組件通常由定義數(shù)據(jù)類型、常量以及外部接口的INCLUDE 頭文件和一個(gè)或多個(gè)C語言/匯編源文件組成。Nucleus Plus 提供如下組件:任務(wù)控制管理、內(nèi)存管理、 定時(shí)器管理、中斷、系統(tǒng)診斷、I/O驅(qū)動(dòng)管理等共16個(gè)組件如下, Nucleus Plus Kernel:??? Common Service Component(CS) ?????????????????????? Initialization Component(IN) ?????????????????????? Tread Control Component(TC) ?????????????????????? Timer Component(TI) ?????????????????????? Mailbox Component(MB) ?????????????????????? Pipe Component(PI) ?????????????????????? Semaphore Component(SM) ?????????????????????? Event Flag Component(EV) ?????????????????????? Partition Component(PM) ?????????????????????? Queue Component(QM) ?????????????????????? Dynamic Memory Component(DM) ?????????????????????? I/O Component(I/O) ??????????? ???????????History Component(HI) ?????????????????????? Error Component(ER) ?????????????????????? License Component (LI) ?????????????????????? Release Component(RL) ?其中: * IN:負(fù)責(zé)初始化Nucleus Plus 系統(tǒng) * TC:負(fù)責(zé)管理Nucleus Plus的搶占式實(shí)時(shí) 任務(wù)和HISR的運(yùn)行 * CS:負(fù)責(zé)提供具有鏈接列表其它的設(shè)備Nucleus Plus 組件 * TM:負(fù)責(zé)管理所有的Nucleus Plus 定時(shí)器設(shè)備。Nucleus Plus 的基本定時(shí)單元為一個(gè)Tick,它相當(dāng)于一次硬件定時(shí)器中斷 * MB:負(fù)責(zé)管理所有的Nucleus Plus 信箱設(shè)備 * QM:負(fù)責(zé)管理所有的Nucleus Plus 隊(duì)列設(shè)備 * PI :負(fù)責(zé)管理所有的Nucleus Plus 管道設(shè)備 * SM:負(fù)責(zé)管理所有的Nucleus Plus 信號量設(shè)備 * EV:負(fù)責(zé)管理所有的Nucleus Plus 事件組設(shè)備 * PM:負(fù)責(zé)管理所有的Nucleus Plus 分區(qū)內(nèi)存 * DM:負(fù)責(zé)管理所有的Nucleus Plus 動(dòng)態(tài)內(nèi)存 * I/O:負(fù)責(zé)管理所有的Nucleus Plus 輸入/輸出 * HI:負(fù)責(zé)Nucleus Plus的歷史設(shè)備管理 * ER:負(fù)責(zé)管理所有的Nucleus Plus 系統(tǒng)錯(cuò)誤
|