国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Matt Gordon ? 2022-06-29 09:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

新內核用戶之間的一個常見誤解是滴答處理程序是內核的任務調度程序。換句話說,滴答中斷被認為是可以使任務運行的唯一機制。現實情況是,在搶占式、基于優先級的內核中,服務滴答的代碼是可能導致 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

    文章

    11279

    瀏覽量

    224971
  • 定時器
    +關注

    關注

    23

    文章

    3368

    瀏覽量

    123613
  • uart
    +關注

    關注

    22

    文章

    1314

    瀏覽量

    106644
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    飛凌嵌入式ElfBoard-系統信息與資源之獲取程序的執行時間

    clock用于獲取程序運行的 CPU 時間。它返回自程序啟動以來的 CPU 時鐘滴答數,通常用于計算程序的執行時間。1.頭文件#include 2.函數原型clock_t clock(
    發表于 01-22 08:57

    經典 PLC 程序(6) - 信號防抖

    在PLC程序中,信號防抖是一個非常重要的概念,用于處理由于機械開關觸點抖動而產生的虛假信號。本文介紹一下用梯形圖、AWBlock和ST語言三種編程,實現信號防抖的控制邏輯。信號防抖在PLC程序
    的頭像 發表于 01-20 11:47 ?379次閱讀
    經典 PLC <b class='flag-5'>程序</b>(6) - 信號防抖

    嵌入式基礎知識-系統調度

    調度,有許多相似之處。 1、進程的三種狀態 執行態(Run):進程占用CPU資源,對于單核處理器,任一時刻只能有一個進行處于執行態。 就緒態(Ready):進程本身具備運行條件,但由于處理機的個數少于
    發表于 12-16 08:15

    C++程序異常的處理機制

    1、什么是異常處理? 有經驗的朋友應該知道,在正常的C和C++編程過程中難免會碰到程序不按照原本設計運行的情況。 最常見的有除法分母為零,數組越界,內存分配失效、打開相應文件失敗等等。 一個程序
    發表于 12-02 07:12

    使用三菱FX5U PLC的經典小程序案例

    實際的PLC程序往往是某些典型小程序的擴展與疊加,因此掌握一些典型小程序對大型復雜程序的編寫非常有利。 鑒于此,本文將給出一些典型小程序,供
    的頭像 發表于 11-07 13:57 ?5666次閱讀
    使用三菱FX5U PLC的經典小<b class='flag-5'>程序</b>案例

    NVMe高速傳輸之擺脫XDMA設計28: TLP 事務處理程序的執行流程

    最小橋設備模型的每個端口的輸入端對接一個 TLP事務處理程序, 該程序負責將接收到的 TLP 事務進行解析和路由轉發。
    的頭像 發表于 09-23 09:13 ?1067次閱讀
    NVMe高速傳輸之擺脫XDMA設計28: TLP 事務<b class='flag-5'>處理</b><b class='flag-5'>程序</b>的執行流程

    博圖SCL程序中的隱式轉換

    最近看到一個程序,博圖定時器的in腳中寫了一個等式,且是一個等號,不是兩個等號,有點小疑惑,就做了個測試,結果是博圖確實有點靈活。
    的頭像 發表于 09-08 11:46 ?740次閱讀
    博圖SCL<b class='flag-5'>程序</b>中的隱式轉換

    STM32程序的燒錄方式

    電子發燒友網站提供《STM32程序的燒錄方式.pdf》資料免費下載
    發表于 08-28 16:03 ?8次下載

    【老法師】多核異構處理器中M核程序的啟動、編寫和仿真

    有很多研究單片機的小伙伴在面對多核異構處理器時,可能會對多核的啟動流程感到困惑——因為不熟悉GCC編程和GDB調試,所以也無法確定多核異構處理器的程序是否能像單片機那樣方便地編寫和仿真。本篇
    的頭像 發表于 08-13 09:05 ?3988次閱讀
    【老法師】多核異構<b class='flag-5'>處理</b>器中M核<b class='flag-5'>程序</b>的啟動、編寫和仿真

    zephyr設備驅動程序模型

    ? ? 1:Zephyr 內核支持多種設備驅動程序。驅動程序是否可用取決于board 和驅動程序。 Zephyr 設備模型為配置作為系統一部分的驅動程序提供了一致的設備模型。設備型號負
    的頭像 發表于 07-29 10:34 ?693次閱讀
    zephyr設備驅動<b class='flag-5'>程序</b>模型

    單片機怎么燒程序

    單片機燒程序是將編寫好的程序代碼寫入單片機內部存儲單元,讓單片機按照預設邏輯工作的過程,是單片機應用開發中不可或缺的環節。無論是簡單的燈光控制程序,還是復雜的工業控制算法,都需要通過燒程序
    的頭像 發表于 07-23 11:47 ?1281次閱讀

    利用PLC調用ABB機器人程序號教程

    PP TO MAIN 程序是用來使機器人里的程序回到 MAIN 主程序的。
    的頭像 發表于 07-04 15:34 ?5712次閱讀
    利用PLC調用ABB機器人<b class='flag-5'>程序</b>號教程

    FANUC程序傳輸軟件的使用

    FANUC程序傳輸軟件的使用
    發表于 06-04 16:23 ?0次下載

    PLC水處理程序遠程上下載如何實現?有什么優勢?

    在現代化的水處理廠中,PLC(可編程邏輯控制器)廣泛應用于自動化控制系統,精準調控水處理的各個環節,保障水質達標與生產穩定。然而,傳統的PLC運維管理方式,尤其是程序上下載工作,常面臨諸多棘手難題
    的頭像 發表于 04-17 16:19 ?492次閱讀
    PLC水<b class='flag-5'>處理</b><b class='flag-5'>程序</b>遠程上下載如何實現?有什么優勢?

    FPGA Verilog HDL語法之編譯預處理

    Verilog HDL語言和C語言一樣也提供了編譯預處理的功能。“編譯預處理”是Verilog HDL編譯系統的一個組成部分。Verilog HDL語言允許在程序中使用幾種特殊的命令(它們不是
    的頭像 發表于 03-27 13:30 ?1436次閱讀
    FPGA Verilog HDL語法之編譯預<b class='flag-5'>處理</b>