有些STM32用戶,尤其是那些用過(guò)基于ARM Cortx-M3/M4/M7內(nèi)核的STM32 MCU的用戶,在使用基于M0/M0+內(nèi)核的STM32系列并通過(guò)STM32CubeMx進(jìn)行NVIC配置時(shí),不難發(fā)現(xiàn)一個(gè)問(wèn)題,那就是怎么沒(méi)有中斷子優(yōu)先級(jí)【或稱響應(yīng)優(yōu)先級(jí)、副優(yōu)先級(jí)等】的配置?!【當(dāng)然,很多時(shí)候我們或許沒(méi)有關(guān)注子優(yōu)先級(jí)】如下圖所示,只看到搶占優(yōu)先級(jí)的配置,看不到子優(yōu)先級(jí)的配置項(xiàng)。
上圖是我基于STM32L0系列芯片的配置,該系列芯片是基于ARM Cortex-M0+內(nèi)核的。我們?cè)倏纯聪聢D的NVIC配置頁(yè)面,顯然可以看到搶占優(yōu)先級(jí)【Preemption Priority】和子優(yōu)先級(jí)【Sub
Priority】的配置項(xiàng)及相關(guān)信息。
上圖是我基于STM32G4系列芯片的NVIC配置頁(yè)面。該系列的內(nèi)核是ARM Cortex-M4。
當(dāng)我們使用STM32系列芯片并通過(guò)CubeMx圖形化工具進(jìn)行NVIC配置時(shí),相應(yīng)界面有無(wú)子優(yōu)先級(jí)的配置,取決于該系列芯片所用的ARM Cortex內(nèi)核。如果說(shuō)所用STM32系列是基于ARM Cortex-M0或M0+內(nèi)核的,在進(jìn)行NVIC配置時(shí)是沒(méi)有子優(yōu)先級(jí)可以配置的。
ARM Cortex-M0或M0+內(nèi)核的中斷優(yōu)先級(jí)控制寄存器實(shí)際有效位就是2位,全部用來(lái)對(duì)各個(gè)中斷/異常做搶占優(yōu)先級(jí)配置,不額外劃分子優(yōu)先級(jí)的配置。
也就是說(shuō),基于ARM Cortex-M0或M0+內(nèi)核的STM32 MCU的NVIC配置不會(huì)有子優(yōu)先級(jí)的概念和配置,對(duì)于優(yōu)先級(jí)可配置的中斷而言,總共就4個(gè)可搶占優(yōu)先級(jí)。下圖是基于ARM Cortex-M0或M0+內(nèi)核的STM32系列展示。當(dāng)然,STM32系列涉及的內(nèi)核很多,遠(yuǎn)不止下面這些,還有M4/M7/M33等。
而ARM Cortex-M3、M4、M7內(nèi)核的中斷優(yōu)先級(jí)配置寄存器的有效位為4位,同時(shí)還可以基于該4位做優(yōu)先級(jí)的分組,進(jìn)而引出搶占優(yōu)先級(jí)和子優(yōu)先級(jí)。
-
芯片
+關(guān)注
關(guān)注
459文章
52306瀏覽量
437792 -
mcu
+關(guān)注
關(guān)注
146文章
17893瀏覽量
361834 -
ARM
+關(guān)注
關(guān)注
134文章
9328瀏覽量
375678 -
STM32
+關(guān)注
關(guān)注
2291文章
11019瀏覽量
363007
發(fā)布評(píng)論請(qǐng)先 登錄
STM32 MCU通過(guò)STM32CubeMx配置NVIC怎么沒(méi)有中斷子優(yōu)先級(jí)選項(xiàng)

STM32F103的寄存器NVIC_IPRx搶占優(yōu)先級(jí)和子優(yōu)先級(jí)是怎么設(shè)置的?
[轉(zhuǎn)] STN32搶占優(yōu)先級(jí)與副優(yōu)先級(jí)及中斷優(yōu)先級(jí)NVIC理解
UCOS3的串口優(yōu)先級(jí)配置問(wèn)題如何解決
中斷優(yōu)先級(jí)配置的函數(shù)
stm32配置中斷的優(yōu)先級(jí)問(wèn)題
NVIC中斷優(yōu)先級(jí)管理簡(jiǎn)介
NVIC中斷優(yōu)先級(jí)分組
STM32 NVIC中斷優(yōu)先級(jí)設(shè)置的步驟有哪些
關(guān)于STM32H725 NVIC優(yōu)先級(jí)和次優(yōu)先級(jí)問(wèn)題求解
2021-04-16 NVIC中斷優(yōu)先級(jí)管理

STM32NVIC中斷優(yōu)先級(jí)

STM32NVIC中斷優(yōu)先級(jí)管理+思維導(dǎo)圖

STM32中斷沒(méi)有子優(yōu)先級(jí)?

評(píng)論