chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

STM32中斷及FreeRTOS中斷優(yōu)先級(jí)配置

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-04 11:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

很多朋友對(duì)中斷的一些知識(shí)還是不了解,今天就寫點(diǎn)關(guān)于Cortex-M3處理器中斷相關(guān),以及FreeRTOS中斷優(yōu)先級(jí)配置的內(nèi)容。

1寫在前面

寫本文之前,先寫點(diǎn)相關(guān)的擴(kuò)展內(nèi)容。

STM32屬于ARM中Cortex-M系列處理器,比如:STM32F1數(shù)據(jù)Cortex-M3,STM32F7數(shù)據(jù)Cortex-M7。

可以參看我之前分享文章:從Cortex-M到Cortex-A認(rèn)識(shí)ARM處理器,了解一下關(guān)于ARM處理器的種類。

本文主要結(jié)合Cortex-M3下面STM32F1系列處理器為例來講述中斷控制相關(guān)內(nèi)容。而Cortex-M其它系列,或者說STM32其它系列關(guān)于中斷的內(nèi)容類似。

Cortex-M3只是STM32F1的一個(gè)內(nèi)核。反過來說STM32F1是在Cortex-M3基礎(chǔ)上增加了一些外設(shè)(如:USART、AD等)的芯片。

2

STM32中斷控制

NVIC:Nested Vectored Interrupt Controller,即嵌套向量中斷控制器

STM32中NVIC我們比較熟悉,編程的時(shí)候使用中斷都會(huì)對(duì)NVIC進(jìn)行配置。

而STM32F1中的NVIC是屬于Cortex-M3中的一部分,而不是STM32增加的外設(shè)。

NVIC向量中斷控制器是Cortex‐M3不可分離的一部分,它與 CM3 內(nèi)核的邏輯緊密耦合,有一部分甚至水乳交融在一起。

所以,NVIC相關(guān)的寄存器位于Cortex-M手冊(cè)中。講述STM32的中斷控制,還得從Cortex-M3的NVIC講起,

1.中斷輸入向量表

Cortex-M3的NVIC支持1至240個(gè)中斷輸入,比如STM32中xxxIRQs,也就是中斷向量表,具體的數(shù)值由芯片廠商在設(shè)計(jì)芯片時(shí)決定。

比如STM32F1的中斷和異常向量表:

2.中斷和異常區(qū)別

很多初學(xué)的朋友不知道什么是中斷?什么是異常?甚至有人直接把中斷和異常籠統(tǒng)稱為“中斷”。

中斷和異常其實(shí)有差異,也有關(guān)聯(lián),我們常說的中斷其實(shí)是包含了異常。異常可以理解為MCU,或者程序處于了某種異常狀態(tài)。

這么區(qū)分吧,看上面向量表,上部分有灰色背景的為異常,下部分白色的為中斷。

異常屬于Cortex‐M3內(nèi)核的一部分,而中斷屬于MCU(STM32)的一部分(由廠家決定)。

所以:

1.站在Cortex‐M3內(nèi)核角度,像STM32中USART這類中斷,屬于外部中斷。

2.站在STM32角度,EXTI外部引腳中斷才屬于中斷。

3.優(yōu)先級(jí)

對(duì)于Cortex-M3來說,每個(gè)外部中斷都有一個(gè)對(duì)應(yīng)的優(yōu)先級(jí)寄存器。

每個(gè)寄存器占用8位,但是允許最少只使用最高3位,在STM32F1中使用了高4位。(也就是我們可以分16個(gè)優(yōu)先級(jí))

優(yōu)先級(jí)可以被分為高低兩個(gè)位段,分別是搶占優(yōu)先級(jí)和亞(響應(yīng))優(yōu)先級(jí)。

提示:

1.STM32中斷優(yōu)先級(jí)數(shù)值越小,優(yōu)先級(jí)越大。

2.優(yōu)先級(jí)分組:Cortex-M3,M4具有分組功能,即存在搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí),如下圖:

而有的內(nèi)核就沒有,如Cortex-M0就沒有。

3.參考資料

可以參看《Cortex-M3權(quán)威指南》

STM32的內(nèi)核編程手冊(cè):

http://www.st.com/stonline/products/literature/pm/15491.pdf

3

