<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > uClinux操作系統的實(shí)時(shí)化分析與研究

uClinux操作系統的實(shí)時(shí)化分析與研究

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

4.2定時(shí)器的移植

如前面分析,對于一個(gè)實(shí)時(shí)操作系統,必須有精確的計時(shí)。在i386體系結構中,有時(shí)間標簽計數器TSC(Time Stamp Count),在S3C4510B處理器上沒(méi)有這個(gè)寄存器,可以采用計時(shí)器2(Timer1)來(lái)模擬TSC的功能。每來(lái)一個(gè)時(shí)鐘脈沖,Timer1的 TCNT1寄存器減1,減到零后產(chǎn)生時(shí)鐘中斷,再從TDATA1中讀TCNT1的值,往復運行。具體的做法是使用一個(gè)內核的全局變量,每次時(shí)鐘中斷來(lái)以后,在Timer1的寄存器中讀出值,計算其增量,為了使系統更精確,必須將Timer1中斷設置為最高優(yōu)先級,這樣就可以模擬64位的TSC寄存器,從而得到當前的準確計時(shí)。

5.基于的應用程序的開(kāi)發(fā)

編寫(xiě)應用程序時(shí),將實(shí)時(shí)系統的應用程序分為實(shí)時(shí)任務(wù)和非實(shí)時(shí)任務(wù)。實(shí)時(shí)任務(wù)是實(shí)時(shí)模塊,作為核心可加載模塊運行在核心態(tài)。它的設計應盡可能簡(jiǎn)單,僅包含那些有強實(shí)時(shí)要求的處理模塊,如實(shí)時(shí)數據采集、外部設備控制等。非實(shí)時(shí)任務(wù)是普通的進(jìn)程,在用戶(hù)態(tài)執行,完成大部分的數據處理、圖形顯示和通訊等任務(wù)。所有的實(shí)時(shí)任務(wù)均按照對要求的高低來(lái)進(jìn)行優(yōu)先級排隊,系統根據優(yōu)先級的高低來(lái)順序啟動(dòng)各個(gè)實(shí)時(shí)任務(wù)。而位于用戶(hù)態(tài)的界面,當作一個(gè)背景程序來(lái)執行。核心態(tài)的任務(wù)優(yōu)先級總是高于用戶(hù)態(tài)的界面任務(wù),且不能被其搶占。實(shí)時(shí)任務(wù)和非實(shí)時(shí)任務(wù)之間可通過(guò)FIFO隊列和共享內存等方法通信?;?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/RTAI">RTAI的μClinux應用程序結構圖如圖2所示。

實(shí)時(shí)系統的啟動(dòng)和結束可以用一個(gè)Shell程序來(lái)執行,它的功能是實(shí)現各任務(wù)模塊的加載和卸載,以及用戶(hù)界面的運行。Shell程序是介于使用者和操作系統的內核程序間的一個(gè)界面,使用戶(hù)更為方便的使用操作系統。由于各個(gè)模塊之間具有相互依賴(lài)性,所以在加載和卸載各個(gè)模塊時(shí)按照一定的順序。首先要將 提供的實(shí)時(shí)模塊加載,包括rtai、rtai_sched、rtai_fifos和rtai_shm等模塊;然后裝入系統的各個(gè)實(shí)時(shí)模塊。卸載模塊的時(shí)候按照相反的順序依次卸載。實(shí)時(shí)系統的程序流程圖如圖3所示。

6.結束語(yǔ)

作者已將改造后的μClinux系統應用在了江蘇省普通高校自然科學(xué)研究計劃資助項目“機房環(huán)境設備安全監控軟件平臺的研制”等項目中,均取得了良好的效果,解決了μClinux在方面的缺陷,滿(mǎn)足了設計要求。

本文作者創(chuàng )新點(diǎn)是:實(shí)現了RTAI在μClinux上的移植,形成了RTAI和μClinux相結合的雙內核嵌入式系統運行方案,既滿(mǎn)足了嵌入式應用的需求,又保證了系統的硬。

參考文獻

[1]李俊平,梅洪,單家元.基于Linux的實(shí)時(shí)平臺的研究[J].微計算機信息,2005,21(7):21-23.

[2]林滸,蔡光起等.實(shí)時(shí)化的Linux系統及其實(shí)時(shí)性能的研究[J].小型微型計算機系統,2004,25(8):1454-1457.

[3] WANG Y C, LIN K J. Implementing a general real-time frame-work in the RED-Linux real-time kernel [C]. IEEE Real-timeSystem Symposium, 1999.

[4] Raj Rajkumar, Kanaka Juvva, Anastasio Molano, et al. Resource kernel: A resource-centric approach to real-time and multimedia systems[C]. Proceedings of the SPIE/ACM Conference on Mul-timedia Computing and Networking, 1998.

[5]馬學(xué)文,朱名日等.uClinux操作系統實(shí)時(shí)性能的研究與實(shí)現[J].計算機工程與科學(xué),2005,27(3):103-104.

[6]RTAI主頁(yè)[EB/OL].htp://www.rtai.org/.


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>