0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

關(guān)于Cortex-M0的NVIC沒有優(yōu)先級(jí)分組功能,以及衍生內(nèi)容

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-03-01 13:08 ? 次閱讀

今天遍地都是520的消息,華為也是熱點(diǎn)。我們可以關(guān)注熱點(diǎn),自己的事還得繼續(xù)做下去。

1寫在前面

今天在一個(gè)交流群看到有人問,為什么NVIC沒有優(yōu)先級(jí)分組配置的選項(xiàng),如下如:

這個(gè)問題,想必沒有遇到過的人,還以為是STM32CubeMX的Bug。

其實(shí),答案很簡單:有的MCU是沒有NVIC分組功能。

下面就針對(duì)這個(gè)NVIC分組功能展開來講述。

2關(guān)于Cortex-M的NVIC

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

在每個(gè)Cortex-M內(nèi)核中都有這么一個(gè)NVIC嵌套向量中斷控制器,當(dāng)MCU使用的內(nèi)核不同,其中的NVIC也可能不同。

比如,Cortex-M0和Cortex-M3內(nèi)核中NVIC功能就不同。

其中,中斷優(yōu)先級(jí)分組功能就不同。

Cortex-M0的NVIC沒有優(yōu)先級(jí)分組功能,Cortex-M3、 M4、M7有分組功能。

所以,你在使用STM32CubeMX配置時(shí),M0內(nèi)核的STM32是沒有那個(gè)選項(xiàng)的。

Cortex-M0包含STM32F0、L0、G0等處理器。

對(duì)底層感興趣的朋友可以繼續(xù)往下看。

3NVIC寄存器

NVIC寄存器,需查看對(duì)應(yīng)的內(nèi)核(Cortex-M)手冊(cè),在ARM官網(wǎng)能找到。

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0432c/index.html

M3也有對(duì)應(yīng)的中文翻譯版,大家可以自己網(wǎng)上搜索。

內(nèi)核中的寄存器和我們STM32參考手冊(cè)中寄存器一樣,不同的Bit位代表含義不同。

但是,對(duì)于NVIC來說,由于包含眾多優(yōu)先級(jí)相關(guān)配置,寄存器數(shù)量相對(duì)較多(NVIC寄存器族)。

拿M3來說,優(yōu)先級(jí)分組的配置,位于NVIC的AIRCR應(yīng)用程序中斷及復(fù)位控制寄存器中:

這里推薦閱讀之前我寫過的一篇文章:STM32中斷,及FreeRTOS中斷優(yōu)先級(jí)配置

4中斷入口

前兩天有人問題外部中斷入口的問題:為什么外部中斷8和9都使用同一個(gè)中斷?

void EXTI9_5_IRQHandler(void){ if(EXTI_GetITStatus(EXTI_Line8) != RESET) { /* 代碼 */ EXTI_ClearITPendingBit(EXTI_Line8);} if(EXTI_GetITStatus(EXTI_Line9) != RESET) { /* 代碼 */ EXTI_ClearITPendingBit(EXTI_Line9); }}

我想,這個(gè)問題應(yīng)該不難。

好比一個(gè)main程序入口,進(jìn)入之后需要處理很多事情,只是在里面需要區(qū)分事件。

很多外設(shè)中斷,都會(huì)使用同一個(gè)中斷入口,有一個(gè)原因:節(jié)約中斷入口資源分配。

