欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6035|回復: 2
打印 上一主題 下一主題
收起左側

分享心得:uCOS2的開發注意事項

[復制鏈接]
跳轉到指定樓層
樓主
ID:48898 發表于 2013-4-7 12:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
 1.       緊急的任務優先,反應速度要求快速的,如警報。

2.       完成的快的優先

3.       系統中不要經常動態創建和刪除任務,所有任務在初始化時創建,且優先級固定不要動態的改變。

4.       系統中不要出現同一個優先級的多個任務,uCosII不支持round robin 時間輪片調度。

5.       用信號燈(semaphore)對設備進行訪問時,OSSemPost(), OSSemPend()要成對出現在同一任務中,OSSemCreat()創建時初始值要為1。用信號實現任務同步則不是成對出現,而是出現在不同的任務中。

6.       在中斷中不能用導致任務阻塞的函數,如OSSemPend, OSMboxPend,OSQPend

而要用OSSemAccept,OSMboxAccept,OSQAccept.

7.       在系統中有大批量數據要傳送時,可有消息傳送內存指針和數據長度,這樣效率更高。

8.       中斷處理函數的時間要短,一般要小于100微秒,如果中斷處理的時間超過1毫秒就要用很高優先級的任務來處理。
9.       中斷的入口要屏蔽同一中斷,防止再次進入。

10.   系統用多任務的方式來提升系統速度,任務分得越細并行的速度越快,但是任務越多系統越復雜,系統堆棧的消耗也越大。
11.   要注意代碼臨界的段的保護。如關中斷系統服務OS_ENTER_CRITICAL()&    OS_EXIT_CRITICAL(),OSSchedLock ()&OSSchedUnlock ().
12.   當系統中有多個任務要對全局變量進行訪問,就要對全局變量進行保護,在修改前后要用信號燈(Semaphore)或開關中斷的方法來保護。

13.   Volatile 對全局就是保護。如果在一個任務中要不斷的檢查全局變量的值是否變化,而至少一個任務或中斷會改變全局變量的值,那就要用C語言關鍵字Volatile進 行申明,防止編譯器對變量優化。在檢查全局變量的值時編譯優化會使用變量的一個備份,變量值MOV到了寄存器中。

14.   所有對外部設備寄存器映射的內存地址的訪問都要用C語言關鍵字Volatile進行保護,防止編譯器進行優化處理。

15.   在系統中推薦用中斷的方式作為控制面板和外部設備的控制方法,這樣系統反應速度最快,效率最高。

16.   對系統控制模塊進行分層設計,把與硬件相關的內容封裝起來,通常統一的接口函數包括:create(), remove(), open(), close(), read(), write(), ioctrl().

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:66364 發表于 2017-3-3 16:54 | 只看該作者
總結德不錯
回復

使用道具 舉報

板凳
ID:184629 發表于 2018-9-4 11:07 | 只看該作者
感謝總結
回復

使用道具 舉報

無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表