貼子發(fā)表于:2008/8/18 15:07:30
最近總有新人在問我要ucos移植的資料,我突發(fā)奇想想寫一點關(guān)于我原來學習ucos的心得,
希望能給新手起到拋磚引玉的作用。
其實學習ucos并不難,只要理解ucos的原理你就會發(fā)現(xiàn)ucos是很簡單的一個kernel了,
可又有什么好的方法來理解ucos的原理呢?難道看《μc/os-II-源碼公開的實時嵌入式操作系統(tǒng)》
.邵貝貝等譯這本書就能一下理解么?我在最早看這本書的時候看了后面忘記了前面,到了最后對
ucos還是一知半解,就連在bc4.5下編譯都不行,幾次下來我學習的勁頭一點也沒了,由于在工作中也不使用,所以就把這個丟到一邊去了。大概過了1年吧,我又對RTOS有了興趣,又開始學習ucos了,這次
我沒有再看《μc/os-II-源碼公開的實時嵌入式操作系統(tǒng)》這本書了,覺得看的再多也不會有很大的幫助了,我在公司找了塊能跑UCOS的板子,剛好這塊板子是AT89C52+32kRAM的,是做解碼器用的,我對C51比較熟悉,所以不會在單片機硬件這塊浪費時間了。我當時的想法就是要學好ucos就必須掌握其原理,所以我就第一步想把ucos移植到我這塊板子上,我移植的方法是把ucos的 kernel文件加到工程中編譯,我先把要用的osstart等與CPU相關(guān)的函數(shù)全部用空函數(shù)替代,然后一步一步地往下修改編譯出來的錯誤,把錯誤全部處理完后,再參考資料把與CPU相關(guān)的函數(shù)用匯編語言補上。大概耗費了我一個星期的時間吧我終于把ucos在51上移植成功了,讓我驚喜的是我也明白了ucos的基本原理,覺得我一個星期的時間比以前看幾次《μc/os-II-源碼公開的實時嵌入式操作系統(tǒng)》這本書更有效果。這幾年我也把ucos移植到了32位的H8/3062,F(xiàn)REESCALE的MC9S08AW60,凌陽的SPCE061等芯片上。去年我自己也寫了個RTOS,這RTOS能管理32個任務,該RTOS支持時間片輪訓和占先式調(diào)度,最主要的是很適合小RAM的芯片上運行,其kernel本身才占用86BYTES的RAM,把該內(nèi)核移植到我的產(chǎn)品中表現(xiàn)相當滿意,性能絕不比ucos 差。
我建議想學習UCOS的人:
1.選好自己最熟悉的單片機,如果完全是新手那就選51吧,原因我就不說了。
2.在自己的芯片上動手移植和調(diào)式UCOS。
我相信只要你是個有心人ucos就是 case 了,就那么簡單。
聯(lián)系客服