Use PSRAM and write flash possible?
Posted: Mon Aug 15, 2022 7:31 pm
Hello, this might have been asked before but it is hard to search the forum, it keeps serving blank pages 80% of the time ...
To the point: The docs state that "When flash cache is disabled (for example, if the flash is being written to), the external RAM also becomes inaccessible; any reads from or writes to it will lead to an illegal cache access exception. This is also the reason why ESP-IDF does not by default allocate any task stacks in external RAM (see below)."
I understand that, and why that is so. But does ESP-IDF have an internal mechanism to synchronize this? I have read somewhere that it does, but also other texts saying differently. In other words:
If I have a few tasks reading from net-if and reading/writing (large) variables in PSRAM and one (or maybe two) tasks that now and then save something (relatively small) to flash using the standard wear leveling and file system components, will those be synchronized ? All tasks have stacks in internal RAM. Or do I need other storage facilities (SDIO) when using PSRAM?
Thanks in advance !
Bart
To the point: The docs state that "When flash cache is disabled (for example, if the flash is being written to), the external RAM also becomes inaccessible; any reads from or writes to it will lead to an illegal cache access exception. This is also the reason why ESP-IDF does not by default allocate any task stacks in external RAM (see below)."
I understand that, and why that is so. But does ESP-IDF have an internal mechanism to synchronize this? I have read somewhere that it does, but also other texts saying differently. In other words:
If I have a few tasks reading from net-if and reading/writing (large) variables in PSRAM and one (or maybe two) tasks that now and then save something (relatively small) to flash using the standard wear leveling and file system components, will those be synchronized ? All tasks have stacks in internal RAM. Or do I need other storage facilities (SDIO) when using PSRAM?
Thanks in advance !
Bart