那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

滴答處理程序不是調度程序

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Matt Gordon ? 2022-06-29 09:19 ? 次閱讀

實時內核通常使用定時器或類似的周期性中斷源來為多任務應用程序實現延遲和其他有用的服務。盡管利用此類服務所需的代碼通常只涉及對內核 API 函數的調用,但似乎周期性中斷(或俗稱的滴答聲)已成為混淆甚至爭論的主要來源。內核用戶。

新內核用戶之間的一個常見誤解是滴答處理程序是內核的任務調度程序。換句話說,滴答中斷被認為是可以使任務運行的唯一機制?,F實情況是,在搶占式、基于優先級的內核中,服務滴答的代碼是可能導致 CPU 控制權從一個任務傳遞到另一個任務的眾多代碼之一。在此類內核中,任何中斷通常都可能導致新任務運行,如圖 1 所示,涉及 UART 中斷。此外,任務本身可能有多種方式來放棄 CPU 并進入掛起或等待狀態。

pYYBAGK7qXuAP5XoAABWXfdoK0E756.png

當任務需要能夠控制它在等待狀態中花費的時間量時,滴答中斷就變得必要了。例如,μC/OS-II 和 μC/OS-III 操作系統提供了一種方法來控制超時參數,這些參數指定非滴答事件的最大等待時間(例如接收 UART 字符),并通過延時函數,如 OSTimeDly()。

圖 2 基于 μC/OS-II,突出顯示滴答中斷在實現 OSTimeDly() 中的作用。在圖的左側,一個相對高優先級的任務調用 OSTimeDly() 來產生一個 5 個滴答的延遲,導致內核在與該任務關聯的數據結構中初始化一個延遲字段,并將該任務移出允許另一個任務運行的就緒狀態。延遲字段被初始化為值 5,并且在調用 OSTimeDly() 之后的每個滴答中斷中,該字段遞減。在調用后的第五次中斷時,該字段達到 0,并且內核的滴答處理程序(在 μC/OS-II 中是 ISR 的一部分,但在 μC/OS-III 中有自己的任務)使高優先級任務準備好再次運行。然后,該任務將獲得 CPU 控制權,因為它的優先級超過了在第五個滴答發生時正在運行的任務的優先級。

pYYBAGK7qYGAA-l0AABYAydpSFY132.png

從技術上講,可以編寫一個沒有超時和延遲函數(如 OSTimeDly())的多任務應用程序。然而,大多數多任務系統至少包含一項可以從基于滴答的服務中受益的任務。在接下來的文章中,我將考慮兩個重要的滴答參數——頻率和優先級——對此類系統的影響。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10905

    瀏覽量

    213035
  • 定時器
    +關注

    關注

    23

    文章

    3255

    瀏覽量

    115391
  • uart
    +關注

    關注

    22

    文章

    1243

    瀏覽量

    101776
