nuttx-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <>
Subject [GitHub] [incubator-nuttx] jlaitine edited a comment on pull request #1042: stm32h7 progmem fixes
Date Thu, 14 May 2020 05:54:26 GMT

jlaitine edited a comment on pull request #1042:

   The erase block size is sector size (128K). The page size is the nand page size, i.e. the
smallest writable unit which also has the flash internal ecc code. This is a nand device,
so it is not possible to write smaller units than page size, otherwise you'll end up with
nand ecc errors or wrong data (caused by ecc).
   The original version only worked when you were writing pretty much the full image sequentially,
 and even then it might have failed in the end doing some partial page write, if the image
size was not aligned to the flash internal page size.
   It was also not possible to use the original version with e.g. filesystems (map it to mtd
like layers) because of the page/sector mismatches and partial page writes.
   I'd guess that the px4 and the bootloader are originally written for NOR type flash memories,
and this is where the problems originate from.
   The 64 bit write made our HW unstable because of high current draw peaks which it causes;
there was a warning about this phenomena also ini some ST doc (which I can't seem to find
now). It may be chip version and PCB design dependent whether this issue occurs on others.
I was thinking that maybe it doesn't harm others having smaller write...? We didn't see any
performance issue with the smaller write either, although we didn't test the performance very
thoroughly because of the instability we encountered.

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:

View raw message