In my system the flash erase/write action cause issue with system Tick precision. During flash writing the code is running from RAM and all interrupts are disabled.
Each write operation takes ~10ms and the Tick value is not incrementing. I plan to calculate system block time based on processor cycle counter and adjust Tick value.
I want to create own function similar to vTaskStepTick() byt without
configASSERT( ( xTickCount + xTicksToJump ) <= xNextTaskUnblockTime );
In my case it can happen that Tick value is already bigger than xNextTaskUnblockTime.
I’m aware that my system is not true real time system.
- Will system work properly (tasks to unblock will run / timers will expired) with next calling of xTaskIncrementTick() if Tick value is bigger than xNextTaskUnblockTime.
- In my understanding the only issue with this design is that task switching from block to run time will be postponed. I’m I right?
I’ve seen similar topic:
But I don’t see direct answer to my questions