《單片機(jī)原理及系統(tǒng)設(shè)計(jì)實(shí)用教程》課件實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)進(jìn)入單片機(jī)開(kāi)發(fā)領(lǐng)域_第1頁(yè)
《單片機(jī)原理及系統(tǒng)設(shè)計(jì)實(shí)用教程》課件實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)進(jìn)入單片機(jī)開(kāi)發(fā)領(lǐng)域_第2頁(yè)
《單片機(jī)原理及系統(tǒng)設(shè)計(jì)實(shí)用教程》課件實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)進(jìn)入單片機(jī)開(kāi)發(fā)領(lǐng)域_第3頁(yè)
《單片機(jī)原理及系統(tǒng)設(shè)計(jì)實(shí)用教程》課件實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)進(jìn)入單片機(jī)開(kāi)發(fā)領(lǐng)域_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)進(jìn)入單片機(jī)開(kāi)發(fā)領(lǐng)域內(nèi)

容1.實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)

(1)更加面向硬件系統(tǒng),而不是操作者

嵌入式系統(tǒng)處理器一般都是獨(dú)立工作的,沒(méi)有人的直接參與;即使參與,也沒(méi)有大量的文字信息輸出,這是和桌面計(jì)算機(jī)有所不同的。因此RTOS著重面向的是硬件,而不是具有完整的人機(jī)界面。

(2)實(shí)時(shí)性

單片機(jī)系統(tǒng)的監(jiān)測(cè)、控制、通信等工作都要求實(shí)時(shí)性,一旦出現(xiàn)有關(guān)情況,CPU能夠及時(shí)響應(yīng),刻不容緩。為此,一個(gè)實(shí)用的RTOS都應(yīng)具有完善的中斷響應(yīng)機(jī)制,保證中斷響應(yīng)潛伏時(shí)間足夠短。

(3)多任務(wù)

半導(dǎo)體技術(shù)的發(fā)展和應(yīng)用復(fù)雜性的增長(zhǎng)促使CPU的處理能力越來(lái)越高,當(dāng)今的一片16位或32位單片機(jī),在運(yùn)算速度、尋址能力等方面可以相當(dāng)于8位單片機(jī)的幾十片之和。在這樣強(qiáng)大的處理器上運(yùn)行應(yīng)用程序,必然不是整塊,而是根據(jù)所要實(shí)現(xiàn)的若干方面功能,劃分為數(shù)個(gè)任務(wù),這樣有利于軟件的開(kāi)發(fā)和維護(hù)。

因此單片機(jī)系統(tǒng)中采用的RTOS必然是支持多任務(wù)的,并能夠根據(jù)各個(gè)任務(wù)的輕重緩急,合理地在它們之間分配CPU和各種資源的占用時(shí)間。

(4)不同的典型外設(shè)驅(qū)動(dòng)支持

單片機(jī)的典型片內(nèi)外設(shè)為定時(shí)器、A/D、PWM、D/A、串行口、LCD/LED接口,CAN-bus、IC-bus等。根據(jù)處理器類型的不同,RTOS在出廠時(shí)一般附帶若干上面硬件接口的驅(qū)動(dòng)程度,而網(wǎng)卡等片外設(shè)備的驅(qū)動(dòng)程序,以及其它一些高級(jí)驅(qū)動(dòng)函數(shù),如兼容DOS的文件系統(tǒng)、TCP/IP協(xié)議等,則需要另行選購(gòu)。以RTOS為基礎(chǔ)和接口標(biāo)準(zhǔn),可以設(shè)計(jì)出大量的庫(kù)函數(shù)驅(qū)動(dòng)模塊,并根據(jù)實(shí)際需要選擇或裁剪。

(5)高可靠性

一般計(jì)算機(jī)的操作系統(tǒng)出現(xiàn)問(wèn)題,例如死機(jī),除數(shù)據(jù)丟失等外,不會(huì)有太大的問(wèn)題;而單片機(jī)系統(tǒng)一般都是和工業(yè)控制、交通工具、醫(yī)用器械等機(jī)電系統(tǒng)密切相關(guān),不適當(dāng)?shù)妮敵錾踔敛患皶r(shí)的輸出都可能會(huì)帶來(lái)財(cái)產(chǎn)損失和安全問(wèn)題。因此嵌入式系統(tǒng)中的RTOS要求高可靠性,發(fā)行之前必須經(jīng)過(guò)嚴(yán)格的測(cè)試。這是一個(gè)耗費(fèi)時(shí)間和精力的過(guò)程,也是RTOS價(jià)格普遍高于一般操作系統(tǒng)的原因之一。

2.RTOS是一個(gè)內(nèi)核

