freertos - FreeRtos 上下文切换
问题描述
如果较高优先级的任务正在等待事件并且较低优先级的任务正在运行。在滴答中断高优先级任务准备好之前,那么在滴答中断之前上下文切换将如何发生?直到滴答中断更高优先级的任务将等待滴答中断到上下文切换?
我需要知道在freertos上下文切换只发生在滴答中断?如果不是,那么较高优先级的任务如何在滴答中断之前抢占较低优先级的任务,如果它在滴答中断之前准备好?
解决方案
如果在 FreeRTOSConfig.h 中将configUSE_PREEMPTION设置为 1,则 FreeRTOS 将始终运行能够运行的最高优先级任务,即使任务可在滴答中断之间运行也是如此。发生这种情况是因为发送解除阻塞任务的事件需要您调用 FreeRTOS API 函数,并且上下文切换发生在 API 函数中。我建议阅读免费书籍以了解有关调度策略的更多信息。
(这里已经提供了回复https://forums.freertos.org/t/freertos-context-switch/8333)
推荐阅读
- delphi - 控制台窗口始终在屏幕的左上角打开
- docker - Jenkins 脚本化管道,带有用于测试的 Sidecar MYSQL 容器
- c# - 如何访问“
这是我的控制
<div class="input-field col s6"> <textarea id="txtDescrizione" name="txtDescrizione" class="materialize-textarea" runat
- wpf - WPF DataGridTextColumn 和标签
- json - 如何在python中获取json usnig urllib3中的数据
- angular - Internet Explorer 11、Angular 8 和 SocketIO 兼容性
- node.js - Express Handlebars 不会呈现数据
- node.js - 如何修复nodejs错误找不到模块
- python - 清除数据框中的错误可能值
- kdb - 替换 Matrix KDB 的中间行