收藏 人收藏

    評論

    相關推薦

    EE-315:更改Blackfin處理器以太網驅動程序中的PHY

    電子發燒友網站提供《EE-315:更改Blackfin處理器以太網驅動程序中的PHY.pdf》資料免費下載
    發表于 01-07 14:15 ?0次下載
    EE-315:更改Blackfin<b class='flag-5'>處理</b>器以太網驅動<b class='flag-5'>程序</b>中的PHY

    EE-239:在ADSP-BF533 Blackfin處理器上運行閃存程序

    電子發燒友網站提供《EE-239:在ADSP-BF533 Blackfin處理器上運行閃存程序.pdf》資料免費下載
    發表于 01-07 13:58 ?0次下載
    EE-239:在ADSP-BF533 Blackfin<b class='flag-5'>處理</b>器上運行閃存<b class='flag-5'>程序</b>

    EE-134:為SHARC系列編寫C兼容匯編代碼中斷處理程序

    電子發燒友網站提供《EE-134:為SHARC系列編寫C兼容匯編代碼中斷處理程序.pdf》資料免費下載
    發表于 01-07 13:58 ?0次下載
    EE-134:為SHARC系列編寫C兼容匯編代碼中斷<b class='flag-5'>處理</b><b class='flag-5'>程序</b>

    EE-351:使用ADSP-BF592 Blackfin處理器工具實用程序ROM

    電子發燒友網站提供《EE-351:使用ADSP-BF592 Blackfin處理器工具實用程序ROM.pdf》資料免費下載
    發表于 01-05 09:09 ?0次下載
    EE-351:使用ADSP-BF592 Blackfin<b class='flag-5'>處理</b>器工具實用<b class='flag-5'>程序</b>ROM

    深入解析Linux程序與進程

    關于某個數據集合的一次運行活動。作為系統進行資源分配和調度的基本單位,是操作系統結構的基礎。 程序與進程的關系 進程的狀態 基礎進程狀態 創建狀態:進程在創建時需要申請一個空白PCB(process control block進程控制塊),向其中填寫
    的頭像 發表于 12-18 11:01 ?158次閱讀
    深入解析Linux<b class='flag-5'>程序</b>與進程

    Linux驅動程序程序員指南

    電子發燒友網站提供《Linux驅動程序程序員指南.pdf》資料免費下載
    發表于 11-22 15:53 ?0次下載
    Linux驅動<b class='flag-5'>程序</b><b class='flag-5'>程序</b>員指南

    gawk程序基礎教程

    gawk程序是Unix中原始awk程序的GNU版本。gawk程序讓流編輯器邁上了一個新的臺階,它提供了一種編程語言而不只是編輯器命令。
    的頭像 發表于 10-29 16:42 ?198次閱讀

    使用CSL來補充操作系統調度程序處理級聯中斷

    電子發燒友網站提供《使用CSL來補充操作系統調度程序處理級聯中斷.pdf》資料免費下載
    發表于 10-16 10:12 ?0次下載
    使用CSL來補充操作系統<b class='flag-5'>調度</b><b class='flag-5'>程序</b><b class='flag-5'>處理</b>級聯中斷

    使用IO-link主幀處理程序實現靈活的時序配置

    電子發燒友網站提供《使用IO-link主幀處理程序實現靈活的時序配置.pdf》資料免費下載
    發表于 09-19 11:28 ?0次下載
    使用IO-link主幀<b class='flag-5'>處理</b><b class='flag-5'>程序</b>實現靈活的時序配置

    Linux設備驅動程序分類有哪些

    驅動程序可以根據硬件類型進行分類,主要包括以下幾種: 1.1 存儲設備驅動程序 存儲設備驅動程序主要負責與硬盤、固態硬盤、光盤等存儲設備進行通信。這類驅動程序需要
    的頭像 發表于 08-30 15:11 ?705次閱讀

    母線失壓處理的一般程序是什么

    母線失壓是指電力系統中母線電壓突然下降至零或接近零的情況,這通常會導致電力系統的不穩定和設備損壞。為了確保電力系統的安全穩定運行,需要對母線失壓進行及時有效的處理。以下是母線失壓處理的一般程序,我們
    的頭像 發表于 08-13 17:06 ?796次閱讀

    怎么判斷PLC程序丟失了

    PLC(Programmable Logic Controller,可編程邏輯控制器)是一種廣泛應用于工業自動化領域的控制器。PLC程序丟失可能會導致設備無法正常運行,甚至造成生產中斷。因此,判斷
    的頭像 發表于 07-25 10:01 ?1573次閱讀

    如何看懂檢測設備程序邏輯

    檢測設備程序邏輯是確保設備正常運行和提高檢測效率的關鍵。本文將介紹如何看懂檢測設備程序邏輯,包括程序結構、程序設計、程序調試、
    的頭像 發表于 07-17 16:50 ?513次閱讀

    操作FreeRTOS時,執行__WFI()導致系統滴答中斷無法喚醒設備怎么解決?

    內核時鐘全部關閉了,導致滴答中斷無法觸發,不知道是不是這樣的原因 2、如果__WFI()無法使用滴答中斷喚醒,那能否用普通定時器喚醒,怎么樣能夠讓普通定時器去替代系統滴答呢 希望有高人
    發表于 04-24 08:29

    PLC安裝調試流程程序

    模擬I/O輸入、輸出,檢查修改程序本步驟的目的在于驗證輸入的工作程序的正確性,該程序的邏輯所表達的工藝設備的聯鎖關系是否與設計的工藝控制要求相符,程序是否暢通。若不相符或不能運行完成全
    發表于 03-05 09:54 ?476次閱讀
    澳门百家乐信誉| 瓦房店市| 百家乐技巧平注常赢法| 真人百家乐网站接口| 免费玩百家乐官网的玩法技巧和规则 | 88娱乐城网址| 大发888屡败屡战| 威尼斯人娱乐城正规吗| 成人百家乐的玩法技巧和规则 | 盈丰国际平台| 888娱乐城| 皇冠足球投注网| 香港六合彩资料大全| 大发888ios版| 大发888娱乐游戏可以玩吗| 大发888娱乐游戏账号| 大发888 真钱娱乐场| 大发888怎么申请账号| 娱乐城百家乐的玩法技巧和规则 | 澳门百家乐实战视频| 易球百家乐娱乐城| 成都百家乐牌具| 威尼斯人娱乐平台| 大发888国际游戏平台| 网络赌博平台| 百家乐官网隔一数打法| 百家乐官网如何投注法| 信誉百家乐官网博彩网| 武汉百家乐官网赌具| 网上百家乐官网赌场| 网站百家乐官网假| 金钱豹百家乐官网的玩法技巧和规则| 鼎龙百家乐官网的玩法技巧和规则 | 百家乐官网开闲的几率多大| 防伪百家乐官网筹码币套装| 足球心水| 百家乐官网百乐发破解版| 百家乐官网保单机解码| 百家乐5式直缆打法| 凯斯网百家乐的玩法技巧和规则| 大发888 现金棋牌游戏|