色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種改進(jìn)嵌入Linux實(shí)時(shí)性的新型方案

          一種改進(jìn)嵌入Linux實(shí)時(shí)性的新型方案

          作者: 時(shí)間:2010-12-16 來(lái)源:網(wǎng)絡(luò) 收藏

          而從前面的分析可以看出,RTAI是基于普通內(nèi)核,相對(duì)于式應(yīng)用其內(nèi)核過于龐大;而uClinux本身并沒有更多地關(guān)注實(shí)時(shí)問題。因此,可以將RTAI和uClinux相結(jié)合,采用雙內(nèi)核的設(shè)計(jì),既滿足了式應(yīng)用的需求,又保證了系統(tǒng)的硬。

          1.硬件抽象層


          圖3 系統(tǒng)中斷處理流程圖

          系統(tǒng)的實(shí)現(xiàn)基礎(chǔ)是硬件抽象層,通過硬件抽象層進(jìn)行硬件管理,把基本內(nèi)核和實(shí)時(shí)內(nèi)核結(jié)合在一起,其中一個(gè)內(nèi)核的改變,不會(huì)影響另一個(gè)內(nèi)核的執(zhí)行。

          硬 件抽象層定義了本系統(tǒng)同硬件之間的抽象接口,主要用來(lái)截取硬件中斷,并且依據(jù)實(shí)時(shí)內(nèi)核調(diào)度器的需求,重定向?yàn)榛緝?nèi)核任務(wù)或是實(shí)時(shí)任務(wù)。RTHAL包含一 個(gè)關(guān)鍵的組件:中斷描述符表(IDT,Interrupt Descriptor Table),它定義了一套指針用來(lái)處理中斷例程。RTHAL本身定義了一個(gè)結(jié)構(gòu),使得基本內(nèi)核中斷處理函數(shù)能夠很容易地被實(shí)時(shí)處理函數(shù)所替代。這樣,當(dāng) 實(shí)時(shí)內(nèi)核通過RTHAL激活后,新的IDT表為合法。在以上控制下,基本內(nèi)核作為實(shí)時(shí)系統(tǒng)的任務(wù)提供服務(wù)。

          2.雙內(nèi)核結(jié)構(gòu)

          雙內(nèi)核實(shí)時(shí)系統(tǒng)的總體結(jié)構(gòu)模型如圖1所示,主要包含了基本內(nèi)核、實(shí)時(shí)內(nèi)核、硬件抽象層、硬件部分。

          其 中基本內(nèi)核(uClinux)和實(shí)時(shí)內(nèi)核(RTAI)分別處理非實(shí)時(shí)和實(shí)時(shí)任務(wù)的調(diào)度和執(zhí)行,而實(shí)時(shí)任務(wù)和非實(shí)時(shí)任務(wù)之間信息的交換要通過管道 (FIFO)或共享內(nèi)存(MBUFF)來(lái)實(shí)現(xiàn)。當(dāng)實(shí)時(shí)任務(wù)運(yùn)行時(shí),基本內(nèi)核被硬件抽象層屏蔽。即實(shí)時(shí)內(nèi)核將基本內(nèi)核作為優(yōu)先級(jí)最低的一個(gè)任務(wù)來(lái)運(yùn)行,只有 在沒有實(shí)時(shí)任務(wù)運(yùn)行的時(shí)候才予以調(diào)度。

          3.實(shí)時(shí)內(nèi)核動(dòng)態(tài)加載

          式實(shí)時(shí)的實(shí)時(shí)內(nèi)核是動(dòng)態(tài)加載的。實(shí)時(shí)任務(wù)被激活前,實(shí)時(shí)內(nèi)核并沒有啟動(dòng),基本內(nèi)核通過RTHAL透明訪問硬件,就像RTHAL不存在一樣。當(dāng)實(shí)時(shí)任務(wù)被激活時(shí),RTHAL結(jié)構(gòu)發(fā)生變化,基本內(nèi)核被實(shí)時(shí)內(nèi)核接管,圖2表明了實(shí)時(shí)內(nèi)核啟動(dòng)前后,系統(tǒng)發(fā)生的變化。

          本文引用地址:http://cafeforensic.com/article/151179.htm

          4.調(diào)度處理

          當(dāng) 中斷到來(lái)時(shí),實(shí)時(shí)內(nèi)核判斷它是基本內(nèi)核中斷還是屬于實(shí)時(shí)中斷,分別進(jìn)行處理。若是基本內(nèi)核中斷,如果當(dāng)前有實(shí)時(shí)任務(wù)正在運(yùn)行,則只是設(shè)置一下中斷標(biāo)志位, 懸掛此中斷,如果沒有實(shí)時(shí)任務(wù)運(yùn)行,則調(diào)用基本內(nèi)核的中斷處理程序;如果此中斷是實(shí)時(shí)中斷,就直接調(diào)用相對(duì)應(yīng)的實(shí)時(shí)中斷處理程序。注意,實(shí)時(shí)中斷可以搶先 基本內(nèi)核任務(wù)的執(zhí)行。系統(tǒng)的中斷處理流程如圖3所示。

          應(yīng)用案例

          工業(yè)控制是嵌入式實(shí)時(shí)操作系統(tǒng)的傳統(tǒng)應(yīng)用領(lǐng)域,需要嚴(yán)格的實(shí)時(shí)處理功能、高可靠性和良好的開放性,對(duì)開發(fā)環(huán)境、可操作性、成本等也有特別的要求。因此本項(xiàng)研究以重大裝備的遠(yuǎn)程監(jiān)控系統(tǒng)作為其應(yīng)用之一。

          1.嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)結(jié)構(gòu)

          應(yīng) 用針對(duì)工業(yè)生產(chǎn)中使用的大型設(shè)備在連續(xù)運(yùn)轉(zhuǎn)狀態(tài)下的遠(yuǎn)程監(jiān)控問題,研究用于重大裝備遠(yuǎn)程監(jiān)控的嵌入式裝置。系統(tǒng)主要包括輸入/輸出模塊(NetIO)和輸 入/輸出上位模塊(NetWeb),前者用于實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)的采集(輸入),或用于現(xiàn)場(chǎng)裝置的控制(輸出),后者集成了Web功能,使得用戶可以通過互聯(lián)網(wǎng) 對(duì)輸入/輸出模塊進(jìn)行訪問。兩類模塊通過網(wǎng)絡(luò)相連接,在本系統(tǒng)中為通過串行485總線。嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)結(jié)構(gòu)如圖4所示。

          2.NetWeb對(duì)嵌入式的功能驗(yàn)證


          圖4 嵌入式遠(yuǎn)程監(jiān)控體系結(jié)構(gòu)

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