欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
分享心得:uCOS2的開發(fā)注意事項
[打印本頁]
作者:
rhcaxiu
時間:
2013-4-7 12:00
標(biāo)題:
分享心得:uCOS2的開發(fā)注意事項
1. 緊急的任務(wù)優(yōu)先,反應(yīng)速度要求快速的,如警報。
2. 完成的快的優(yōu)先
3. 系統(tǒng)中不要經(jīng)常動態(tài)創(chuàng)建和刪除任務(wù),所有任務(wù)在初始化時創(chuàng)建,且優(yōu)先級固定不要動態(tài)的改變。
4. 系統(tǒng)中不要出現(xiàn)同一個優(yōu)先級的多個任務(wù),uCosII不支持round robin 時間輪片調(diào)度。
5. 用信號燈(semaphore)對設(shè)備進行訪問時,OSSemPost(), OSSemPend()要成對出現(xiàn)在同一任務(wù)中,OSSemCreat()創(chuàng)建時初始值要為1。用信號實現(xiàn)任務(wù)同步則不是成對出現(xiàn),而是出現(xiàn)在不同的任務(wù)中。
6. 在中斷中不能用導(dǎo)致任務(wù)阻塞的函數(shù),如OSSemPend, OSMboxPend,OSQPend
而要用OSSemAccept,OSMboxAccept,OSQAccept.
7. 在系統(tǒng)中有大批量數(shù)據(jù)要傳送時,可有消息傳送內(nèi)存指針和數(shù)據(jù)長度,這樣效率更高。
8. 中斷處理函數(shù)的時間要短,一般要小于100微秒,如果中斷處理的時間超過1毫秒就要用很高優(yōu)先級的任務(wù)來處理。
9. 中斷的入口要屏蔽同一中斷,防止再次進入。
10. 系統(tǒng)用多任務(wù)的方式來提升系統(tǒng)速度,任務(wù)分得越細(xì)并行的速度越快,但是任務(wù)越多系統(tǒng)越復(fù)雜,系統(tǒng)堆棧的消耗也越大。
11. 要注意代碼臨界的段的保護。如關(guān)中斷系統(tǒng)服務(wù)OS_ENTER_CRITICAL()& OS_EXIT_CRITICAL(),OSSchedLock ()&OSSchedUnlock ().
12. 當(dāng)系統(tǒng)中有多個任務(wù)要對全局變量進行訪問,就要對全局變量進行保護,在修改前后要用信號燈(Semaphore)或開關(guān)中斷的方法來保護。
13. Volatile 對全局就是保護。如果在一個任務(wù)中要不斷的檢查全局變量的值是否變化,而至少一個任務(wù)或中斷會改變?nèi)肿兞康闹担蔷鸵肅語言關(guān)鍵字Volatile進 行申明,防止編譯器對變量優(yōu)化。在檢查全局變量的值時編譯優(yōu)化會使用變量的一個備份,變量值MOV到了寄存器中。
14. 所有對外部設(shè)備寄存器映射的內(nèi)存地址的訪問都要用C語言關(guān)鍵字Volatile進行保護,防止編譯器進行優(yōu)化處理。
15. 在系統(tǒng)中推薦用中斷的方式作為控制面板和外部設(shè)備的控制方法,這樣系統(tǒng)反應(yīng)速度最快,效率最高。
16. 對系統(tǒng)控制模塊進行分層設(shè)計,把與硬件相關(guān)的內(nèi)容封裝起來,通常統(tǒng)一的接口函數(shù)包括:create(), remove(), open(), close(), read(), write(), ioctrl().
作者:
apingzai
時間:
2017-3-3 16:54
總結(jié)德不錯
作者:
xkf321
時間:
2018-9-4 11:07
感謝總結(jié)
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1