知識點1
/*< STM32G0xx uses 2 Bits for the Priority Levels */
#define __NVIC_PRIO_BITS 2
所以M0+的中斷優先級:0、1、2、3
知識點2
在Cortex-M0 上,FreeRTOS內核的臨界區屏蔽了所有中斷(除了NMI、HardFault、復位),
知識點3
FreeRTOS 任務優先級從0開始,作為最低的緊急 RTOS 任務優先級,而M0+ NVIC 使用0作為最高的緊急中斷優先級,
但是任務優先級和中斷優先級沒有關聯
知識點4
FreeRTOS 內核使用 2-3 個中斷,具體取決于內核:SysTick用作時基,PendSV用于背景關系切換,以及Cortex-M3/4/7 上的SVCall用于啟動調度程式,
SysTick 和 PendSV 配置為最低緊急程度:RTOS 以最低緊急程度運行,
知識點5
中斷服務代碼里必須使用中斷安全的FromISR()變體
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/294046.html
標籤:其他
