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

正文內(nèi)容

第八講(2)內(nèi)核結(jié)構(gòu)(文件)

2025-08-19 13:24 上一頁面

下一頁面
 

【正文】 uling of ucOS 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 28 void OSCtxSw (void) { PUSH R1, R2, R3 and R4 onto the current stack。 POP R4, R3, R2 and R1 from the new stack。因?yàn)槿蝿?wù)調(diào)度已經(jīng)被禁止,其他任務(wù)不能運(yùn)行,這會(huì)導(dǎo)致系統(tǒng)死鎖。 如果用戶應(yīng)用程序打算使用統(tǒng)計(jì)任務(wù),用戶必須在初始化時(shí)建立一個(gè)唯一的任務(wù),在這個(gè)任務(wù)中調(diào)用OSStatInit()。 } OSIntExit ()通知 μC/OSⅡ 一個(gè)中斷服務(wù)已執(zhí)行完畢,這有助于 μC/OSⅡ 掌握中斷嵌套的情況; 通常 OSIntExit ()和 OSIntEnter ()聯(lián)合使用; 當(dāng)最后一層嵌套的中斷執(zhí)行完畢后,如果有更高優(yōu)先級(jí)的任務(wù)準(zhǔn)備就緒, μC/OSⅡ 會(huì)調(diào)用任務(wù)調(diào)度函數(shù),在這種情況下,中斷返回到更高優(yōu)先級(jí)的任務(wù)而不是被中斷了的任務(wù); 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 37 時(shí)鐘節(jié)拍服務(wù)例程 OSTickISR μC/OS需要用戶提供周期性信號(hào)源,用于實(shí)現(xiàn)時(shí)間延時(shí)和確認(rèn)超時(shí); 節(jié)拍率應(yīng)在每秒 10次到 100次之間,或者說 10到 100Hz; 時(shí)鐘節(jié)拍率越高,系統(tǒng)的額外負(fù)荷就越重; 用戶 必須 在多任務(wù)系統(tǒng)啟動(dòng) 以后 再開啟時(shí)鐘節(jié)拍器 , 也就是在 調(diào)用 OSStart()之后 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 38 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 39 例: OSTickISR的示意代碼 時(shí)鐘節(jié)拍中斷服務(wù)子程序必須用匯編語言編寫,因?yàn)樵贑語言里不能直接處理 CPU的寄存器; 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 40 獲取當(dāng)前 μC/OSⅡ 的版本號(hào) OSVersion() 應(yīng)用程序調(diào)用 OSVersion可以得到當(dāng)前 μC/OSⅡ 的版本號(hào)。 OSTCBList指向這個(gè)鏈表的起始處 OSInit()還初始化了 4個(gè)空數(shù)據(jù)結(jié)構(gòu)緩沖區(qū),如后圖 8所示。在用戶程序中OSStart( )只能被調(diào)用一次。 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 42 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 43 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 44 初始化 OSInit()使用示例: 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 45 μC/OSⅡ 的啟動(dòng) OSStart() OSStart( )啟動(dòng) μC/OSII的多任務(wù)。換言之, 200表示版本號(hào) 。 OSIntNesting++。 空閑任務(wù) OSTaskIdle()什么也不做,只是在不停地給一個(gè) 32位的名叫 OSIdleCtr的計(jì)數(shù)器加 1, 統(tǒng)計(jì)任務(wù) (使用這個(gè)計(jì)數(shù)器以確定現(xiàn)行應(yīng)用軟件實(shí)際消耗的 CPU時(shí)間 。 } OS_TASK_SW() 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 29 Contextswitch in ucOS Data structures before contextswitch 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 30 Contextswitch in ucOS Data structures after saving the contextswitch of current task 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 31 Contextswitch in ucOS Data structures after restoring the contextswitch of high priority task 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 32 調(diào)度器上鎖和開鎖函數(shù) OSSchedlock() /OSSchedUnlock() 調(diào)用 OSSchedLock()函數(shù)的任務(wù)獨(dú)占 CPU,不管有沒有其他高優(yōu)先級(jí)的就緒任務(wù)。 OSTCBCur = OSTCBHighRdy。 /* Increment context switch counter */ OS_TASK_SW()。 not locked */
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1