典型的單片機(jī)程序在程序指針復(fù)位后,首先進(jìn)行堆棧、中斷、中斷向量、定時(shí)器、串行口等接口設(shè)置、初始化數(shù)據(jù)存儲(chǔ)區(qū)和顯示內(nèi)容,然后就來(lái)到了一個(gè)監(jiān)測(cè)、等待或空循環(huán),在這個(gè)循環(huán)中,CPU可以監(jiān)視外設(shè)、響應(yīng)中斷或用戶輸入。

這段主程序可以看作是一個(gè)內(nèi)核,內(nèi)核負(fù)責(zé)系統(tǒng)的初始化和開(kāi)放、調(diào)度其它任務(wù),相當(dāng)于C語(yǔ)言中的主函數(shù)。

RTOS就是這樣的一個(gè)標(biāo)準(zhǔn)內(nèi)核,包括了各種片上外設(shè)初始化和數(shù)據(jù)結(jié)構(gòu)的格式化,不必、也不推薦用戶再對(duì)硬件設(shè)備和資源進(jìn)行直接操作,所有的硬件設(shè)置和資源訪問(wèn)都要通過(guò)RTOS核心。硬件這樣屏蔽起來(lái)以后,用戶不必清楚硬件系統(tǒng)的每一個(gè)細(xì)節(jié)就可以進(jìn)行開(kāi)發(fā),這樣就減少了開(kāi)發(fā)前的學(xué)習(xí)量。

一般來(lái)說(shuō),對(duì)硬件的直接訪問(wèn)越少,系統(tǒng)的可靠性越高。RTOS是一個(gè)經(jīng)過(guò)測(cè)試的內(nèi)核,與一般用戶自行編寫(xiě)的主程序內(nèi)核相比,更規(guī)范,效率和可靠性更高。對(duì)于一個(gè)精通單片機(jī)硬件系統(tǒng)和編程的“老手”而言,通過(guò)RTOS對(duì)系統(tǒng)進(jìn)行管理可能不如直接訪問(wèn)更直觀、自由度大,但是通過(guò)RTOS管理能夠排除人為疏忽因素,提高軟件可靠性。

另外,高效率地進(jìn)行多任務(wù)支持是RTOS設(shè)計(jì)從始至終的一條主線,采用RTOS管理系統(tǒng)可以統(tǒng)一協(xié)調(diào)各個(gè)任務(wù),優(yōu)化CPU時(shí)間和系統(tǒng)資源的分配,使之不空閑、不擁塞。針對(duì)某種具體應(yīng)用,精細(xì)推敲的應(yīng)用程序不采用RTOS可能比采用RTOS能達(dá)到更高的效率;但是對(duì)于大多數(shù)一般用戶和新手而言,采用RTOS是可以提高資源利用率的,尤其是在片上資源不斷增長(zhǎng)、產(chǎn)品可靠性和進(jìn)入市場(chǎng)時(shí)間更重要的今天。

3.RTOS是一個(gè)平臺(tái)

RTOS建立在單片機(jī)硬件系統(tǒng)之上,用戶的一切開(kāi)發(fā)工作都進(jìn)行于其上,因此它可以稱作是一個(gè)平臺(tái)。采用RTOS的用戶不必花大量時(shí)間學(xué)習(xí)硬件,和直接開(kāi)發(fā)相比起點(diǎn)更高。

RTOS還是一個(gè)標(biāo)準(zhǔn)化的平臺(tái),它定義了每個(gè)應(yīng)用任務(wù)和內(nèi)核的接口,也促進(jìn)了應(yīng)用程序的標(biāo)準(zhǔn)化。應(yīng)用程序標(biāo)準(zhǔn)化后便于軟件的存檔、交流、修改和擴(kuò)展,為嵌入式軟件開(kāi)發(fā)的工程化創(chuàng)造了條件、減少開(kāi)發(fā)管理工作量。嵌入式軟件標(biāo)準(zhǔn)化推廣到社會(huì)后,可以促進(jìn)軟件開(kāi)發(fā)的分工,減少重復(fù)勞動(dòng),近來(lái)出現(xiàn)的建立于RTOS上的文件和通信協(xié)議庫(kù)函數(shù)產(chǎn)品等就是實(shí)例。

RTOS對(duì)于開(kāi)發(fā)單位和開(kāi)發(fā)者個(gè)人來(lái)說(shuō)也是一種提高。引入RTOS的開(kāi)發(fā)單位,相當(dāng)于引入了一套行業(yè)中廣泛采用的嵌入式系統(tǒng)應(yīng)用程序開(kāi)發(fā)標(biāo)準(zhǔn),使開(kāi)發(fā)管理更簡(jiǎn)易、有效?;赗TOS和C語(yǔ)言的開(kāi)發(fā),具有良好的可繼承性,在應(yīng)用程序、處理器升級(jí)以及更換處理器類型時(shí),現(xiàn)存的軟件大部分可以不經(jīng)修改地移植過(guò)來(lái)。

