當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 在嵌入式應(yīng)用系統(tǒng)的設(shè)計(jì)中,實(shí)時(shí)操作系統(tǒng)的應(yīng)用越來越受到重視。目前市場上可以選擇的實(shí)時(shí)操作系統(tǒng)很多,一些商用系統(tǒng)為用戶提供了非常豐富的功能,不僅包括實(shí)時(shí)內(nèi)核,同時(shí)

 在嵌入式應(yīng)用系統(tǒng)的設(shè)計(jì)中,實(shí)時(shí)操作系統(tǒng)的應(yīng)用越來越受到重視。目前市場上可以選擇的實(shí)時(shí)操作系統(tǒng)很多,一些商用系統(tǒng)為用戶提供了非常豐富的功能,不僅包括實(shí)時(shí)內(nèi)核,同時(shí)還包括輸入輸出管理、文件系統(tǒng)、網(wǎng)絡(luò)、調(diào)試軟件等。但是對于中小型的嵌入式應(yīng)用系統(tǒng)來說,商用實(shí)時(shí)操作系統(tǒng)的成本太高,所以采用免費(fèi)軟件是最好的選擇。uC/OS-Ⅱ是一個免費(fèi)的源代碼公開的實(shí)時(shí)嵌入式內(nèi)核,它提供了實(shí)時(shí)系統(tǒng)所需的基本功能。其包含全部功能的核心部分代碼只占用8.3K字節(jié),而且由于uC/OS-Ⅱ是可裁剪的,所以用戶系統(tǒng)中實(shí)際的代碼最少可達(dá)2.7K字節(jié),可謂短小精悍。uC/OS-Ⅱ不僅使用戶得到廉價(jià)的解決方案,而且由于uC/OS-Ⅱ的開源特性,用戶還可以針對自己的硬件優(yōu)化代碼,以獲得更好的性能。,bRM6z

