epoko 发表于 2022-12-23 14:55:51

关于stc32的freertos的中断抢占实时性问题

想知道目前的freertos程序是否支持在中断中使用rtos的api,如何在中断里切换任务?
目前系统在打开抢占式内核的情况下,中断里的事件触发会在下一个tick后得到任务切换响应,说明timer0的中断会进行切换任务,不过从代码上看任务切换的损耗代价有点大,如果把这一套代码搬到其他中断上,中断效率会非常低下。
目前的解决办法是关闭抢占式内核,这样只会在空闲任务中切换任务,在系统负载不大的情况下,效率会比抢占式内核高

zhp 发表于 2022-12-23 18:05:22

FreeRTOS的任务有两种切换方式:抢占式和轮询式
抢占式:优点为实时性,但系统负荷大
轮询式:系统负荷小,但实时性差(如果低优先级的任务占用CPU时,高优先级的任务无法及时被执行)
页: [1]
查看完整版本: 关于stc32的freertos的中断抢占实时性问题