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

正文內(nèi)容

嵌入式系統(tǒng)及應(yīng)用-資料下載頁

2024-10-17 17:02本頁面

【導(dǎo)讀】實時內(nèi)核的中斷管理。用戶中斷服務(wù)程序。從發(fā)展過程來看:。的輪詢處理方式,以提高I/O處理的效率。部中斷或是軟件中斷)的功能。大的中斷稱為廣義中斷。在實際應(yīng)用中,廣義的中斷通常被分為中斷、自陷和異常則為同步事件;流程發(fā)生變化,以執(zhí)行特定的程序。是顯式的事件,需要無條件地執(zhí)行;Motorola68000系列中的Trap指令。如被0除、執(zhí)行非法指令和內(nèi)存保護(hù)故障。異常沒有對應(yīng)的處理器指令,當(dāng)異常事??善帘沃袛嗪筒豢善帘沃袛?。邊緣觸發(fā)中斷和電平觸發(fā)中斷。向量中斷、直接中斷和間接中斷。有可能被中斷服務(wù)程序打斷。存器的數(shù)據(jù),造成程序的運行發(fā)生錯誤。制器,再與CPU相應(yīng)的引腳相連。正在進(jìn)行什么樣的運算,它都肯定無法正常運行下去。情況下,急需進(jìn)行的是一些掉電保護(hù)的操作。應(yīng)隨時進(jìn)行響應(yīng)。持下去,直到中斷信號被清除。系統(tǒng)中通常包含多個中斷向量,存放這。的方式,把一個PIC的輸出連接到另一個PIC的輸入上。

  

