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

正文內(nèi)容

嵌入式系統(tǒng)及應(yīng)用-文庫吧資料

2024-10-25 17:02本頁面
  

【正文】 (10) uC/OS的 Interrupts處理 void OSIntEnter (void) { OS_ENTER_CRITICAL()。 (8) 恢 復(fù) 所有寄存器 。 (5) 重新 開 中 斷 (6) 執(zhí) 行用 戶 代 碼 做中 斷 服 務(wù) 。 (2) /*OSIntNesting跟蹤中 斷 嵌套 層數(shù) */ if (OSIntNesting = = 1) { (3) OSTCBCurOSTCBStkPtr = SP。 33 電子科技大學(xué)嵌入式軟件工程中心 YourISR: 保存全部 CPU寄存器 。 ? 如果實(shí)時(shí)內(nèi)核沒有提供單獨(dú)的 中斷棧 ,就需要為任務(wù)棧留出足夠的空間,不但要考慮通常的 函數(shù)嵌套調(diào)用 ,還需要滿足 中斷嵌套 的需要。 – 在系統(tǒng)中開辟一個(gè)單獨(dú)的中斷棧,為所有中斷服務(wù)程序所共享。 – 在允許中斷嵌套處理的情況下,如果中斷嵌套層次過多,中斷服務(wù)程序所占用的任務(wù)的??臻g可能比較大,將導(dǎo)致任務(wù)棧溢出。 31 電子科技大學(xué)嵌入式軟件工程中心 實(shí)時(shí)內(nèi)核的中斷管理 ? 在允許中斷嵌套的情況下,在執(zhí)行中斷服務(wù)程序的過程中,如果出現(xiàn)高優(yōu)先級的中斷: – 當(dāng)前中斷服務(wù)程序的執(zhí)行將被打斷,以執(zhí)行高優(yōu)先級中斷 的中斷服務(wù)程序; – 當(dāng)高優(yōu)先級中斷的處理完成后,被打斷的中斷服務(wù)程序才又得到繼續(xù)執(zhí)行; – 發(fā)生中斷嵌套時(shí),如果需要進(jìn)行任務(wù)調(diào)度,任務(wù)的調(diào)度將延遲到最外層中斷處理結(jié)束時(shí)才能發(fā)生。 ? 如果需要在用戶中斷服務(wù)程序中使用關(guān)于 浮點(diǎn)運(yùn)算 的操作,中斷前導(dǎo)和中斷后續(xù)中還需要分別對浮點(diǎn)上下文進(jìn)行保存和恢復(fù)。 – 中斷處理后續(xù) :實(shí)現(xiàn)中斷返回前需要處理的工作,主要包括恢復(fù)寄存器和堆棧,并從中斷服務(wù)程序返回到被中斷的程序。 中斷向量號 0 物理中斷向量表 中斷向量號 1 中斷向量號 2 中斷向量號 3 …… 中斷向量號 n 中斷接管程序 中斷向量號 0 虛擬中斷向量表 中斷向量號 1 中斷向量號 2 中斷向量號 3 …… 中斷向量號 m 用戶中斷服務(wù)程序 0 用戶中斷服務(wù)程序 1 用戶中斷服務(wù)程序 2 用戶中斷服務(wù)程序 3 用戶中斷服務(wù)程序 m 用戶中斷服務(wù)程序 29 電子科技大學(xué)嵌入式軟件工程中心 實(shí)時(shí)內(nèi)核的中斷管理 ? 中斷接管程序負(fù)責(zé)中斷處理的前導(dǎo)和后續(xù)部分的內(nèi)容。 – 硬件中斷發(fā)生后,中斷接管程序獲得控制權(quán),先由中斷接管程序進(jìn)行處理,然后才將控制權(quán)交給相應(yīng)的用戶中斷服務(wù)程序。 – 中斷后續(xù): ?恢復(fù)中斷現(xiàn)場,退出中斷處理。 26 電子科技大學(xué)嵌入式軟件工程中心 程序 高優(yōu)先級中斷服務(wù)程序 B 中斷服務(wù)程序 A 中斷的嵌套處理 27 電子科技大學(xué)嵌入式軟件工程中心 實(shí)時(shí)內(nèi)核的中斷管理 ? 中斷服務(wù)程序通常包括三個(gè)方面的內(nèi)容: – 中斷前導(dǎo): ?保存中斷現(xiàn)場,進(jìn)入中斷處理。 ? 高優(yōu)先級中斷 請求到達(dá)的時(shí)候,需要對當(dāng)前中斷服務(wù)程序的狀態(tài)進(jìn)行保存,然后調(diào)用高優(yōu)先級中斷的服務(wù)程序。 ? 沒有考慮優(yōu)先級,使 高優(yōu)先級中斷 不能得到及時(shí)的處理,甚至導(dǎo)致 中斷丟失 。 – 如果程序執(zhí)行過程中發(fā)生了中斷,在執(zhí)行中斷服務(wù)程序的時(shí)候?qū)⒔怪袛啵? – 中斷服務(wù)程序執(zhí)行完成后,恢復(fù)正常執(zhí)行流程被中斷的程序之前再使能中斷,并由處理器檢查是否還有中斷。 23 電子科技大學(xué)嵌入式軟件工程中心 非嵌套的中斷處理方式 ? 處理中斷的時(shí)候,將 屏蔽 所有其他的中斷請求。 – 非嵌套的中斷處理方式 :在處理一個(gè)中斷的時(shí)候,禁止再發(fā)生中斷。 21 電子科技大學(xué)嵌入式軟件工程中心 中斷處理 ? 中斷服務(wù)程序的主要內(nèi)容: – 保存上下文:保存中斷服務(wù)程序?qū)⒁褂玫?所有寄存器的內(nèi)容 ,以便于在退出中斷服務(wù)程序之前進(jìn)行恢復(fù); – 如果中斷向量被多個(gè)設(shè)備所共享,為了確定產(chǎn)生該中斷信號的設(shè)備,需要 輪詢 這些設(shè)備的中斷狀態(tài)寄存器; – 獲取中斷相關(guān)的其他信息; – 對中斷進(jìn)行具體的處理; – 恢復(fù)保存的上下文 ; – 執(zhí)行 中斷返回指令 ,使 CPU的控制返回到被中斷的程序繼續(xù)執(zhí)行。 – 中斷服務(wù)程序用來處理自陷、異?;蚴侵袛唷? ? 在 Intel 80x86中,中斷響應(yīng)過程的操作如下: – 對可屏蔽中斷,從 8259中斷控制器芯片讀取中斷向量號; – 將標(biāo)志寄存器 EFLAG、 CS和 IP壓棧; – 對于硬件中斷,復(fù)位標(biāo)志寄存器中的 IF和 TF位,禁止可屏蔽外部中斷和單步異常; – 根據(jù)中斷向量號,查找中斷向量表,根據(jù)中斷服務(wù)程序的首址轉(zhuǎn)移到中斷服務(wù)程序執(zhí)行。 ?沒有中斷信號:處理器繼續(xù)運(yùn)行,并通過取指周期取當(dāng)前程序的下一條指令; ?有中斷信號:將進(jìn)入中斷響應(yīng),對中斷進(jìn)行處理。 – 為滿足中斷處理的需要,在指令周期中使用了中斷周期 。 每個(gè) PIC只能夠處理 8個(gè)中斷,為支持更多數(shù)量的中斷,需要組織成菊花鏈( daisy chain)的方式,把一個(gè) PIC的輸出連接到另一個(gè) PIC的輸入上。 14 電子科技大學(xué)嵌入式軟件工程中心 中斷控
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1