99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

滴答處理程序不是調(diào)度程序

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

掃碼添加小助手

加入工程師交流群

實時內(nèi)核通常使用定時器或類似的周期性中斷源來為多任務(wù)應(yīng)用程序?qū)崿F(xiàn)延遲和其他有用的服務(wù)。盡管利用此類服務(wù)所需的代碼通常只涉及對內(nèi)核 API 函數(shù)的調(diào)用,但似乎周期性中斷(或俗稱的滴答聲)已成為混淆甚至爭論的主要來源。內(nèi)核用戶。

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

pYYBAGK7qXuAP5XoAABWXfdoK0E756.png

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

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

pYYBAGK7qYGAA-l0AABYAydpSFY132.png

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

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11080

    瀏覽量

    217058
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3298

    瀏覽量

    118917
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1276

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    PLC水處理程序遠(yuǎn)程上下載如何實現(xiàn)?有什么優(yōu)勢?

    在現(xiàn)代化的水處理廠中,PLC(可編程邏輯控制器)廣泛應(yīng)用于自動化控制系統(tǒng),精準(zhǔn)調(diào)控水處理的各個環(huán)節(jié),保障水質(zhì)達標(biāo)與生產(chǎn)穩(wěn)定。然而,傳統(tǒng)的PLC運維管理方式,尤其是程序上下載工作,常面臨諸多棘手難題
    的頭像 發(fā)表于 04-17 16:19 ?162次閱讀
    PLC水<b class='flag-5'>處理</b><b class='flag-5'>程序</b>遠(yuǎn)程上下載如何實現(xiàn)?有什么優(yōu)勢?

    基于HPM_SDK_ENV開發(fā)應(yīng)用程序的升級處理

    基于HPM_SDK_ENV開發(fā)應(yīng)用程序的方式HPM_SDK_ENV是先楫半導(dǎo)體MCU的Windows集成開發(fā)環(huán)境,其包含HPM_SDK,工具鏈,依賴工具(cmake,ninja,openocd等
    的頭像 發(fā)表于 02-08 13:38 ?1016次閱讀
    基于HPM_SDK_ENV開發(fā)應(yīng)用<b class='flag-5'>程序</b>的升級<b class='flag-5'>處理</b>

    EE-315:更改Blackfin處理器以太網(wǎng)驅(qū)動程序中的PHY

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

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

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

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

    電子發(fā)燒友網(wǎng)站提供《EE-134:為SHARC系列編寫C兼容匯編代碼中斷處理程序.pdf》資料免費下載
    發(fā)表于 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

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

    深入解析Linux程序與進程

    關(guān)于某個數(shù)據(jù)集合的一次運行活動。作為系統(tǒng)進行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)。 程序與進程的關(guān)系 進程的狀態(tài) 基礎(chǔ)進程狀態(tài) 創(chuàng)建狀態(tài):進程在創(chuàng)建時需要申請一個空白PCB(process control block進程控制塊),向其中填寫
    的頭像 發(fā)表于 12-18 11:01 ?479次閱讀
    深入解析Linux<b class='flag-5'>程序</b>與進程

    Linux驅(qū)動程序程序員指南

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

    gawk程序基礎(chǔ)教程

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

    使用CSL來補充操作系統(tǒng)調(diào)度程序處理級聯(lián)中斷

    電子發(fā)燒友網(wǎng)站提供《使用CSL來補充操作系統(tǒng)調(diào)度程序處理級聯(lián)中斷.pdf》資料免費下載
    發(fā)表于 10-16 10:12 ?0次下載
    使用CSL來補充操作系統(tǒng)<b class='flag-5'>調(diào)度</b><b class='flag-5'>程序</b><b class='flag-5'>處理</b>級聯(lián)中斷

    使用IO-link主幀處理程序實現(xiàn)靈活的時序配置

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

    stm32單片機燒錄程序會擦除原來的程序

    在STM32單片機燒錄程序的過程中, 通常情況下會擦除原來的程序 ,并將新程序寫入單片機的閃存(Flash)中。這一過程是通過燒錄工具(如ST-Link、J-Link等)實現(xiàn)的,它們負(fù)責(zé)將程序
    的頭像 發(fā)表于 09-02 09:42 ?4694次閱讀

    Linux設(shè)備驅(qū)動程序分類有哪些

    驅(qū)動程序可以根據(jù)硬件類型進行分類,主要包括以下幾種: 1.1 存儲設(shè)備驅(qū)動程序 存儲設(shè)備驅(qū)動程序主要負(fù)責(zé)與硬盤、固態(tài)硬盤、光盤等存儲設(shè)備進行通信。這類驅(qū)動程序需要
    的頭像 發(fā)表于 08-30 15:11 ?1239次閱讀

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

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

    怎么判斷PLC程序丟失了

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