如果需要上下文切换,应用程序编写器可以在最合适的时间(通常在中断处理程序的末尾)使用taskYIELD_FROM_IS...
Case AIf the ISR method is returning now, the scheduler will not be called and Task2 is running until the time slice period is over and then the scheduler switches to the high prior Task1. Case BIf the ISR method callstaskYIELD_FROM_ISR(xHigherPriorityTaskWoken);at last, the ...
The hang occurs because the esp32 port was calling "from ISR" port-layer functions to set/clear the interrupt mask. FreeRTOS kernel therefore doesn't know the CPU is in a critical section. IntaskYIELD()the riscv port layerblocks after yielding until it knows the yield has happened, and ...
I notice your commit removed taskENTER_CRITICAL_ISR(); and taskEXIT_CRITICAL_ISR(); around the code calculating ulRunTimeCounter 8babb3b#diff-dc94871a7cae5e76d227db279a7b26d27a9a648faf63359143d43ae3997281abL3394 This is not mentioned in the commit log so I'm not sure if it's intentio...