像USART發(fā)送和接收中斷,TIM不同通道捕獲中斷等。

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

    關(guān)注

    2290

    文章

    11017

    瀏覽量

    362498
  • Cortex
    +關(guān)注

    關(guān)注

    2

    文章

    203

    瀏覽量

    47160
  • NVIC
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    11953
收藏 人收藏

    評(píng)論

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

    ADL5308可以通過軟件和硬件配置的參數(shù),配置的優(yōu)先級(jí)是什么?

    你好,麻煩問一下ADL5308可以通過軟件和硬件配置的參數(shù),配置的優(yōu)先級(jí)是什么?有沒有更詳細(xì)的寄存器配置手冊(cè),截距配置的步進(jìn)是多少?
    發(fā)表于 06-10 06:39

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

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

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

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

    MSPM0G3505-Q1 汽車級(jí) 80MHz Arm? Cortex-M0?+ MCU數(shù)據(jù)手冊(cè)

    MSPM0G350x 微控制器 (MCU) 是 MSP 高度集成、超低功耗 32 位 MCU 系列的一部分,基于增強(qiáng)型 Arm Cortex-M0+ 32 位內(nèi)核平臺(tái),運(yùn)行頻率高達(dá) 80MHz。這些
    的頭像 發(fā)表于 04-14 16:52 ?337次閱讀
    MSPM<b class='flag-5'>0</b>G3505-Q1 汽車<b class='flag-5'>級(jí)</b> 80MHz Arm? <b class='flag-5'>Cortex-M0</b>?+ MCU數(shù)據(jù)手冊(cè)

    MSPM0C1104-Q1 汽車級(jí) 24MHz Arm? Cortex-M0?+ MCU數(shù)據(jù)手冊(cè)

    MSPM0C110x 微控制器 (MCU) 是 MSP 高度集成的超低功耗 32 位 MCU 系列的一部分,基于增強(qiáng)型 Arm Cortex-M0+ 內(nèi)核平臺(tái),運(yùn)行頻率高達(dá) 24MHz。這些成本優(yōu)化
    的頭像 發(fā)表于 04-14 15:48 ?366次閱讀
    MSPM<b class='flag-5'>0</b>C1104-Q1 汽車<b class='flag-5'>級(jí)</b> 24MHz Arm? <b class='flag-5'>Cortex-M0</b>?+ MCU數(shù)據(jù)手冊(cè)

    瑞芯微RK3506(3核ARM+Cortex-A7 + ARM Cortex-M0)工業(yè)核心板選型資料

    創(chuàng)龍科技SOM-TL3506是一款基于瑞芯微RK3506J/RK3506B處理器設(shè)計(jì)的3核ARM Cortex-A7 + ARM Cortex-M0全國產(chǎn)工業(yè)核心板,主頻高達(dá)1.5GHz。核心板CPU、ROM、RAM、電源、晶振等所有元器件均采用國產(chǎn)工業(yè)
    的頭像 發(fā)表于 04-09 09:04 ?688次閱讀
    瑞芯微RK3506(3核ARM+<b class='flag-5'>Cortex</b>-A7 + ARM <b class='flag-5'>Cortex-M0</b>)工業(yè)核心板選型資料

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

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

    使用CH32V103C8TC設(shè)置中斷優(yōu)先級(jí)分組時(shí),編譯報(bào)錯(cuò)的原因?

    使用CH32V103C8TC設(shè)置中斷優(yōu)先級(jí)分組時(shí),設(shè)置為NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);編譯報(bào)錯(cuò) 而使用
    發(fā)表于 09-27 06:03

    CH32V103 使用中斷優(yōu)先級(jí)分組0時(shí)報(bào)錯(cuò)

    使用CH32V103C8TC設(shè)置中斷優(yōu)先級(jí)分組時(shí),設(shè)置為NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);而使用
    發(fā)表于 09-23 13:52

    freertos中斷優(yōu)先級(jí)在哪設(shè)置

    FreeRTOS是一個(gè)流行的實(shí)時(shí)操作系統(tǒng),它廣泛應(yīng)用于嵌入式系統(tǒng)開發(fā)。在FreeRTOS中,中斷優(yōu)先級(jí)是一個(gè)重要的概念,因?yàn)樗鼪Q定了中斷處理的順序和響應(yīng)時(shí)間。 1. 理解中斷優(yōu)先級(jí) 在討論如何設(shè)置
    的頭像 發(fā)表于 09-02 14:17 ?1402次閱讀

    【「ARM MCU嵌入式開發(fā) | 基于國產(chǎn)GD32F10x芯片」閱讀體驗(yàn)】+閱讀中斷篇

    中斷請(qǐng)求。NVIC可以處理外部中斷,內(nèi)部異常、直接數(shù)據(jù)存儲(chǔ)中斷等多種類型的中斷請(qǐng)求,并且支持優(yōu)先級(jí)分組、中斷控制狀態(tài)的查詢與設(shè)置及中斷嵌套等高級(jí)功能。 在GD32中,
    發(fā)表于 09-01 23:59

    【GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(3)NVIC 介紹

    )。NVIC與內(nèi)核相輔相成,共同完成對(duì)中斷的響應(yīng)。本章將介紹中斷的優(yōu)先級(jí)設(shè)置、如何定義中斷函數(shù)名稱、中斷向量如何偏移。有關(guān)NVIC的更多知識(shí),請(qǐng)見《ARM Core
    的頭像 發(fā)表于 08-12 10:02 ?1084次閱讀
    【GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(3)<b class='flag-5'>NVIC</b> 介紹

    APS智能優(yōu)化排產(chǎn)軟件的優(yōu)先級(jí)應(yīng)用

    資源、訂單需求和約束條件,自動(dòng)計(jì)算出最優(yōu)的生產(chǎn)計(jì)劃。在這個(gè)過程中,訂單排產(chǎn)的優(yōu)先規(guī)則起著至關(guān)重要的作用。1.交期優(yōu)先級(jí)交期優(yōu)先級(jí)是訂單排產(chǎn)中最基本的優(yōu)先規(guī)則。根據(jù)
    的頭像 發(fā)表于 06-26 17:43 ?680次閱讀
    APS智能優(yōu)化排產(chǎn)軟件的<b class='flag-5'>優(yōu)先級(jí)</b>應(yīng)用

    ESP32S2如何設(shè)置中斷優(yōu)先級(jí)

    ESP32S2有六級(jí)中斷, 如何設(shè)置中斷優(yōu)先級(jí)? 比如在GPIO例程里 ,這種中斷優(yōu)先級(jí)是如何設(shè)置的呢? 中斷寄存器列表里 ,只有簡稱,哪里能獲取這個(gè)名稱所對(duì)應(yīng)的功能??
    發(fā)表于 06-21 07:59

    請(qǐng)問有什么方法降低WIFI中斷的優(yōu)先級(jí)?

    因?yàn)轫?xiàng)目對(duì)時(shí)序輸出要求比較嚴(yán)格,WIFI中斷優(yōu)先級(jí)比硬件定時(shí)器中斷優(yōu)先級(jí)要高,在定時(shí)器中斷里面對(duì)GPIO管腳控制被延長執(zhí)行,請(qǐng)問有什么方法降低WIFI中斷的優(yōu)先級(jí)
    發(fā)表于 06-19 07:37

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品