Fork me on GitHub

FreeRTOS-PendSV与SysTick优先级的理解

FreeRTOS-PendSV与SysTick优先级的理解

1.PendSV与SysTick(大致理解,后面完善)

SysTick一般执行比如切换上下文,计数等操作。如果在中断的过程中使用SysTick切换上下文则可能会对中断产生延时,造成不可估量的问题。为防止这样问题的出现如果发生类似问题系统将“上访”成硬fault 异常。
PendSV则可以避免以上问题,他可以将上下文切换“缓期执行”。为了达到这个效果必须将此中断设置为最低优先级。

2.FreeRTOS中这两个优先级的配置

image

3. 记录

两个中断设置为优先级最低就是为了保证其他系统中断及时被相应(实时性)。因为在这两个中断中一般执行上下文相关操作时间大约会占微秒级别。这样在这个期间其他中断就不会立即执行。
为了保证系统的Tick数计数准确。在设计时候要保证进入中断的时间最好小与半个Tick并且绝对不能大于一个tick.

posted @ 2021-09-03 18:21  一地鸡毛-  阅读(1889)  评论(0编辑  收藏  举报