FreeRTOS中斷優(yōu)先級(jí)配置

本節(jié)內(nèi)容講述一下FreeRTOS最大中斷優(yōu)先級(jí)配置問題,也就是FreeRTOSConfig.h配置文件中的:

configMAX_SYSCALL_INTERRUPT_PRIORITY

你們知道配置數(shù)值的含義嗎?

這里就需要結(jié)合NVIC相關(guān)的內(nèi)容來理解。

上面說了,在STM32中,使用了NVIC優(yōu)先級(jí)的高4位,而我們配置時(shí)需要對(duì)高4位進(jìn)行配置(低4位未使用)。

看上圖,明白了嗎,上面這個(gè)數(shù)值就是95,但代表的優(yōu)先級(jí)為5。

這個(gè)配置數(shù)值的含義,大概意思是:你代碼中使用的中斷(比如USART1_IRQn)優(yōu)先級(jí)需要大于5才可行。

如下面配置,優(yōu)先級(jí)為2就不行(當(dāng)然,有分組的還牽涉到分組問題)。

關(guān)于FreeRTOS最大優(yōu)先級(jí)配置的內(nèi)容可以參考:

https://www.freertos.org/RTOS-Cortex-M3-M4.html

提示:

FreeRTOS任務(wù)優(yōu)先級(jí)是數(shù)值越大,優(yōu)先級(jí)越高。需要和中斷優(yōu)先級(jí)區(qū)分開來。

