Hello all,
I'm using a STM32F769 controller with Cortex M7 and FreeRTOS 10.2.0 as OS.
And I will do an SystemReset to restart my system with other Boot settings.
Now, i will keep sure that all my data will not corrupted while the systemReset().
Of that reason, I take SCB_DisableDCache();
The problem that, the os runs in a HardFault, StackoverFlow etc. by calling SCB_DisableDCache().
I think, the reason is that an Interrupt was interrupting SCB_DisableDCache(); and produce the errors.
My question:
How I use SCB_DisableDCache() correctly?
Should I block|stop anything befor entering the function?
My quick and dirty solution is following:
SCB_CleanDCache();
taskENTER_CRITICAL();
SCB_DisableDCache();
taskEXIT_CRITICAL();
SystemRESET();
If anyone has a better solution, please let me know. Thanks.
I think your condensator is very big, so that during Reset time your has a voltage. Because that your RAM is valid.
I think your capacitor is very large, so during the reboot, you still have the voltage and your RAM is valid. You need to increase Reset time
Shmuel
View all questions in Embedded forum