對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),則相當(dāng)于在程序設(shè)計(jì)中采用一種標(biāo)準(zhǔn)化的思維方式,提高知識(shí)創(chuàng)造的效率;同時(shí)因?yàn)榫哂蓄愃频乃悸?,可以更快地理解同行其它人員的創(chuàng)造成果。

4.RTOS產(chǎn)生并得到迅速發(fā)展的原因

單片機(jī)處理器能力的提高和應(yīng)用程序功能的復(fù)雜化、精確化,迫使應(yīng)用程序劃分為多個(gè)重要性不同的任務(wù),在各任務(wù)間優(yōu)化地分配CPU時(shí)間和系統(tǒng)資源,同時(shí)還要保證實(shí)時(shí)性??坑脩糇约壕帉?xiě)一個(gè)實(shí)現(xiàn)上述功能的內(nèi)核一般是不現(xiàn)實(shí)的,而這種需求又是普遍的。在這種形勢(shì)之下,由專業(yè)人員編寫(xiě)的、滿足大多數(shù)用戶需要的高性能RTOS內(nèi)核就是一種必然結(jié)果了。

對(duì)程序?qū)崟r(shí)性和可靠性要求的提高也是RTOS發(fā)展的一個(gè)原因。此外,單片機(jī)系統(tǒng)軟件開(kāi)發(fā)日趨工程化,產(chǎn)品進(jìn)入市場(chǎng)時(shí)間不斷縮短,也迫使管理人員尋找一種有利于程序繼承性、標(biāo)準(zhǔn)化、多人并行開(kāi)發(fā)的管理方式。從長(zhǎng)遠(yuǎn)的意義上來(lái)講,RTOS的推廣能夠帶來(lái)嵌入式軟件工業(yè)更有效、更專業(yè)化的分工,減少社會(huì)重復(fù)勞動(dòng)、提高勞動(dòng)生產(chǎn)率。

5.RTOS的基本特征

(1)任務(wù)

任務(wù)(Task)是RTOS中最重要的操作對(duì)象,每個(gè)任務(wù)在RTOS的調(diào)用下由CPU分時(shí)執(zhí)行。激活的或當(dāng)前任務(wù)是CPU正在執(zhí)行的任務(wù),休眠的任務(wù)是在存儲(chǔ)器中保留其執(zhí)行的上下文背景、一旦切換為當(dāng)前任務(wù)即可從上次執(zhí)行的末尾繼續(xù)執(zhí)行的任務(wù)。任務(wù)的調(diào)度目前主要有時(shí)間分片式(TimeSlicing)、輪流查詢式(Round-Robin)和優(yōu)先搶占式(Preemptive)三種,不同的RTOS可能支持其中的一種或幾種,其中優(yōu)先搶占式對(duì)實(shí)時(shí)性的支持最好。

(2)任務(wù)切換

RTOS管理下的系統(tǒng)CPU和系統(tǒng)資源的時(shí)間是同時(shí)分配給不同任務(wù)的,這樣看起來(lái)就象許多任務(wù)在同時(shí)執(zhí)行,但實(shí)際上每個(gè)時(shí)刻只有一個(gè)任務(wù)在執(zhí)行,也就是當(dāng)前任務(wù)。任務(wù)的切換有兩種原因。當(dāng)一個(gè)任務(wù)正常地結(jié)束操作時(shí),它就把CPU控制權(quán)交給RTOS,RTOS則檢查任務(wù)隊(duì)列中的所有任務(wù),判斷下面那個(gè)任務(wù)的優(yōu)先級(jí)最高,需要先執(zhí)行。另一種情況是在一個(gè)任務(wù)執(zhí)行時(shí),一個(gè)優(yōu)先級(jí)更高的任務(wù)發(fā)生了中斷,這時(shí)RTOS就將當(dāng)前任務(wù)的上下文保存起來(lái),切換到中斷任務(wù)。RTOS經(jīng)常性地整理任務(wù)隊(duì)列,刪除結(jié)束的任務(wù),增加新的要執(zhí)行任務(wù),并將其按照優(yōu)先級(jí)從大到小的順序排列起來(lái),這樣可以合理地在各個(gè)任務(wù)之間分配系統(tǒng)資源。

(3)消息和郵箱

消息(Message)和郵箱(Mailbox)是RTOS中任務(wù)之間數(shù)據(jù)傳遞的載體和渠道,一個(gè)任務(wù)可以有多個(gè)郵箱。通過(guò)郵箱,各個(gè)任務(wù)之間可以異步地傳遞信息,沒(méi)有占用CPU時(shí)間的查詢和等待。當(dāng)RTOS包含片上總線接口驅(qū)動(dòng)功能時(shí),各個(gè)單片機(jī)之間的通信也通過(guò)郵箱的方式來(lái)進(jìn)行,用戶并不需要了解更深的關(guān)于硬件的內(nèi)容。

