freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ucos嵌入式開發(fā)ppt課件(編輯修改稿)

2025-06-01 18:27 本頁面
 

【文章內(nèi)容簡介】 [ 2][ 3][ 4][ 5][ 6][ 7]O SR dy Tb l [7 ]XY優(yōu)先級最低任務(wù)(空閑任務(wù))優(yōu)先級最高任務(wù)任務(wù)優(yōu)先級號嵌入式操作系統(tǒng) —uC/OS 22 根據(jù)優(yōu)先級確定就緒表 ? 假設(shè)優(yōu)先級為 12的任務(wù)進入就緒狀態(tài) , 12=1 100b,則 OSRdyTbl[1]的第 4位置 1, 且 OSRdyGrp的第 1位置 1, 相應(yīng)的數(shù)學(xué)表達式為 : OSRdyGrp |=0x02; OSRdyTbl[1] |=0x10。 ? 而 優(yōu) 先 級 為 21 的 任 務(wù) 就 緒 21=10 101b , 則OSRdyTbl[2]的第 5位置 1, 且 OSRdyGrp的第 2位置1,相應(yīng)的數(shù)學(xué)表達式為: OSRdyGrp |=0x04; OSRdyTbl[2] |=0x20。 嵌入式操作系統(tǒng) —uC/OS 23 根據(jù)優(yōu)先級確定就緒表 ? 從上面的計算我們可以得到 :若第 n位置 1, 則應(yīng)該與 2n 相或 。 uC/OS中 , 把 2n的 n=07的8個值 先計算好存在數(shù)組 OSMapTbl[7]中 ,也就是: OSMapTbl[0] =20=0x1。 OSMapTbl[1] =21=0x2。 …… OSMapTbl[7] =27=0x80。 嵌入式操作系統(tǒng) —uC/OS 24 根據(jù)優(yōu)先級確定就緒表 ? 利用 OSMapTbl, 通過任務(wù)的識別號 優(yōu)先級 prio來設(shè)置任務(wù)在就緒組和就緒表數(shù)組中相應(yīng)位置的數(shù)學(xué)式為: OSRdyGrp |=OSMapTbl[prio3]。 OSRdyTbl[prio3] |=OSMapTbl[prio amp。 0x07]。 假設(shè)優(yōu)先級為 12, 1 100b OSRdyGrp |=0x02; OSRdyTbl[1] |=0x10。 嵌入式操作系統(tǒng) —uC/OS 25 根據(jù)就緒表確定最高優(yōu)先級( 1) 兩個關(guān)鍵 : ? 優(yōu)先級數(shù)分解為高三位和低三位分別確定; ? 高優(yōu)先級有 著小的優(yōu)先級號 ; 嵌入式操作系統(tǒng) —uC/OS 26 根據(jù)就緒表確定最高優(yōu)先級( 2) ? 通過 OSRdyGrp值確定高 3位,假設(shè)為0x24=100 100b, 〉 OSRdyTbl[2] 和OSRdyTbl[5],高優(yōu)先級為 2 ? 通過 OSRdyTbl[2]的值來確定低 3位, 假設(shè)為 0x12=010 010b , 〉 第 2個和第 5個任務(wù),取高優(yōu)先級第 2個 〉 17 嵌入式操作系統(tǒng) —uC/OS 27 源代碼中使用了查表法 查表法具有確定的時間 , 增加了系統(tǒng)的可預(yù)測性 ,uC/OS中所有的系統(tǒng)調(diào)用時間都是確定的 ? High3 =OSUnMapTbl[OSRdyGrp]。 ? Low3 =OSUnMapTbl[OSRdyTbl[High3]]。 ? Prio =(Hign33)+Low3。 ? 為什么頻繁的使用查表法 ? 請問 OSUnMapTbl的來歷; 嵌入式操作系統(tǒng) —uC/OS 28 INT8U const OSUnMapTbl[] = { 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0 }。 嵌入式操作系統(tǒng) —uC/OS 任務(wù)調(diào)度核心之任務(wù)切換宏OS_TASK_SW() ? 任務(wù)切換很簡單,簡單說就是終止正在運行的任務(wù),然后去運行另外一個任務(wù),這由以下兩步完成,將被掛起任務(wù)的微處理器寄存器推入堆棧,然后將較高優(yōu)先級的任務(wù)的寄存器值從棧中恢復(fù)到寄存器中。在 μC/OSⅡ 中,就緒任務(wù)的棧結(jié)構(gòu)總是看起來跟剛剛發(fā)生過中斷一樣,所有微處理器的寄存器都保存在棧中。換句話說, μC/OSⅡ 運行就緒態(tài)的任務(wù)所要做的一切,只是恢復(fù)所有的 CPU寄存器并運行中斷返回指令。為了做任務(wù)切換,運行OS_TASK_SW(),人為模仿了一次中斷。多數(shù)微處理器有軟中斷指令 SWI或者陷阱指令 TRAP來實現(xiàn)上述操作。中斷服務(wù)子程序或陷阱處理( Trap hardler),也稱作事故處理( exception handler),必須提供中斷向量給匯編語言函數(shù) OSCtxSw()。 OSCtxSw()除了需要 OS_TCBHighRdy指向即將被掛起的任務(wù),還需要讓當(dāng)前任務(wù)控制塊 OSTCBCur指向即將被掛起的任務(wù) 29 嵌入式操作系統(tǒng) —uC/OS 30 任務(wù)間通信手段 ? 提供 OS_ENTER_CRITICAL和 OS_EXIT_CRITICAL來對臨界資源進行保護 ? OSSchedLock( )禁止調(diào)度保護任務(wù)級的共享資源。 ? 提供了經(jīng)典操作系統(tǒng)任務(wù)間通信方法:信號量、郵箱、消息隊列,事件
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1