【正文】 yGrp]。 /*OSSched()函 數(shù)該值 保存在名 為 y的局部 變 量中 */ OSPrioHighRdy = (INT8U)((OSIntExitY 3) + OSUnMapTbl[OSRdyTbl[OSIntExitY]])。 if (OSPrioHighRdy != OSPrioCur) { OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy]。 OSCtxSwCtr++。 OSIntCtxSw()。 /*OSSched()中 調(diào) 用 OS_TASK_SW()*/ } } } OS_EXIT_CRITICAL()。 } uC/OS OSIntExit( )函數(shù) 通知內(nèi)核離開中斷服務(wù)子程序 ISR,看起來非常像 OSSched() 45 電子科技大學(xué)嵌入式軟件工程中心 中斷處理時間 ? 用戶的中斷處理是由應(yīng)用決定的。 ? 中斷服務(wù)的處理時間應(yīng)該盡可能地短 ? 中斷服務(wù)程序: – 識別中斷來源; – 從產(chǎn)生中斷的設(shè)備取得數(shù)據(jù)或狀態(tài); – 通知真正處理該事件的那個任務(wù)來進(jìn)行實際的中斷處理工作。 46 電子科技大學(xué)嵌入式軟件工程中心 實時內(nèi)核的中斷管理 ? 實時內(nèi)核通常提供如下中斷管理功能: – 掛接中斷服務(wù)程序 。把一個函數(shù)(用戶中斷服務(wù)程序)同一個虛擬中斷向量表中的中斷向量聯(lián)系在一起。當(dāng)中斷向量對應(yīng)中斷發(fā)生的時候,被掛接的用戶中斷服務(wù)程序就會被調(diào)用執(zhí)行; – 獲得中斷服務(wù)程序入口地址 。根據(jù)中斷向量,獲得掛接在該中斷向量上的中斷服務(wù)程序的入口地址; – 獲取中斷嵌套層次 。在允許中斷嵌套的處理中,獲取當(dāng)前的中斷嵌套層次信息; – 開中斷 ; – 關(guān)中斷 。 47 電子科技大學(xué)嵌入式軟件工程中心 用戶中斷服務(wù)程序 ? 當(dāng)中斷線上發(fā)生中斷的時候,對應(yīng)中斷向量中注冊的中斷服務(wù)程序就會被調(diào)用執(zhí)行。 – 中斷服務(wù)程序的注冊中斷號為索引,把處理中斷的函數(shù)的地址放置到中斷向量的地址表中。 – 中斷服務(wù)程序的啟動完全由 CPU來負(fù)責(zé),不需要操作系統(tǒng)的處理。 ? 如果處理器或?qū)崟r內(nèi)核允許中斷嵌套,中斷服務(wù)程序?qū)⒖赡鼙涣硗獾闹袛喾?wù)程序所搶占。 – 中斷嵌套將使代碼更加復(fù)雜,要求中斷服務(wù)程序是可重入 的。 48 電子科技大學(xué)嵌入式軟件工程中心 用戶中斷服務(wù)程序 ? 由于中斷服務(wù)程序中通常都對中斷進(jìn)行了屏蔽,要求中斷服務(wù)程序應(yīng)該盡可能比較短,保證其他中斷和系統(tǒng)中的任務(wù)能夠得到及時處理。 – 中斷服務(wù)程序通常都只處理一些必要的操作,其他操作則 通過任務(wù) 的方式來進(jìn)行。 – 中斷服務(wù)程序只是進(jìn)行與外圍設(shè)備相關(guān)的數(shù)據(jù)的讀寫操作,并在需要的情況下向外圍設(shè)備發(fā)送確認(rèn)信息,然后喚醒另外的任務(wù)進(jìn)行進(jìn)一步的處理。 ? 用來配合中斷服務(wù)程序的另外的任務(wù)通常被稱為 DSR( deferred service routine)。 49 電子科技大學(xué)嵌入式軟件工程中心 /*Uses to handle data from dataReceiveISR*/ dsrTask() { while(1) { wait_for_signal_from_isr()。 process_data_of_ISR()。 } } /*Uses to receive data by interrupt*/ dataReceiveISR() { … get_data_from _device()。 send_signal_to_wakeup_dsrTask()。 … } ISR與 DSR相結(jié)合的中斷處理方式 50 電子科技大學(xué)嵌入式軟件工程中心 用戶中斷服務(wù)程序 ? 在中斷服務(wù)程序中可以調(diào)用實時內(nèi)核提供的應(yīng)用編程接口: – 但一般只能使用不會導(dǎo)致調(diào)用程序可能出現(xiàn)阻塞情況的編程接口,如可以進(jìn)行掛起任務(wù)、喚醒任務(wù)、發(fā)送消息等操作; – 但不要使用分配內(nèi)存、獲得信號量等可能導(dǎo)致中斷服務(wù)程序的執(zhí)行流程被阻塞的操作。 ? 中斷的處理不受任務(wù)調(diào)度程序的控制,并優(yōu)先于任務(wù)的處理。 ? 如果中斷出現(xiàn)被阻塞的情況,將導(dǎo)致中斷不能被及時處理,其余工作也就無法按時繼續(xù)進(jìn)行,將嚴(yán)重影響整個系統(tǒng)的確定性。 51 電子科技大學(xué)嵌入式軟件工程中心 用戶中斷服務(wù)程序 ? 中斷服務(wù)程序不能進(jìn)行內(nèi)存分配和內(nèi)存釋放: – 內(nèi)存分配和內(nèi)存釋放過程中通常都要使用信號量,以實現(xiàn)對維護(hù)內(nèi)存使用情況的全局?jǐn)?shù)據(jù)結(jié)構(gòu)的保護(hù)。 ? 中斷服務(wù)程序也不能使用包含了這些操作的編程接口。 – 意味著中斷服務(wù)程序不能使用關(guān)于對象創(chuàng)建和刪除方面(如任務(wù)創(chuàng)建與任務(wù)刪除)的操作。 52 電子科技大學(xué)嵌入式軟件工程中心 用戶中斷服務(wù)程序 ? 中斷服務(wù)程序還需要同系統(tǒng)中的任務(wù)進(jìn)行通信。從中斷服務(wù)程序到任務(wù)的通信機(jī)制主要包括以下內(nèi)容: – 共享內(nèi)存 :中斷服務(wù)程序同任務(wù)共享變量、緩沖區(qū),實現(xiàn)中斷服務(wù)程序與任務(wù)之間的通信; – 信號量 :中斷服務(wù)程序可以釋放任務(wù)正在等待的信號量; – 消息隊列 :中斷服務(wù)程序可以把消息發(fā)送給正在等待該消息的任務(wù); – 管道 :中斷服務(wù)程序可以把消息寫到任務(wù)可以進(jìn)行消息讀取的管道中; – 異步信號 :中斷服務(wù)程序可以向任務(wù)發(fā)送異步信號,使任務(wù)對應(yīng)的異步信號處理程序能夠得到執(zhí)行。 53 電子科技大學(xué)嵌入式軟件工程中心 謝謝! 54
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1