(4)旗語(yǔ)

旗語(yǔ)(Semaphore)相當(dāng)于一種標(biāo)志(Flag),通過(guò)預(yù)置,一個(gè)事件的發(fā)生可以改變旗語(yǔ)。一個(gè)任務(wù)可以通過(guò)監(jiān)測(cè)旗語(yǔ)的變化來(lái)決定其行動(dòng),在監(jiān)測(cè)旗語(yǔ)變化的時(shí)候不消耗CPU時(shí)間,旗語(yǔ)對(duì)任務(wù)的觸發(fā)是由RTOS來(lái)完成的。通過(guò)使用旗語(yǔ),一個(gè)任務(wù)在等待事件變化的時(shí)候就可以不必不斷查詢,而把CPU時(shí)間出讓給其它任務(wù)。

(5)存儲(chǔ)區(qū)分配

RTOS對(duì)系統(tǒng)存儲(chǔ)區(qū)進(jìn)行統(tǒng)一分配,分配的方式可以是動(dòng)態(tài)的或靜態(tài)的,每個(gè)任務(wù)在需要存儲(chǔ)區(qū)時(shí)都要向RTOS內(nèi)核申請(qǐng)。RTOS通過(guò)使用存儲(chǔ)分配類核心對(duì)象管理數(shù)據(jù)存儲(chǔ)器,在動(dòng)態(tài)分配時(shí)能夠防止存儲(chǔ)區(qū)的零碎化。

(6)中斷和資源管理

RTOS提供了一種通用的設(shè)計(jì)用于中斷管理,有效率而靈活,這樣可以實(shí)現(xiàn)最小的中斷潛伏時(shí)間和最大的中斷響應(yīng)度。RTOS內(nèi)核中的資源對(duì)象類則實(shí)現(xiàn)了對(duì)系統(tǒng)實(shí)體資源或虛擬資源的獨(dú)占式訪問(wèn),一個(gè)任務(wù)可以取得對(duì)資源的唯一訪問(wèn)權(quán),其它任務(wù)在資源釋放以前無(wú)法訪問(wèn),這樣可以避免資源沖突。設(shè)計(jì)完善的RTOS具有檢查可能導(dǎo)致系統(tǒng)死鎖的資源調(diào)用設(shè)計(jì)。

上面是RTOS的基本特征。根據(jù)產(chǎn)品的不同,它可能還包含許多其它功能。

6.你的處理器是不是需要一套實(shí)時(shí)多任務(wù)操作系統(tǒng)?

RTOS是目前嵌入式系統(tǒng)領(lǐng)域的熱點(diǎn)之一,是流行的開(kāi)發(fā)平臺(tái),但它畢竟對(duì)于許多用戶來(lái)說(shuō)還是昂貴的,還會(huì)大量改變用戶習(xí)慣的開(kāi)發(fā)方式,因此在引入RTOS以前對(duì)必要性進(jìn)行考察還是明智的。你可以思考下面的幾個(gè)問(wèn)題:

(1)你的處理器控制的時(shí)間和方式和你預(yù)想的一樣嗎?

(2)你是否發(fā)現(xiàn)自己花費(fèi)很多時(shí)間盤(pán)算怎樣使一段代碼在該執(zhí)行的時(shí)候執(zhí)行?

(3)你是否花費(fèi)太多時(shí)間在中斷子程序上,知道主程序不可能順序地處理中斷事件,便試圖編出所有代碼來(lái)處理中斷事件?

(4)你是否發(fā)現(xiàn)自己在不斷地測(cè)試標(biāo)志或調(diào)用測(cè)試標(biāo)志的子程序,來(lái)判斷是否應(yīng)當(dāng)執(zhí)行一段子程序?

如果你對(duì)上面問(wèn)題的回答有一個(gè)以上是肯定的話,那么就是到了需要一套實(shí)時(shí)多任務(wù)操作系統(tǒng)將你從編程的瑣碎中解脫出來(lái)的時(shí)候了。

8.目前有什么樣的RTOS?

當(dāng)你在電子雜志上尋找RTOS的時(shí)候,可能會(huì)發(fā)現(xiàn)世界上研制RTOS產(chǎn)品的公司多得令你無(wú)所適從;但是仔細(xì)閱讀后會(huì)發(fā)現(xiàn),它們的產(chǎn)品可能只覆蓋幾種處理器,而且是你所不熟悉的。目前產(chǎn)品比較全面的公司主要有美國(guó)的CMXCompany和EmbeddedSystemProducts(ESP),Inc.,它們對(duì)中國(guó)單片機(jī)工業(yè)流行的單片機(jī),如8051,251,196/296

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論