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