基于MS5與uCOSII的msOS發(fā)布

發(fā)布時(shí)間:2013-1-21 11:40    發(fā)布者:絕對好文
關(guān)鍵詞: RTOS , uCOS
作者:鳳舞天

對很多只具有MCU51,Cortex基礎的網(wǎng)友來(lái)說(shuō),學(xué)習RTOS是一件痛苦的事情,以uCOS為例,博主以前看過(guò)2遍,雖然有些概念,但因為涉及內容較多,理解不深,加上沒(méi)做項目,過(guò)段時(shí)間就忘記了。這次為了做msPLC系統:一種網(wǎng)絡(luò )化PLC,需要解決網(wǎng)絡(luò )通訊,特意引入RTOS實(shí)現任務(wù)分離,所以把目前資料最為廣泛的uCOS與博主自己設計的“實(shí)用單片機系統MS5”結合起來(lái),uCOS具備RTOS的多任務(wù),并且資料豐富,MS5博主自己開(kāi)發(fā)的,最為熟悉,并且在單任務(wù)下代碼簡(jiǎn)潔,功能齊全,尤其是對時(shí)間分割管理、消息機制、界面設計上,都有一定的模式,所以可以理解為基于MS5下,把單任務(wù)變成多任務(wù)處理,比較完美的結合。

uCOS可以認為是比較標準的一種RTOS,就RTOS來(lái)說(shuō),它不算復雜,但對于絕大部分只有單任務(wù)設計經(jīng)驗的嵌入式人員,已經(jīng)足夠復雜,主要有幾點(diǎn)原因:

1、剛接觸RTOS思想,對很多名詞,功能、變量都不熟悉,這些一多就混淆了
2、文件結構、頭文件定義復雜,條件編譯、函數指針、結構體過(guò)多
3、外圍函數過(guò)多,任務(wù)核心不突出

基于以上三點(diǎn),本人以普通嵌入式人員的思維,做以下幾點(diǎn)精簡(jiǎn):

1、去掉一般項目不常用的函數,比如信號量事件(SEM)、開(kāi)關(guān)量事件(MUX)、標記事件(FLAG)、內存管理(MEM),只保留消息郵箱(MBox)和消息隊列(MQ)。
2、精簡(jiǎn)頭文件,按常規寫(xiě)法修改,去掉不必要的條件編譯
3、去掉統計任務(wù)(StatTask)和空閑任務(wù)(IdleTask),系統內部精簡(jiǎn)掉相關(guān)的變量,加入MS5,作為它的IdleTask,設置為最低優(yōu)先級。
4、加入MBox和MQ例子,讓其可以在Keil的Debug的UART1窗口下直接調試模擬。

初學(xué)者基于精簡(jiǎn)版本的uCOS,對照書(shū)本,學(xué)起來(lái)應該更容易,起碼不會(huì )有強烈的排斥心里,在理解了uCOS內核后,再看完整的源碼,就非常容易。

msOS今后將基于MS5為基礎,引入其他免費公開(kāi)的RTOS的一些優(yōu)點(diǎn),比如FreeRTOS和RT-Thread,形成自己的風(fēng)格,避免版權,主要超工業(yè)自動(dòng)化方向進(jìn)化,專(zhuān)注于工業(yè)自動(dòng)化領(lǐng)域。


附件中uCOS.rar為精簡(jiǎn)后的uCOSII

msOS為基于MS5結合精簡(jiǎn)后的uCOS的msOS

msOS.rar (629.29 KB)
uCOS.rar (531.22 KB)

本文地址:http://selenalain.com/thread-109385-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页