聲明:本文內(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)注

    68

    文章

    20140

    瀏覽量

    246586
  • STM32
    +關(guān)注

    關(guān)注

    2305

    文章

    11118

    瀏覽量

    370907
  • FreeRTOS
    +關(guān)注

    關(guān)注

    14

    文章

    497

    瀏覽量

    66294
  • Cortex-M3
    +關(guān)注

    關(guān)注

    9

    文章

    276

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    芯源MCU中斷相關(guān)寄存器

    。 5.5.2 NVIC 中斷掛起和清除掛起 在中斷發(fā)生時(shí),如果系統(tǒng)正在處理與之相同優(yōu)先級(jí)或更高優(yōu)先級(jí)中斷,系統(tǒng)將不會(huì)立即處理此
    發(fā)表于 11-27 07:23

    MCU中斷不觸發(fā)的排查

    1、NVIC中斷是否使能? 2、外設(shè)本身的中斷是否使能(例如 UART 的接收中斷使能位)? 3、中斷服務(wù)函數(shù)名是否與向量表的名稱完全一致
    發(fā)表于 11-18 08:19

    FreeRTOS任務(wù)調(diào)度及優(yōu)先級(jí)問題

    都有容錯(cuò),但是心里沒底,想向大家了解一下實(shí)際工作中有沒有遇到到類似的問題,如果有又是怎么解決的呢? 另外有前輩可以分享一下任務(wù)的優(yōu)先級(jí)在實(shí)際項(xiàng)目中該基于什么原則來劃分呢?
    發(fā)表于 11-06 02:18

    關(guān)于蜂鳥E203內(nèi)核中斷硬件實(shí)現(xiàn)中斷嵌套的設(shè)計(jì)

    嵌套,可以有很多層(蜂鳥處理器該情況下不響應(yīng)新的端,繼續(xù)執(zhí)行正在處理的ISR,徹底完成后才響應(yīng)新的中斷請(qǐng)求) 注意:假設(shè)新來的中斷請(qǐng)求的優(yōu)先級(jí)比正在處理的
    發(fā)表于 10-23 07:07

    什么是RTOS優(yōu)先級(jí)反轉(zhuǎn)

    當(dāng)一個(gè)高優(yōu)先級(jí)任務(wù)正在等待一個(gè)資源,但一個(gè)低優(yōu)先級(jí)任務(wù)正在持有它,一個(gè)中等優(yōu)先級(jí)任務(wù)繼續(xù)在中間運(yùn)行時(shí),就會(huì)發(fā)生優(yōu)先級(jí)反轉(zhuǎn)——阻止低優(yōu)先級(jí)任務(wù)
    的頭像 發(fā)表于 09-09 14:50 ?744次閱讀

    求助,關(guān)于MS51設(shè)置中斷優(yōu)先級(jí)問題求解

    我確實(shí)發(fā)現(xiàn)在庫(kù)代碼和 TRM 之間設(shè)置中斷優(yōu)先級(jí)有一些差異,如下圖所示。 Could you check what's wrong with me?
    發(fā)表于 08-25 07:01

    請(qǐng)問STM32的內(nèi)部Flash操作是不是優(yōu)先級(jí)最高?

    STM32的內(nèi)部Flash操作是不是優(yōu)先級(jí)最高?目前在內(nèi)部Flash的單獨(dú)一頁存儲(chǔ)了數(shù)據(jù),發(fā)現(xiàn)在進(jìn)行頁擦除的時(shí)候正常工作的定時(shí)器中斷無法進(jìn)入了
    發(fā)表于 08-13 07:03

    STM32G474進(jìn)入Fault3中斷沒辦法設(shè)置成周期性觸發(fā)嗎?

    手動(dòng)操作硬件觸發(fā)了Fault3故障,進(jìn)入了Fault3中斷,此時(shí)若故障一直存在程序就在中斷里無法出來,FreeRTOS停止運(yùn)行,把故障解除后FreeRTOS正常運(yùn)行,即使把Fault3
    發(fā)表于 08-01 07:23

    TLe9893怎么調(diào)整外設(shè)的中斷優(yōu)先級(jí)?

    你好林工,我該怎么調(diào)整外設(shè)的中斷優(yōu)先級(jí)?是否可以通過工具調(diào)整?默認(rèn)設(shè)置下,是不是Brdv的在中斷優(yōu)先級(jí)高于T20和can?
    發(fā)表于 08-01 06:20

    請(qǐng)問C0系列單片機(jī)中斷優(yōu)先級(jí)只有4級(jí)嗎?

    C0系列單片機(jī)中斷優(yōu)先級(jí)只有4級(jí)?C071在配置的時(shí)候只能配置0-3
    發(fā)表于 07-23 08:00

    第六章 外部中斷

    本章介紹W55MH32的IO口作為外部中斷輸入的使用。先闡述了NVIC(嵌套向量中斷控制器) 的結(jié)構(gòu)、寄存器、優(yōu)先級(jí)及相關(guān)函數(shù),再說明EXTI(外部中斷和事件控制器)的功能??驁D及I
    的頭像 發(fā)表于 05-26 16:27 ?976次閱讀
    第六章 外部<b class='flag-5'>中斷</b>

    第十章 W55MH32中斷應(yīng)用概覽

    本章講述了W55MH32中斷應(yīng)用,涵蓋異常類型、NVIC介紹、優(yōu)先級(jí)定義與分組,闡述中斷編程三要點(diǎn)(使能中斷、配置 NVIC、編寫服務(wù)函數(shù))
    的頭像 發(fā)表于 05-22 17:07 ?1522次閱讀
    第十章 W55MH32<b class='flag-5'>中斷</b>應(yīng)用概覽

    CyU3PDebugPrint的最高優(yōu)先級(jí)和最低優(yōu)先級(jí)是什么?

    [i]CyU3PDebugPrint的最高優(yōu)先級(jí)和最低優(yōu)先級(jí)是什么?
    發(fā)表于 05-13 08:22

    一天一個(gè)嵌入式面試知識(shí)(1:中斷處理機(jī)制詳解)

    立即響應(yīng)(優(yōu)先級(jí)高) 需經(jīng)過系統(tǒng)調(diào)度(優(yōu)先級(jí)可控) 典型應(yīng)用 外部事件響應(yīng)(如UART數(shù)據(jù)到達(dá)) 系統(tǒng)服務(wù)調(diào)用(如文件讀寫) 三、中斷處理流程解析 以STM32為例,
    發(fā)表于 03-21 10:18

    配電柜—斷電危機(jī)?配電柜故障排查優(yōu)先級(jí)指南

    在排查配電柜故障過程,合理安排排查優(yōu)先級(jí)至關(guān)重要。下面聊一下如何科學(xué)合理安排配電柜故障排查優(yōu)先級(jí)順序。
    的頭像 發(fā)表于 03-06 18:55 ?772次閱讀
    配電柜—斷電危機(jī)?配電柜故障排查<b class='flag-5'>優(yōu)先級(jí)</b>指南