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

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

[复制链接]
STMCU小助手 发布时间:2021-11-10 18:02
知识点12 n  V4 T& k5 h

! z% q$ Z0 h7 }" H$ l! C" U6 i        /*< STM32G0xx uses 2 Bits for the Priority Levels */1 k. h% c6 a& x% ?) T) b

1 r6 ^6 v9 P% m* k8 ^4 |# ~        #define __NVIC_PRIO_BITS          2 3 M5 \- Z" r1 n6 r! ?

8 n# }' s# K: ?' t1 K( ]( D! |) w        所以M0+的中断优先级:0、1、2、3, F9 V3 b; `. P7 r

& ~/ ^  }" s; Y  y+ s& }知识点2
. x* j: h' z+ v4 k% d) y( e
8 O' ^4 Q! H$ c        在Cortex-M0 上,FreeRTOS内核的临界区屏蔽了所有中断(除了NMI、HardFault、复位)。. R* x& r7 `( {8 K

5 G1 }+ w/ e* \  [知识点30 C1 j& ~: a( c) H/ P# V* d, X7 r
- |, [" q4 j8 |( T
        FreeRTOS 任务优先级从0开始,作为最低的紧急 RTOS 任务优先级,而M0+ NVIC 使用0作为最高的紧急中断优先级。
! I7 F0 @9 P* @6 V& k1 l: ]4 G! A* _/ o0 H2 C) f5 K3 v
        但是任务优先级和中断优先级没有关联
( v3 O; q9 ]5 Q1 _4 B1 S1 R
/ w* {% o. ~- x9 |7 B8 J知识点4, [; r$ t5 t: W! M

5 t$ J$ a( M/ u' _+ B, Y2 s% J$ R        FreeRTOS 内核使用 2-3 个中断,具体取决于内核:SysTick用作时基,PendSV用于上下文切换,以及Cortex-M3/4/7 上的SVCall用于启动调度程序。
( o9 f5 f8 J7 f6 x. c        SysTick 和 PendSV 配置为最低紧急程度:RTOS 以最低紧急程度运行。
$ ^2 {- N9 r# Q& A" O" R
; F& `. l* }  b: h6 U9 ?: M知识点5, ~6 }/ v+ F# [/ O" T" q
5 X0 \  o8 [! ~0 C! [
        中断服务代码里必须使用中断安全的FromISR()变体
8 r  U6 M9 Z+ Z! {1 \! v) x/ T3 E( g1 G; D1 \) [

6 R& M6 O7 F2 |) e" n; W
收藏 评论0 发布时间:2021-11-10 18:02

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版