2021-07-09 01:08 AM
Hello
Just as an information; (@Alexandre RENOUX )
You added the function OSWrappers::taskYield() when using L8 images.
TaskYield() is called in the function setupDataCopy.
The problem: setupDataCopy is also called from ISR as you know, TaskYield() is not allowed to be called from ISR and you get Thread-Errors.
I think this should be fixed in the next release...
Cheers, Roman
Solved! Go to Solution.
2021-07-12 05:06 AM
Could you see if the following process solves your issue ? I will update the Known Issues article in the documentation and write a post in the forum with it if it works for you.
while ((READ_REG(DMA2D->FGPFCCR) & DMA2D_FGPFCCR_START) != 0U)
{
// OSWrappers::taskYield();
}
The taskYield call should be gone now :thumbs_up:
/Romain
2021-07-13 04:23 AM
Hi @Romain DIELEMAN , this workaround is working fine.
/jimmii
2021-07-13 06:17 AM
I apologize for this bug. It's my fault. It's clearly stated in the cmsis os documentation that one should never call threadYield() from an ISR. Unfortunately, when using FreeRTOS (which we do through cubemx) the cmsis_os2 code checks if the function is being called from ISR and then does nothing.
/Martin