目录
1、执行系统调用
2、SysTick中断
RTOS 系统的核心是任务管理,而任务管理的核心是任务切换,任务切换决定了任务的执行顺序,任务切换效率的高低也决定了一款系统的性能。
学习本篇博文之前推荐先看一下这篇文章:PendSV异常及中断服务函数(拓展篇—)。
FreeRTOS 执行任务切换有以下两种情况导致:
(1)、执行系统调用。
(2)、系统滴答定时器(SysTick)中断。
下面分别介绍这两种情况。
1、执行系统调用
FreeRTOS使用taskYIELD()函数实现任务切换,taskYIELD()函数是个宏,在文件task.h 中有如下定义:
/**
* task. h
*
* Macro for forcing a context switc