μC/OS-Ⅲ是源碼公開的商用嵌入式實時操作系統(tǒng)內(nèi)核,由著名的μC/OS-Ⅱ發(fā)展而來。μC/OS-Ⅲ針對以ARM Cortex為代表的新一代CPU,面向帶有可用于優(yōu)先級查表的硬件指令(如,前導(dǎo)零計算指令)的CPU的嵌入式應(yīng)用。μC/OS-Ⅲ允許利用這類高端CPU的特殊硬件指令來實現(xiàn)高效的任務(wù)調(diào)度算法,而無須使用μC/OS-Ⅲ的軟件任務(wù)調(diào)度算法,而且μC/OS-Ⅲ支持時間片輪轉(zhuǎn)調(diào)度算法。從核心任務(wù)調(diào)度算法的改變來看,μC/OS-Ⅲ已經(jīng)是一個全新的嵌入式RTOS內(nèi)核。從μC/OS算起,該內(nèi)核已有20余年應(yīng)用史,在諸多應(yīng)用領(lǐng)域得到了廣泛的認(rèn)可。
《嵌入式實時操作系統(tǒng)μC/OS-3》在保留對實時操作系統(tǒng)基本概念闡述的基礎(chǔ)上,詳細(xì)講解μC/OS-Ⅲ相比μC/OS-Ⅲ所做的大量擴(kuò)展與改進(jìn),如同時支持時間片輪轉(zhuǎn)調(diào)度算法和基于優(yōu)先級的可剝奪型任務(wù)調(diào)度算法;用系統(tǒng)任務(wù)來處理中斷隊列以縮短關(guān)中斷時間;以時間節(jié)拍任務(wù)來管理時鐘節(jié)拍從而徹底實現(xiàn)硬實時;以直接向任務(wù)發(fā)信號方式簡化任務(wù)間通信與同步等,特別是新增加的在線測試與調(diào)試功能,使應(yīng)用開發(fā)更為方便。《嵌入式實時操作系統(tǒng)μC/OS-3》描述的源代碼以及原文電子書可從Micriμm公司的官方網(wǎng)站上免費下載。
《嵌入式實時操作系統(tǒng)μC/OS-3》可用作高等院校嵌入式實時系統(tǒng)課程或工程師培訓(xùn)的教材,特別是那些以ARM Cortex、PowerPC、MIPS等高端CPU為實驗平臺的教學(xué)課程;也可供嵌入式應(yīng)用開發(fā)人員研究與應(yīng)用。
μC/OS-Ⅲ是什么?
μC/OS-Ⅲ是一個可裁剪、可固化、可剝奪型的實時內(nèi)核,管理任務(wù)的數(shù)目不受限制。μC/OS-Ⅲ是第三代內(nèi)核,可提供現(xiàn)代實時內(nèi)核所能提供的所有服務(wù),如資源管理、任務(wù)間同步、任務(wù)間通信等。然而,μC/OS-Ⅲ還能提供許多其他實時內(nèi)核所沒有的獨特功能,如在系統(tǒng)運行時做性能測試,向任務(wù)直接發(fā)信號量或消息,以及同時等待多個內(nèi)核對象等。為什么要出新版的μC/OS?
μC/OS系列實時內(nèi)核最早于1992年推出,經(jīng)過這么多年,根據(jù)成千上萬μC/OS用戶的反饋意見已經(jīng)做了大量的改進(jìn)。
μC/OS-Ⅲ是用戶反饋意見和設(shè)計者經(jīng)驗的融合。μC/OS-Ⅲ摒棄了μC/OS-Ⅲ中那些很少使用的功能,而增加了一些新的、更有效的功能和服務(wù)。也許用戶最一致的要求就是增加時間片輪轉(zhuǎn)調(diào)度,這在μC/OS-Ⅲ中是不可能做到的,而現(xiàn)在它已成為μC/OS-Ⅲ的一個新功能。μC/OS-Ⅲ還提供了一些其他的功能,使當(dāng)今一些新處理器的能力得到更好的發(fā)揮。μC/OS-Ⅲ是針對32位處理器開發(fā)和設(shè)計的,當(dāng)然,它依然能很好地支持16位處理器,甚至一些8位處理器。這本書有哪些新內(nèi)容?μC/OS-Ⅲ一書主要講述μC/OS-Ⅱ產(chǎn)品自身,而對實時操作系統(tǒng)(RTOS)只做了簡單的介紹。
Jean Labrosse,Jean Labrosse于1999年創(chuàng)立了Micriμm公司,他經(jīng)常為波土頓和硅谷的嵌入式系統(tǒng)大會以及其他行業(yè)的會議提供講座和報告。同時,他是兩本嵌入式設(shè)計經(jīng)典書籍的作者:μC/OS-ⅡThe Real-Time Kerne和Embedded Systems Building Blocks,Complete and Ready-to-UseModules in C.Jean Labrosse先生在加拿大魁北克省舍布魯克大學(xué)獲得電子工程學(xué)土學(xué)位和碩士學(xué)位。
本書翻譯團(tuán)隊屬清華大學(xué)工程物理系核系統(tǒng)控制與應(yīng)用教研室,主要研究領(lǐng)域包括嵌入式系統(tǒng)、核電子學(xué)、數(shù)字電路等。2000年,該團(tuán)隊將實時內(nèi)核μC/OS介紹到國內(nèi),先后翻譯出版了《嵌入式實時操作系統(tǒng)μC/OS-Ⅱ》及其第2版,積極倡導(dǎo)并促進(jìn)實時內(nèi)核在同內(nèi)嵌入式領(lǐng)域的推廣和應(yīng)用。團(tuán)隊自1994年開始開展飛思卡爾系列微控制器的科研、教學(xué)和培訓(xùn)工作,其系列教材和配套教輔設(shè)備被國內(nèi)多所高校采用。結(jié)合自身專業(yè)特點,團(tuán)隊針對分布式同步控制、高可靠安全控制、高速數(shù)據(jù)采集、微弱信號測量等技術(shù)開展了長期研究,并在歐洲核子中心的LHCb試驗、大亞灣中微子試驗等大型科學(xué)試驗以及列車信號自動控制等場合取得實際應(yīng)用。在翻譯團(tuán)隊的照片中,前排左起依次為曾鳴、宮輝、邵貝貝、龔光華、杜強,后排左起依次為呂海艇、薛濤、潘維濱、黃土琛、諶浦江、岳曉光。
第1章 概述
1.1 前后臺系統(tǒng)
1.2 實時內(nèi)核
1.3 RTOS(實時操作系統(tǒng))
1.4 μC/OS-Ⅲ
1.5 μC/OS、μC/OS-Ⅱ、μC/OS-Ⅲ特性比較
1.6 關(guān)于本書
1.7 μC/Probe調(diào)試軟件工具
1.8 本書的常用約定
1.9 各章內(nèi)容
第2章 目錄與文件
2.1 應(yīng)用代碼
2.2 CPU
2.3 板級支持包(BSP)
2.4 μC/OS-Ⅲ與CPU無關(guān)的源代碼
2.5 μC/OS-Ⅲ與CPU相關(guān)的源代碼
2.6 μC/CPU與CPU相關(guān)的源代碼
2.7 μC/LIB可移植的庫函數(shù)
2.8 小結(jié)
第3章 初識μC/OS-Ⅲ
3.1 單任務(wù)應(yīng)用程序
3.2 有內(nèi)核對象參與的多任務(wù)應(yīng)用程序
第4章 臨界段代碼
4.1 關(guān)中斷
4.1.1 測量中斷關(guān)閉時間
4.2 給調(diào)度器上鎖
4.2.1 測量調(diào)度器鎖定時間
4.3 μC/OS-Ⅲ的某些功能會導(dǎo)致臨界段代碼長度增加
4.4 小結(jié)
第5章 任務(wù)管理
5.1 任務(wù)優(yōu)先級的分配
5.2 ?臻g大小的確定
5.3 任務(wù)棧溢出檢測
5.4 任務(wù)管理函數(shù)
5.5 任務(wù)管理的內(nèi)部原理
5.5.1 任務(wù)狀態(tài)
5.5.2 任務(wù)控制塊TCB
5.6 系統(tǒng)內(nèi)部任務(wù)
5.6.1 空閑任務(wù)(OS_IdleTask()、os_core.c)
5.6.2 時鐘節(jié)拍任務(wù)(OS_TickTask()、os_tick.c)
5.6.3 統(tǒng)計任務(wù)(OS_StatTask()、os_stat.c)
5.6.4 定時任務(wù)(OS_TmrTask()、os_tmr.c)
5.6.5 中斷服務(wù)管理任務(wù)(OS_IntQTask()、os_int.c)
5.7 小結(jié)
第6章 任務(wù)就緒表,
6.1 優(yōu)先級
6.2 就緒任務(wù)列表
6.3 向就緒任務(wù)列表中增加任務(wù)
6.4 小結(jié)
第7章 任務(wù)調(diào)度
7.1 可剝奪型調(diào)度
7.2 調(diào)度點
7.3 時間片輪轉(zhuǎn)調(diào)度
7.4 調(diào)度的實現(xiàn)細(xì)節(jié)
7.4.1 0SSched()
7.4.2 0SIntExit()
7.4.3 0S_SchedRoundRobin()
7.5 小結(jié)
第8章 任務(wù)切換,
8.1 0SCtxSw()
8.2 0SIntCtxSw()
……
第9章 中斷管理
第10章 任務(wù)掛起表
第11章 時間管理
第12章 定時器管理
第13章 資源管理
第14章 任務(wù)同步
第15章 消息傳遞
第16章 同時等待多個內(nèi)核對象
第17章 存儲管理
第18章 移植μC/OS-Ⅲ
第19章 程序運行時的各類統(tǒng)計信息
附錄A μC/OS-Ⅲ參考手冊
附錄BμC/OS-Ⅲ配置手冊
附錄C 從μC/OS-Ⅱ遷移到μC/OS-Ⅲ
附錄D MISRA-C:2004μC/OS-Ⅲ
附錄E 參考文獻(xiàn)
附錄F μC/OS-Ⅲ許可政策