本人前言:
很久沒有練習(xí)英語了,本想發(fā)點(diǎn)時(shí)間在工作之余,翻譯一下μC/OS III用戶手冊,發(fā)現(xiàn)還是有點(diǎn)吃力,于是乎,參見網(wǎng)絡(luò)上的嘉興學(xué)院的屈環(huán)宇同學(xué)的譯本,謝謝!
前言
做為Micrium 公司推出的第三代操作系統(tǒng), μC/OS III支持現(xiàn)代的實(shí)時(shí)內(nèi)核所期待的大部分功能;
μC/OS III是一個(gè)可裁剪、可固化、基于優(yōu)先級的實(shí)時(shí)內(nèi)核,支持例如資源管理、同步、任務(wù)間的通信等等。同時(shí)μC/OS III也具備一些很有特色的功能,是很多的其他的實(shí)時(shí)內(nèi)核所不具備的,比如完備的實(shí)際測量性能、直接發(fā)送信號或消息到任務(wù)、任何可同時(shí)等待多個(gè)內(nèi)核對象等。
與第二代μC/OS II相比,μC/OS III更加優(yōu)秀,μC/OS III中刪除或更新了μC/OS II中很少使用的一些功能;添加了更高效的功能和服務(wù),比如時(shí)間片輪轉(zhuǎn)調(diào)度(round robin)等,μC/OS II最多支持64個(gè)任務(wù),而μC/OS III在理論上任務(wù)數(shù)量沒有限
第一章
軟實(shí)時(shí)系統(tǒng)和硬實(shí)時(shí)系統(tǒng)的區(qū)別在于一旦沒有在規(guī)定的時(shí)間內(nèi)完 成任務(wù)所導(dǎo)致后果的嚴(yán)重性。超過時(shí)限后所得到的結(jié)果即使正確也可 能是毫無作用的。 硬實(shí)時(shí)系統(tǒng)中,運(yùn)算超時(shí)是不允許發(fā)生的。在很多情況下,超時(shí) 會(huì)導(dǎo)致巨大的災(zāi)難,會(huì)威脅人們的生命安全。但是在軟實(shí)時(shí)系統(tǒng)中, 超時(shí)不會(huì)導(dǎo)致嚴(yán)重后果。
簡單的小型系統(tǒng)設(shè)計(jì)一般是基于前后臺(tái)的或者無限循環(huán)的系統(tǒng)。 包含一個(gè)無限循環(huán)的模塊實(shí)現(xiàn)需要的操作(后臺(tái))。中斷處理程序?qū)?現(xiàn)異步事件(前臺(tái))。前臺(tái)也叫做中斷級,后臺(tái)也叫作任務(wù)級。
量和消息隊(duì)列。
μC/OS III 的目錄和文件:
F2-1(1)應(yīng)用代碼包括與工程、產(chǎn)品相關(guān)文件。為了方便,這些被簡單地叫做APP.C和APP.H。Main()函數(shù)應(yīng)該在APP.C代碼中
F2-1(2)半導(dǎo)體廠家通常會(huì)提供庫函數(shù)以控制那些CPU或MCU的外設(shè)。這些庫非常有用并且高效。因?yàn)閷@些文件沒有規(guī)定。所以假定為*.C,*.H。
F2-1(3)板級支持包通常被用來初始化目標(biāo)板。例如打開或關(guān)閉LED、繼電器、讀取開關(guān)值、讀取溫度傳感器等。
F2-1(4)這些是uC/OS-III的與處理器無關(guān)的代碼。這些代碼都是高度遵循ANSIC標(biāo)準(zhǔn)。
F2-1(5)這些uC/OS-III代碼用于適應(yīng)不同架構(gòu)的CPU,在名為port的文件夾中。uC/OS-III源于uC/OS-II。uC/OS-II能移植成功的,只要稍有改動(dòng)便能移植uC/OS-III。詳見附錄C。
F2-1(6)在Micrium,我們喜歡去總結(jié)CPU的功能。這些包括中斷的使能和除能。CPU_???類型的文件都是獨(dú)立于CPU的,在編譯時(shí)用到,而且可能非常有用。
F2-1(7)uC/LIB是一系列的源文件,提供了常用基本的功能如內(nèi)存拷貝,字符串,ASCII相關(guān)的函數(shù)。一些可以代替編譯器提供的stdlib的功能。這些文件是應(yīng)用與應(yīng)用間,編譯器與編譯器間可移植。uC/OS-III不需要這些文件,但是uC/CPU需要。
F2-1(8)uC/OS-III功能的配置文件(OS_CFG.H)包含在應(yīng)用中,OS_CFG_APP.H定義了uC/OS-III所需的變量類型大小、數(shù)據(jù)的結(jié)構(gòu)、空閑任務(wù)堆棧的大小、時(shí)鐘速率、內(nèi)存池大小等。
應(yīng)用代碼
如果Micrium提供了例子。那么它將被包含在如下的目錄結(jié)構(gòu)。
\Micrium
\Software
\EvalBoards
\
\
\
\
\*.*
\Micrium
這是我們存放軟件或工程的地方,通常位于電腦的根目錄。
\Software
子目錄中是軟件成分。
\EvalBoards
子目錄中包含了評估版的工程。
\
制造商的名字名字中不包括"<"和">"。
\
評估板的名字。Micrium通常命名為uC-Eval-xxxx。用CPU或MCU
類型替代''xxxx''。
\
代碼所用編譯器的名字
\
工程名。例如,uC/OS-III工程會(huì)被命名為"OS-Ex1"。"-Ex1"表明
工程中值包含uC/OS-III。命名為OS-Probe-Ex1表示工程中包含
uC/OS-III和uC/Probe。
\*.*
這些是工程的源文件,main文件可以被命名為APP*.*。目錄中也
包括配置文件OS_CFG.H,OS_CFG_APP.H以及其它需要的源文件。
CPU
在這個(gè)目錄中,你會(huì)找到半導(dǎo)體廠商提供的外設(shè)庫文件。
\Micrium
\*.*
板級支持包(BSP)
板級支持包通常是目標(biāo)器件的特殊配置。實(shí)時(shí)上,寫得好的話,
BSP將適用于多個(gè)工程
\Micrium
\Software
\EvalBoards
\
\
\
\BSP
\*.*
各目錄中有哪些文件都可以參考用戶手冊,加以了解。