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

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

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

stm32的任務(wù)調(diào)度方式和步驟

汽車玩家 ? 來源:簡書 ? 作者:生若夏花_1ad0 ? 2021-08-10 23:29 ? 次閱讀

STM32的任務(wù)調(diào)度可以有兩種方式

  • 2)執(zhí)行一個(gè)系統(tǒng)調(diào)用

任務(wù)調(diào)度的步驟總結(jié)為如下:

  • 保存程序的上下文即當(dāng)前任務(wù)的寄存器,保存存儲(chǔ)寄存器的任務(wù)堆棧的地址。

  • 根據(jù)下一個(gè)任務(wù)的任務(wù)堆棧地址依次彈出下一個(gè)任務(wù)的16個(gè)寄存器。

堆棧中的寄存器保存順序如下,

XPSR

SP(代表MSP或PSP,在任務(wù)調(diào)度完成后,根據(jù)PSP的值定位了是哪個(gè)任務(wù))

LR(存儲(chǔ)函數(shù)的返回)

R12

R3

R2

R1

R0

R11

R10

R9

R8

R7

R6

R5

R4

文章整合自:簡書生若夏花_1ad0

編輯:ymf

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

    關(guān)注

    31

    文章

    5294

    瀏覽量

    119814
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3231

    瀏覽量

    114327
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4277

    瀏覽量

    62323
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙開發(fā)接口資源調(diào)度:【@ohos.workScheduler (延遲任務(wù)調(diào)度)】

    開發(fā)者在開發(fā)應(yīng)用時(shí),通過調(diào)用延遲任務(wù)注冊(cè)接口,注冊(cè)對(duì)實(shí)時(shí)性要求不高的延遲任務(wù),該任務(wù)默認(rèn)由系統(tǒng)安排,在系統(tǒng)空閑時(shí)根據(jù)性能、功耗、熱等情況進(jìn)行調(diào)度執(zhí)行。
    的頭像 發(fā)表于 06-04 10:01 ?841次閱讀
    鴻蒙開發(fā)接口資源<b class='flag-5'>調(diào)度</b>:【@ohos.workScheduler (延遲<b class='flag-5'>任務(wù)</b><b class='flag-5'>調(diào)度</b>)】

    STM32F303 ucos ii任務(wù)調(diào)度都用什么?

    現(xiàn)在303上用ucos ii跑了兩個(gè)任務(wù),一個(gè)是顯示LCD,一個(gè)是讀取FRAM。現(xiàn)在發(fā)現(xiàn),若讀FRAM的優(yōu)先級(jí)高,有時(shí)LCD會(huì)花屏一閃,若顯示優(yōu)先級(jí)高,有時(shí)FRAM讀出的數(shù)會(huì)不對(duì)。 目前是做個(gè)信號(hào)量做互鎖,但這樣跟不用系統(tǒng)時(shí)差不多了,同時(shí)只有一個(gè)任務(wù)在跑。 請(qǐng)問前輩們有什
    發(fā)表于 05-14 06:16

    請(qǐng)問CMSIS-RTOS RTX的任務(wù)調(diào)度鎖在哪里?

    請(qǐng)問一下,CMSIS-RTOS RTX的任務(wù)調(diào)度鎖在哪里?謝謝!
    發(fā)表于 05-13 08:28

    淺析FreeRTOS任務(wù)調(diào)度器的三種調(diào)度算法和應(yīng)用

    FreeRTOS在MCU領(lǐng)域應(yīng)用非常廣泛,今天就給大家講解一下FreeRTOS調(diào)度器中的三種調(diào)度算法,以及在瑞薩RZ/T2L MPU中的應(yīng)用。
    的頭像 發(fā)表于 05-10 14:02 ?6338次閱讀
    淺析FreeRTOS<b class='flag-5'>任務(wù)</b><b class='flag-5'>調(diào)度</b>器的三種<b class='flag-5'>調(diào)度</b>算法和應(yīng)用

    STM32F103 FreeRTOS任務(wù)調(diào)度異常的原因?

    * pvParameters) { while(1) { Delay_Ms(500);//延時(shí)函數(shù)(無任務(wù)調(diào)度) LED_TOGGLE;//LED閃爍(取反) } } 方式2:任務(wù)
    發(fā)表于 04-16 06:24

    FreeRTOS任務(wù)調(diào)度器的三種調(diào)度算法講解(下)

    配置如下時(shí),調(diào)度算法就會(huì)變成不帶時(shí)間片的搶占式調(diào)度
    的頭像 發(fā)表于 03-21 13:46 ?2321次閱讀
    FreeRTOS<b class='flag-5'>任務(wù)</b><b class='flag-5'>調(diào)度</b>器的三種<b class='flag-5'>調(diào)度</b>算法講解(下)

    FreeRTOS調(diào)度器中的三種調(diào)度算法實(shí)踐(上)

    在優(yōu)先級(jí)高于運(yùn)行態(tài)任務(wù)任務(wù)進(jìn)入就緒態(tài)時(shí),調(diào)度器立即讓這個(gè)高優(yōu)先級(jí)的任務(wù)“搶占”運(yùn)行態(tài)任務(wù)。被搶占意味著
    發(fā)表于 03-21 13:45 ?427次閱讀
    FreeRTOS<b class='flag-5'>調(diào)度</b>器中的三種<b class='flag-5'>調(diào)度</b>算法實(shí)踐(上)

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)類庫多線程CPU密集型任務(wù)TaskPool

    密集型任務(wù)可以提高CPU利用率,提升應(yīng)用程序響應(yīng)速度。 當(dāng)進(jìn)行一系列同步任務(wù)時(shí),推薦使用Worker;而進(jìn)行大量或調(diào)度點(diǎn)較為分散的獨(dú)立任務(wù)時(shí),不方便使用8個(gè)Worker去做負(fù)載管理,推
    發(fā)表于 03-19 14:14

    鴻蒙開發(fā)【分布式任務(wù)調(diào)度】解析

    1.FA 遷移可以打通設(shè)備間的壁壘,有助于不同能力的設(shè)備進(jìn)行互助。前文以一個(gè)簡單的例子介紹如何通過分布式任務(wù)調(diào)度提供的能力,實(shí)現(xiàn) FA 跨設(shè)備的遷移(包括 FA 啟動(dòng)及狀態(tài)數(shù)據(jù)的同步)。 2.FA
    的頭像 發(fā)表于 01-29 18:03 ?621次閱讀

    鴻蒙OS 分布式任務(wù)調(diào)度

    鴻蒙OS 分布式任務(wù)調(diào)度概述 在 HarmonyO S中,分布式任務(wù)調(diào)度平臺(tái)對(duì)搭載 HarmonyOS 的多設(shè)備構(gòu)筑的“超級(jí)虛擬終端”提供統(tǒng)一的組件管理能力,為應(yīng)用定義統(tǒng)一的能力基線、
    的頭像 發(fā)表于 01-29 16:50 ?439次閱讀

    鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-延遲任務(wù)開發(fā)實(shí)現(xiàn)(二)

    : workScheduler.WorkInfo): void 延遲調(diào)度任務(wù)開始的回調(diào) onWorkStop(work: workScheduler.WorkInfo): void 延遲調(diào)度
    發(fā)表于 01-17 17:53

    鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-延遲任務(wù)說明(一)

    添加到執(zhí)行隊(duì)列,系統(tǒng)會(huì)根據(jù)內(nèi)存、功耗、設(shè)備溫度、用戶使用習(xí)慣等統(tǒng)一調(diào)度拉起應(yīng)用。 二、運(yùn)行原理 圖1 延遲任務(wù)實(shí)現(xiàn)原理 應(yīng)用調(diào)用延遲任務(wù)接口添加、刪除、查詢延遲任務(wù),延遲
    發(fā)表于 01-16 14:57

    任務(wù)調(diào)度系統(tǒng)設(shè)計(jì)的核心邏輯

    Redis的讀寫性能極好,分布式鎖也比Quartz數(shù)據(jù)庫行級(jí)鎖更輕量級(jí)。當(dāng)然Redis鎖也可以替換成Zookeeper鎖,也是同樣的機(jī)制。 在小型項(xiàng)目中,使用:定時(shí)任務(wù)框架(Quartz/Spring Schedule)和 分布式鎖(redis/zookeeper)有不錯(cuò)的效果。
    的頭像 發(fā)表于 01-02 15:09 ?768次閱讀
    <b class='flag-5'>任務(wù)</b><b class='flag-5'>調(diào)度</b>系統(tǒng)設(shè)計(jì)的核心邏輯

    電機(jī)基礎(chǔ)知識(shí):電機(jī)類型、軟啟動(dòng)方式、選型步驟

    電機(jī)類型、軟啟動(dòng)方式,選型步驟,損壞原因方式處理方法,優(yōu)劣電機(jī)區(qū)別.....這一個(gè)個(gè)問題都是電機(jī)幸福指數(shù)的重要反映。
    發(fā)表于 12-01 16:09 ?1102次閱讀
    電機(jī)基礎(chǔ)知識(shí):電機(jī)類型、軟啟動(dòng)<b class='flag-5'>方式</b>、選型<b class='flag-5'>步驟</b>

    FreeRTOS中的任務(wù)管理

    任務(wù)是 FreeRTOS 中最基本的調(diào)度單元,它是一段可執(zhí)行的代碼,可以獨(dú)立運(yùn)行。FreeRTOS 中的任務(wù)是基于優(yōu)先級(jí)的搶占式調(diào)度,優(yōu)先級(jí)高的任務(wù)
    的頭像 發(fā)表于 11-27 17:03 ?922次閱讀