diff options
author | Damien George <damien@micropython.org> | 2025-03-19 15:59:22 +1100 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2025-03-25 12:59:04 +1100 |
commit | 396ab268df8a0b52e25108e41370ec6ab64fd337 (patch) | |
tree | 3291bcde0e92f09d2965bb2d135462c2aaff731d /docs/reference | |
parent | c61e85910879d5db120d00f7790ed36f4dcda44d (diff) | |
download | micropython-396ab268df8a0b52e25108e41370ec6ab64fd337.tar.gz micropython-396ab268df8a0b52e25108e41370ec6ab64fd337.zip |
stm32/qspi: Implement MP_QSPI_IOCTL_MEMORY_MODIFIED ioctl.
stm32's QSPI driver supports memory-mapped mode. The memory-mapped flash
can also be erased/written to. To support both these modes, it switches in
and out of memory-mapped mode during an erase/write.
If the flash is erased/written and then switched back to memory mapped
mode, the cache related to the memory-mapped region that changed must be
invalidated. Otherwise subsequent code may end up reading old data.
That cache invalidation is currently not being done, and this commit fixes
that.
This bug has been around ever since QSPI memory-mapped mode existed, but
it's never really been observed because it's not common to use flash in
memory-mapped mode and also erase/write it. Eg PYBD_SF2 uses the
memory-mapped flash in read-only mode to store additional firmware.
But since the introduction of ROMFS, things changed. The `vfs.rom_ioctl()`
command can erase/write memory-mapped flash.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'docs/reference')
0 files changed, 0 insertions, 0 deletions