uC/OS-Ⅱ?qū)嶋H上是一個實(shí)時(shí)操作系統(tǒng)內(nèi)核,只包含了任務(wù)調(diào)度、任務(wù)管理、時(shí)間管理、內(nèi)存管理和任務(wù)間的通信與同步等基本功能。沒有提供輸入輸出管理、文件系統(tǒng)、網(wǎng)絡(luò)之類的額外服務(wù)。但是由于uC/OS-Ⅱ的可移植性和開源性,用戶可以自己添加所需的各種服務(wù)。目前,已經(jīng)出現(xiàn)了第三方為uC/OS-Ⅱ開發(fā)的文件系統(tǒng)、TCP/IP協(xié)議棧、用戶顯示接口等。;C`wO

uC/OS-Ⅱ的任務(wù)調(diào)度是按搶占式多任務(wù)系統(tǒng)設(shè)計(jì)的,即它總是執(zhí)行處于就緒條件下優(yōu)先級最高的任務(wù)。為了簡化系統(tǒng)的設(shè)計(jì),uC/OS-Ⅱ規(guī)定所有任務(wù)的優(yōu)先級必須不同,任務(wù)的優(yōu)先級同時(shí)也唯一地標(biāo)識了該任務(wù)。即使兩個任務(wù)的重要性是相同的,它們也必須有優(yōu)先級上的差異,這也就意味著高優(yōu)先級的任務(wù)在處理完成后必須進(jìn)入等待或掛起狀態(tài),否則低優(yōu)先級的任務(wù)永遠(yuǎn)也不可能執(zhí)行。系統(tǒng)通過兩種方法進(jìn)行任務(wù)調(diào)度:一是時(shí)鐘節(jié)拍或其它硬件中斷到來后,系統(tǒng)會調(diào)用函數(shù)OSIntCtxSw()執(zhí)行切換功能;二是任務(wù)主動進(jìn)入掛起或等待狀態(tài),這時(shí)系統(tǒng)通過發(fā)軟中斷命令或依靠處理器執(zhí)行陷阱指令來完成任務(wù)切換,中斷服務(wù)例程或陷阱處理程序的向量地址必須指向函數(shù)OSCtxSw()。;3yL

uC/OS-Ⅱ最多可以管理64個任務(wù),這些任務(wù)通常都是一個無限循環(huán)的函數(shù)。在目前的版本中,作者保留了優(yōu)先級為0、1、2、3、OS_LOWEST_PRIO-3、OS_LOWEST_PRIO-2、OS_LOWEST_PRIO-1、OS_LOWEST_PRIO的任務(wù),所以用戶可以同時(shí)擁有56個任務(wù)。uC/OS-Ⅱ提供了任務(wù)管理的各種函數(shù)調(diào)用,包括創(chuàng)建任務(wù)、刪除任務(wù)、改變?nèi)蝿?wù)的優(yōu)先級、掛起和恢復(fù)任務(wù)等。系統(tǒng)初始化時(shí)會自動產(chǎn)生兩個任務(wù):一是空閑任務(wù)OSTaskIdle(),它的優(yōu)先級最低為OS_LOWEST_PRIO,該任務(wù)只是不停地給一個32位的整型變量加一;另一個是統(tǒng)計(jì)任務(wù)OSTaskStat(),它的優(yōu)先級為OS_LOWEST_PRIO-1,該任務(wù)每秒運(yùn)行一次,負(fù)責(zé)計(jì)算當(dāng)前CPU的利用率。XfIj

uC/OS-Ⅱ要求用戶提供一個稱為時(shí)鐘節(jié)拍的定時(shí)中斷,該中斷每秒發(fā)生10至100次,時(shí)鐘節(jié)拍的實(shí)際頻率是由用戶控制的。任務(wù)申請延時(shí)或超時(shí)控制的計(jì)時(shí)基準(zhǔn)就是該時(shí)鐘節(jié)拍。該時(shí)鐘節(jié)拍同時(shí)還是任務(wù)調(diào)度的時(shí)間基準(zhǔn)。uC/OS-Ⅱ提供了與時(shí)鐘節(jié)拍相關(guān)的系統(tǒng)服務(wù),允許任務(wù)延時(shí)一定數(shù)量的時(shí)鐘節(jié)拍或按時(shí)、分、秒、毫秒進(jìn)行延時(shí)。")fT

對于一個多任務(wù)操作系統(tǒng)來說,任務(wù)間的通信與同步是必不可少的。uC/OS-Ⅱ提供了四種同步對象,分別是信號量、郵箱、消息隊(duì)列和事件。通過郵箱和消息隊(duì)列還可以進(jìn)行任務(wù)間的通信。所有的同步對象都有相應(yīng)的創(chuàng)建、等待、發(fā)送的函數(shù)。但這些對象一旦創(chuàng)建就不能刪除,所以要避免創(chuàng)建過多的同步對象以節(jié)約系統(tǒng)資源。QLc6,]

為了消除多次動態(tài)分配與釋放內(nèi)存所引起的內(nèi)存碎片,uC/OS-Ⅱ把連續(xù)的大塊內(nèi)存按分區(qū)來管理。每個分區(qū)中都包含整數(shù)個大小相同的內(nèi)存塊,但不同分區(qū)之間內(nèi)存塊的大小可以不同。用戶需要動態(tài)分配內(nèi)存時(shí),選擇一個適當(dāng)?shù)姆謪^(qū),按塊來分配內(nèi)存。釋放內(nèi)存時(shí)將該塊放回它以前所屬的分區(qū)。這樣,就能有效解決內(nèi)存碎片的問題。Qq.

uC/OS-Ⅱ的大部分代碼是用ANSI C寫成的,只有與處理器硬件相關(guān)的一部分代碼用匯編語言編寫。所以uC/OS-Ⅱ的移植性很強(qiáng),可以在絕大多數(shù)8位、16位、32位微處理器、數(shù)字信號處理器上運(yùn)行。uC/OS-Ⅱ的移植并不復(fù)雜,只要編寫4個匯編語言的函數(shù)、6個C函數(shù)再定義3個宏和1個常量,這些宏和函數(shù)都非常簡單,其中的5個C函數(shù)甚至只需聲明不必包含代碼。用戶可以根據(jù)需要自己編寫移植代碼。uC/OS-Ⅱ的網(wǎng)站上(www.uCOS-II.com)有針對不同微處理器的移植代碼可供下載。目前網(wǎng)站上提供的移植實(shí)例包括Intel公司的80x86、8051、80196等,Motorola公司的PowerPC、68K、CPU32等,TI公司的TMS320系列,Zilog公司的z-80、z-180,還包括Analog Device公司、ARM公司、日立公司、三菱公司、飛利浦公司和西門子公司的各種微處理器。a"WFu

© uC/OS-Ⅱ是在PC機(jī)上開發(fā)的,C編譯器使用的是Borland C/C++ 3.1版,而且PC機(jī)是大家最熟悉的開發(fā)環(huán)境,所以在PC機(jī)上學(xué)習(xí)和使用uC/OS-Ⅱ是非常方便的。uC/OS-Ⅱ的網(wǎng)站上也提供了在PC機(jī)上運(yùn)行uC/OS-Ⅱ的源代碼。但是由于C/C++運(yùn)行庫和DOS本身的限制,在PC上運(yùn)行uC/OS-Ⅱ時(shí)需要注意兩個問題。3y=k1@

第一,由于DOS下的C編譯器提供的運(yùn)行庫沒有考慮多線程應(yīng)用的問題,運(yùn)行庫中的全局變量和部分函數(shù)只適用于單線程。這些變量和函數(shù)包括:errno、_doserrno、strtok、strerror、tmpnam、tmpfile、asctime、gmtime、ecvt、fcvt等。在uC/OS-Ⅱ中使用這些函數(shù)時(shí)要小心,要避免兩個任務(wù)同時(shí)調(diào)用這些函數(shù),或者用信號量同步對這些函數(shù)的調(diào)用。+&i

© 第二,DOS是不能重入的,就是說正在調(diào)用DOS服務(wù)期間,是不能再次調(diào)用DOS的,如果又進(jìn)行了DOS調(diào)用,那么肯定會引起系統(tǒng)崩潰。uC/OS-Ⅱ啟動多任務(wù)后,如果兩個以上的任務(wù)進(jìn)行了DOS調(diào)用或者調(diào)用了需要DOS的C/C++運(yùn)行庫(如:printf、scanf等等),就有可能引起DOS重入。所以在uC/OS-Ⅱ中,可以調(diào)用BIOS或直接操縱硬件,但要盡量減少DOS調(diào)用。如果必須要用DOS,最好只有一個調(diào)用DOS的任務(wù),或者用信號量進(jìn)行同步。.

© uC/OS-Ⅱ作為一個源代碼公開的實(shí)時(shí)嵌入式內(nèi)核,對我們學(xué)習(xí)和使用實(shí)時(shí)操作系統(tǒng)提供了極大的幫助。而uC/OS-Ⅱ自身也因此獲得了快速的發(fā)展,許多開發(fā)者已經(jīng)成功地把uC/OS-Ⅱ應(yīng)用于自己的系統(tǒng)之中。隨著uC/OS-Ⅱ的不斷完善,它必將會有更加廣闊的應(yīng)用空間。[!--empirenews.page--]

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