你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32G0学习手册——Cortex M0+ NVIC 与FreeRTOS中断管理

[复制链接]
STMCU小助手 发布时间:2021-11-10 18:02
知识点1! B  ^1 C1 v8 M7 e. r
: l9 P% `: x% D0 h
        /*< STM32G0xx uses 2 Bits for the Priority Levels */
6 o  F  w2 ^) v% f4 \
% D: B, ^, I4 T+ m1 `, L        #define __NVIC_PRIO_BITS          2 & [. a1 V7 f  V5 \7 l
2 ]0 U& z8 [, {% R8 m5 k. J
        所以M0+的中断优先级:0、1、2、3
% R- Y1 q3 r: L4 f0 ^' }4 s1 v
2 C8 }$ e; T, s" L4 i知识点2
8 e+ @  M2 H2 D. V( v% a7 L- b3 G! W6 {3 `# l) k
        在Cortex-M0 上,FreeRTOS内核的临界区屏蔽了所有中断(除了NMI、HardFault、复位)。
* z. A4 A9 C; ]5 L+ N8 ]" M
% g/ A( A& D% g+ M知识点3
' ?+ l/ O- o4 n8 [5 ^/ {/ I2 [- u# D5 p6 a* z( b  Z
        FreeRTOS 任务优先级从0开始,作为最低的紧急 RTOS 任务优先级,而M0+ NVIC 使用0作为最高的紧急中断优先级。
6 T# x5 G$ d) a; W/ A5 Z/ d0 C' W0 N% c+ b0 d, g- t. v/ Z0 h
        但是任务优先级和中断优先级没有关联9 p; i6 E; P, n

: n7 w! |: U* _知识点40 }5 C" I. j0 v. ^. T$ P: Q  ]
, t5 o" u1 ^' b' g! @8 D
        FreeRTOS 内核使用 2-3 个中断,具体取决于内核:SysTick用作时基,PendSV用于上下文切换,以及Cortex-M3/4/7 上的SVCall用于启动调度程序。2 n8 T2 ]( ]6 m- d
        SysTick 和 PendSV 配置为最低紧急程度:RTOS 以最低紧急程度运行。3 H  t6 Y1 C7 M( W9 e7 @; b

( A% Q8 r7 B2 a5 u" d知识点5
0 H& m# z& q0 V5 r7 O# v5 r* S: k
        中断服务代码里必须使用中断安全的FromISR()变体
4 W- e* z, v; Q' M& {
$ c4 P# Y% V' I- ~, r0 H" C2 G& o9 j. W
收藏 评论0 发布时间:2021-11-10 18:02

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版