Hi all,

I'm working with custom stm32f7 board and PX4 old fork, where I have my
module that writes in several chunks some data (289 bytes) inside one of
the partition of MTD mx25lx at SPI1, while there is PX4 params module that
autosave parameters on changes in another partition of the same MTD.
And sometimes data in my part of MTD (at least) gets corrupted by a couple
of zeroed bytes, I can check it by rereading right after writing.

It does not always happen and it's quite tricky to catch. There is no issue
if no parameters change in parallel or if I disable CONFIG_STM32F7_SPI1_DMA.

As for me looks like potential issue with dcache, especially taking into
account I'm quite "lucky" for such issues (: previously were "SD FAT32:
Write failed with err 28 (no space left on device)" that was fixed in
https://github.com/apache/nuttx/pull/5062 and "Potential UDP packets loss"
that was fixed in https://github.com/apache/nuttx/pull/6831.

Unfortunately I don't have enough perception of dcache, how to debug such
time-related things, so I'm looking for any advice.

---
With best regards, Oleg.

Reply via email to