網(wǎng)上轉(zhuǎn)載的Small RTOS(51) 1.12.1v 說明文件
編寫動(dòng)機(jī):
就像在嵌入系統(tǒng)中使用C語言替代匯編一樣,在嵌入系統(tǒng)中使用RTOS是大勢(shì)所趨。原因主要是現(xiàn)在在大多數(shù)情況下編程效率比執(zhí)行效率重要(單片機(jī)便宜嘛)。但縱觀51的RTOS,keil c51 所帶的RTX Full 太大(6k多),且需要外部ram,又無源代碼,很多時(shí)候不實(shí)用。RTX Tiny雖然。900多字節(jié)),但是任務(wù)沒有優(yōu)先級(jí)和中斷管理,也無源代碼,也不太實(shí)用。而ucosII雖有源代碼,但是它太大,又需要外部ram,所有函數(shù)又必須是重入函數(shù),用在51這類小片內(nèi)RAM的單片機(jī)上有點(diǎn)勉強(qiáng)。于是,我借鑒ucosII和RTX Tiny編寫了Small RTOS 51,雖然它為51系列編寫,但是它還是比較容易移植到其它CPU上。
版本號(hào)定義方式:
a.bc.d
a:主版本號(hào),一般重大改變時(shí)改變它。
bc:次便本號(hào),一般功能增加時(shí)改變它。
d:同一版本的修訂序號(hào)。
版本升級(jí):
1.12.1版 2003年2月5日
修正OS_MAX_TASKS為8、16時(shí)的bug。同時(shí)修正一些小bug。
1.12.0版 2003年1月24日
OS_MAX_TASKS就是用戶任務(wù)數(shù)量。同時(shí)修正一些小bug。
1.11.0版 2002年12月2日
各個(gè)任務(wù)具有自己的關(guān)中斷計(jì)數(shù)器,不在互相影響(這意味著如果一個(gè)任務(wù)在任務(wù)放棄CPU前關(guān)了中斷,當(dāng)它再次進(jìn)入運(yùn)行態(tài)時(shí)中斷還是關(guān)的)。優(yōu)先級(jí)最低的任務(wù)作為系統(tǒng)保留任務(wù)不再需要用戶編寫,同時(shí)節(jié)約一些內(nèi)存。增加一些注釋。更正在Keil C51下Memory Model為非Small 模式的Bug。
1.10.5版 2002年10月26日
更正許多小Bug。
1.10.4版 2002年10月6日
合并Os_cpu_a.asm和OS_CPU_A_task16.ASM。統(tǒng)一了一下代碼風(fēng)格
1.10.3版 2002年9月16日
修改了Os_cpu_a.asm和OS_CPU_A_task16.ASM的LoadCtx代碼使之執(zhí)行更快,代碼更小
1.10.2版 2002年9月9日
更正OSWait()的Bug,在極端情況下,這個(gè)Bug可能造成可能鎖死任務(wù)。
修改OSQIntPost()的Keil C51特殊代碼,它會(huì)造成閱讀障礙。
1.10.1版 2002年9月4日
更正OSTimeTick的Bug,它在keil c51中不會(huì)有問題,但移植的其它系統(tǒng)可能出錯(cuò)。
1.10版 2002年9月1日
增加Small RTOS 對(duì)消息隊(duì)列(簡(jiǎn)化的)和信號(hào)量的支持;改變了開關(guān)中斷的方式;增加可移植的變量定義;修正一些Bug。
1.00版 2002年6月20日
使用戶可以進(jìn)行更多的配置,可以禁止中斷管理,51系列支持軟的非屏蔽中斷,并調(diào)整目錄結(jié)構(gòu)等.
0.60版 2002年5月10日
修改OS_CORE.c使之在keil c51可以重入。不再需要禁止覆蓋分析。
0.52版 2002年5月9日
用戶手冊(cè)增加for keil c51的一些說明。
更正函數(shù)OSWait的返回值錯(cuò)誤。
更正for keil c51 移植的堆棧在某種情況下初始值錯(cuò)誤。
0.51版 2002年3月10日
修改函數(shù)OSWait使其占用資源更少,兼容性更好。
更正for keil c51 移植的C_OSCtxSw函數(shù)的錯(cuò)誤。
0.50版 2002年2月22日
0.png (45.02 KB, 下載次數(shù): 122)
下載附件
2018-6-18 03:28 上傳
全部資料51hei下載地址:
small_rtos51.rar
(368.58 KB, 下載次數(shù): 217)
2018-6-17 20:57 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|