




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
嵌入式系統(tǒng)教學(xué)課件:uCOS-II代碼總結(jié)與深入剖析揭秘嵌入式實(shí)時(shí)操作系統(tǒng)核心掌握多任務(wù)管理精髓什么是嵌入式系統(tǒng)?定義特點(diǎn)專用功能計(jì)算機(jī)系統(tǒng)硬件受限資源實(shí)時(shí)性要求高應(yīng)用領(lǐng)域智能手機(jī)醫(yī)療設(shè)備汽車電子技術(shù)特征低功耗設(shè)計(jì)高可靠性u(píng)C/OS-II的概述開源特性源代碼可閱讀商業(yè)認(rèn)證FDA認(rèn)證支持廣泛應(yīng)用支持多種處理器教學(xué)價(jià)值學(xué)習(xí)與剖析目標(biāo)精通調(diào)度原理掌握核心算法代碼架構(gòu)理解明晰模塊關(guān)系調(diào)試能力提升解決復(fù)雜問題系統(tǒng)開發(fā)實(shí)踐uC/OS-II的整體架構(gòu)應(yīng)用層用戶任務(wù)與應(yīng)用程序系統(tǒng)服務(wù)層信號(hào)量、郵箱、隊(duì)列核心層任務(wù)調(diào)度與切換硬件抽象層核心任務(wù)調(diào)度機(jī)制優(yōu)先級(jí)調(diào)度固定優(yōu)先級(jí)設(shè)計(jì)就緒表管理OSRdyTbl記錄就緒任務(wù)任務(wù)切換調(diào)用OS_TASK_SW函數(shù)上下文保存系統(tǒng)時(shí)間管理模塊時(shí)鐘節(jié)拍OS_TICKS記錄系統(tǒng)節(jié)拍數(shù)延時(shí)函數(shù)OSTimeDly實(shí)現(xiàn)任務(wù)延時(shí)定時(shí)器任務(wù)周期性執(zhí)行系統(tǒng)事件超時(shí)處理多任務(wù)管理的實(shí)現(xiàn)OS_TCB成員功能說明OSTCBStkPtr任務(wù)堆棧指針OSTCBPrio任務(wù)優(yōu)先級(jí)OSTCBStat任務(wù)狀態(tài)OSTCBDly中斷處理機(jī)制中斷禁止OS_ENTER_CRITICAL關(guān)中斷中斷恢復(fù)OS_EXIT_CRITICAL開中斷中斷嵌套支持多級(jí)中斷處理中斷優(yōu)先級(jí)內(nèi)核對(duì)象和同步機(jī)制信號(hào)量任務(wù)同步與互斥郵箱單消息傳遞隊(duì)列多消息緩沖區(qū)uC/OS-II中的內(nèi)存管理內(nèi)存控制塊OS_MEM結(jié)構(gòu)定義鏈表管理內(nèi)存塊固定大小分配內(nèi)存分配函數(shù)OSMemCreate創(chuàng)建內(nèi)存分區(qū)OSMemGet申請內(nèi)存塊OSMemPut釋放內(nèi)存塊代碼模塊:OS_CFG系統(tǒng)配置最大任務(wù)數(shù)量定義功能開關(guān)模塊功能啟用控制時(shí)鐘節(jié)拍OS_TICKS_PER_SEC設(shè)置堆棧配置OS_TASK_STK_SIZE定義代碼模塊:OS_CORE核心模塊實(shí)現(xiàn)系統(tǒng)初始化管理任務(wù)就緒隊(duì)列提供關(guān)鍵調(diào)度算法代碼模塊:OS_TASK任務(wù)創(chuàng)建OSTaskCreate分配OS_TCB初始化任務(wù)棧設(shè)置任務(wù)狀態(tài)為就緒任務(wù)刪除OSTaskDel移除任務(wù)釋放OS_TCB資源更新就緒表任務(wù)掛起OSTaskSuspend暫停任務(wù)修改任務(wù)狀態(tài)不釋放資源代碼模塊:OS_TIME1ms時(shí)鐘精度典型系統(tǒng)節(jié)拍精度65535最大延時(shí)OSTimeDly最大節(jié)拍數(shù)4相關(guān)函數(shù)OSTimeDly/OSTimeDlyHMSM等代碼模塊:OS_SEM實(shí)現(xiàn)復(fù)雜度使用頻率代碼模塊:OS_MBOX創(chuàng)建郵箱OSMboxCreate初始化發(fā)送消息OSMboxPost存入指針接收消息OSMboxPend等待獲取刪除郵箱OSMboxDel釋放資源代碼模塊:OS_Q隊(duì)列結(jié)構(gòu)OS_Q定義隊(duì)列控制塊OSQStart指向隊(duì)首OSQEnd指向隊(duì)尾OSQSize定義隊(duì)列容量隊(duì)列操作OSQCreate創(chuàng)建隊(duì)列OSQPost發(fā)送消息OSQPend等待消息OSQFlush清空隊(duì)列代碼模塊:OS_FLAG_GROUP1標(biāo)志組定義事件組控制多任務(wù)同步2位操作函數(shù)OSFlagPost設(shè)置或清除標(biāo)志位3等待機(jī)制OSFlagPend等待標(biāo)志位變化4邏輯操作AND/OR條件控制任務(wù)阻塞代碼模塊:OS_MEMORY內(nèi)存創(chuàng)建劃分固定大小內(nèi)存塊內(nèi)存獲取申請空閑內(nèi)存塊內(nèi)存歸還釋放使用完的內(nèi)存內(nèi)存查詢檢查內(nèi)存分區(qū)狀態(tài)關(guān)鍵點(diǎn):任務(wù)優(yōu)先級(jí)管理固定優(yōu)先級(jí)創(chuàng)建任務(wù)時(shí)指定優(yōu)先級(jí)不支持動(dòng)態(tài)調(diào)整優(yōu)先級(jí)范圍0為最高優(yōu)先級(jí)OS_LOWEST_PRIO為最低搶占機(jī)制高優(yōu)先級(jí)立即搶占調(diào)度器確保高優(yōu)先級(jí)先執(zhí)行關(guān)鍵點(diǎn):OS_TCB結(jié)構(gòu)關(guān)鍵成員OSTCBStkPtr:堆棧指針OSTCBPrio:優(yōu)先級(jí)OSTCBStat:任務(wù)狀態(tài)OSTCBDly:延時(shí)時(shí)間鏈表管理OSTCBNext:下一任務(wù)指針OSTCBPrev:前一任務(wù)指針雙向鏈表便于插入刪除關(guān)鍵點(diǎn):uC/OS-II初始化過程系統(tǒng)變量初始化OSInit清零全局變量任務(wù)控制塊初始化創(chuàng)建空閑任務(wù)鏈表空閑任務(wù)創(chuàng)建OS_TaskIdle最低優(yōu)先級(jí)任務(wù)啟動(dòng)系統(tǒng)OSStart開始任務(wù)調(diào)度關(guān)鍵點(diǎn):時(shí)鐘節(jié)拍與事件驅(qū)動(dòng)時(shí)鐘中斷硬件定時(shí)器觸發(fā)1OSTimeTick系統(tǒng)節(jié)拍計(jì)數(shù)更新2延時(shí)任務(wù)處理檢查延時(shí)任務(wù)是否到期3任務(wù)調(diào)度必要時(shí)觸發(fā)任務(wù)切換4關(guān)鍵點(diǎn):中斷無阻塞原則禁止中斷場景最大禁止時(shí)間更新就緒表極短(幾個(gè)指令)修改關(guān)鍵變量短(十幾個(gè)指令)任務(wù)切換準(zhǔn)備短(保存上下文)中斷服務(wù)例程盡可能短(無阻塞)關(guān)鍵點(diǎn):任務(wù)狀態(tài)管理就緒態(tài)運(yùn)行態(tài)延時(shí)阻塞等待信號(hào)量其他阻塞關(guān)鍵點(diǎn):堆??臻g分配堆棧大小確定根據(jù)任務(wù)復(fù)雜度估算考慮函數(shù)調(diào)用嵌套深度預(yù)留安全余量棧溢出檢測棧底填充特定模式周期檢查模式是否被破壞溢出時(shí)觸發(fā)安全處理關(guān)鍵點(diǎn):代碼移植性處理器相關(guān)代碼任務(wù)切換匯編實(shí)現(xiàn)編譯器適配數(shù)據(jù)類型定義調(diào)整時(shí)鐘配置時(shí)鐘中斷設(shè)置與處理OS_CPU.C/H文件集中實(shí)現(xiàn)平臺(tái)相關(guān)代碼應(yīng)用實(shí)例:生產(chǎn)監(jiān)控系統(tǒng)溫度采集高優(yōu)先級(jí)周期任務(wù)壓力監(jiān)測中優(yōu)先級(jí)采樣任務(wù)數(shù)據(jù)顯示低優(yōu)先級(jí)更新界面應(yīng)用實(shí)例:智能家居控制燈光控制使用事件標(biāo)志觸發(fā)控制溫控系統(tǒng)定時(shí)任務(wù)采集與調(diào)節(jié)門禁管理信號(hào)量控制互斥訪問遠(yuǎn)程監(jiān)控消息隊(duì)列傳輸狀態(tài)數(shù)據(jù)應(yīng)用實(shí)例:機(jī)器人控制傳感器數(shù)據(jù)采集高優(yōu)先級(jí)任務(wù)實(shí)時(shí)響應(yīng)環(huán)境變化路徑規(guī)劃算法中優(yōu)先級(jí)任務(wù)計(jì)算最優(yōu)運(yùn)動(dòng)軌跡電機(jī)控制執(zhí)行高優(yōu)先級(jí)任務(wù)精確控制運(yùn)動(dòng)參數(shù)狀態(tài)監(jiān)控與通信低優(yōu)先級(jí)任務(wù)記錄系統(tǒng)運(yùn)行狀態(tài)uC/OS-II的優(yōu)勢與不足優(yōu)勢代碼簡潔易讀實(shí)時(shí)性能優(yōu)秀移植性好占用資源少不足缺少動(dòng)態(tài)優(yōu)先級(jí)無文件系統(tǒng)網(wǎng)絡(luò)支持有限無內(nèi)存保護(hù)開發(fā)調(diào)試:常見問題解析死鎖問題檢查信號(hào)量獲取順序避免嵌套等待資源設(shè)置合理超時(shí)時(shí)間棧溢出增加任務(wù)棧大小減少局部變量使用開啟棧檢查功能優(yōu)先級(jí)反轉(zhuǎn)使用互斥信號(hào)量合理規(guī)劃任務(wù)優(yōu)先級(jí)控制關(guān)鍵區(qū)代碼長度開發(fā)調(diào)試:任務(wù)執(zhí)行時(shí)間分析最佳實(shí)踐:內(nèi)存使用優(yōu)化靜態(tài)分配優(yōu)先避免動(dòng)態(tài)內(nèi)存碎片及時(shí)釋放資源確保配對(duì)調(diào)用內(nèi)存函數(shù)數(shù)據(jù)結(jié)構(gòu)優(yōu)化緊湊設(shè)計(jì)減少內(nèi)存占用內(nèi)存使用監(jiān)控定期檢查內(nèi)存使用情況最佳實(shí)踐:API使用流程1系統(tǒng)初始化OSInit后創(chuàng)建系統(tǒng)任務(wù)資源創(chuàng)建先創(chuàng)建同步對(duì)象再啟動(dòng)任務(wù)任務(wù)創(chuàng)建高優(yōu)先級(jí)任務(wù)先創(chuàng)建系統(tǒng)啟動(dòng)OSStart啟動(dòng)多任務(wù)調(diào)度最佳實(shí)踐:事件同步機(jī)制信號(hào)量簡單同步與互斥適合多任務(wù)訪問共享資源任務(wù)與ISR可通信消息隊(duì)列多消息傳遞支持先進(jìn)先出順序消息大小為指針事件標(biāo)志組多條件同步支持AND/OR邏輯適合多事件觸發(fā)場景性能分析工具集成任務(wù)時(shí)序分析可視化任務(wù)執(zhí)行時(shí)間線CPU負(fù)載統(tǒng)計(jì)實(shí)時(shí)監(jiān)控系統(tǒng)資源使用內(nèi)存使用跟蹤檢測內(nèi)存分配與釋放代碼優(yōu)化:高優(yōu)先級(jí)策略優(yōu)化調(diào)度器減少位操作復(fù)雜度縮短臨界區(qū)最小化關(guān)中斷時(shí)間減少上下文切換避免頻繁掛起高優(yōu)先級(jí)任務(wù)內(nèi)聯(lián)關(guān)鍵函數(shù)減少函數(shù)調(diào)用開銷代碼優(yōu)化:任務(wù)剖析64最大任務(wù)數(shù)典型系統(tǒng)配置20%切換開銷任務(wù)切換占CPU時(shí)間8最佳任務(wù)數(shù)一般應(yīng)用建議2關(guān)鍵優(yōu)化點(diǎn)調(diào)度與同步機(jī)制在實(shí)際產(chǎn)品中應(yīng)用uC/OS-II適合資源受限設(shè)備實(shí)時(shí)性要求高的場景需要高可靠性的系統(tǒng)市場趨勢與研究方向智能邊緣計(jì)算低功耗AI處理2多核架構(gòu)支持并行任務(wù)處理功能安全認(rèn)證ISO26262等標(biāo)準(zhǔn)超低功耗設(shè)計(jì)電池供電設(shè)備優(yōu)化最新uC/OS升級(jí)版本內(nèi)容μC/OS-III新特性無限優(yōu)先級(jí)任務(wù)輪詢調(diào)度支持同優(yōu)先級(jí)任務(wù)時(shí)間片內(nèi)核對(duì)象擴(kuò)展更多種類同步機(jī)制4向下兼容性老代碼少量修改即可使用知識(shí)圖譜:uC/OS-II全景核心模塊任務(wù)調(diào)度與管理1服務(wù)層同步與通信機(jī)制2應(yīng)用接口用戶任務(wù)與API3硬件抽象處理器相關(guān)代碼4實(shí)踐與挑戰(zhàn)理解核心概念熟悉多任務(wù)與調(diào)度原理掌握關(guān)鍵數(shù)據(jù)結(jié)構(gòu)構(gòu)建簡單工程選擇適合的開發(fā)板創(chuàng)建多任務(wù)示例程序?qū)崿F(xiàn)實(shí)際項(xiàng)目運(yùn)用同步通信機(jī)制解決復(fù)雜調(diào)度問題優(yōu)化提升系統(tǒng)改進(jìn)代碼執(zhí)行效率增強(qiáng)系統(tǒng)穩(wěn)定性學(xué)術(shù)研究與參考文獻(xiàn)參考類型代表作品官方教材《MicroC/OS-II:實(shí)時(shí)內(nèi)核》研究論文《基于uC/OS-II的嵌入式系統(tǒng)優(yōu)化》實(shí)驗(yàn)教程《uC/OS-II原理與實(shí)踐》代碼解析《深入理解uC/OS-II源代碼》使用uC/OS-II的經(jīng)典產(chǎn)品醫(yī)療監(jiān)護(hù)設(shè)備高可靠性生命體征監(jiān)測航空電子系統(tǒng)精確控制與導(dǎo)航工業(yè)控制器實(shí)時(shí)響應(yīng)生產(chǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 參考初中英語詞匯教學(xué)的實(shí)踐研究結(jié)題報(bào)告
- 新教科版小學(xué)三年級(jí)科學(xué)課題研究計(jì)劃
- 快速消費(fèi)品銷售總經(jīng)理崗位職責(zé)
- 溫州汽車尼龍管路項(xiàng)目可行性研究報(bào)告
- 冬季水利設(shè)施安全評(píng)估措施
- 機(jī)場餐飲計(jì)劃書
- 金融服務(wù)類創(chuàng)業(yè)計(jì)劃書范文
- 安徽可行性研究報(bào)告范文
- 二年級(jí)下冊課外拓展學(xué)習(xí)計(jì)劃
- 2025年中國聚酰胺制非泡沫塑料板項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 護(hù)理風(fēng)險(xiǎn)評(píng)估及填寫要求
- 《中興通訊績效管理制度》-人事制度表格【管理資料】
- 微邦生物技術(shù)生活污水處理中的應(yīng)用
- 鐵路工務(wù)技術(shù)手冊
- (完整版)硬件測試規(guī)范
- 2006年工資標(biāo)準(zhǔn)及套改對(duì)應(yīng)表
- DBJ∕T 13-183-2014 基樁豎向承載力自平衡法靜載試驗(yàn)技術(shù)規(guī)程
- 張雙樓煤礦安全評(píng)價(jià)報(bào)告(出版稿10.14)
- [模板]健康教育處方
- 婦產(chǎn)科英語詞匯
- 病媒生物密度監(jiān)測方法 蜚蠊
評(píng)論
0/150
提交評(píng)論