Hi !
I can see _DSB() entry in almost all interrupt handlers for fix errata case.
But not in TickTimerHandler in FreeRTOS port.c:
void xPortSysTickHandler(void)
{
uint32_t ulDummy;
ulDummy = portSET_INTERRUPT_MASK_FROM_ISR();
{
/* Increment the RTOS tick. */
if (xTaskIncrementTick() != pdFALSE)
{
/* Pend a context switch. */
portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT;
}
}
portCLEAR_INTERRUPT_MASK_FROM_ISR(ulDummy);
// ???
}
Even if I unroll all macros, _DSB is not visible.
Or errata is not effect special handlers ?
By the way, do you have idea when new SDK will be released with new FreeRTOS 10.1.0 for K82 ?
Regards,
Eugene
Hello Eugene,
DSB is used before ISR return only if ISR's last operation is accessing peripheral registers.
Regarding your other question, we don't have a date for the release of the SDK with the new version of FreeRTOS.
Hope it helps!
Victor.
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------