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