CRC32 verification on NAND flash

Yunus Bas Y.Bas at
Tue Sep 21 07:10:27 PDT 2021

Hello everyone,

I have a question regarding the Barebox checksum verification on NAND-
partitions. To verificate that the Barebox has been flashed correctly,
we do a crc32 check on the The offsets for the slots
are derived from the max partition, so that the slots are equally
sized. The bb-partitions are badblock-aware partitions, meaning that
the bad-marked blocks are just skipped. This means, that the overall
size of the bb-partition also decreases relative to the number of bad-
blocks. Our problem here is, in case a badblock occurs on a block prior
to the slots, the offset to the slots where the Barebox-code resides in
the bb-partition also changes.

Here an example:
The startpage of slot1 is 0x240000. This is the real address, where
Barebox is flashed into and can also be dumped using the original
nand0-partition. Now, when a bad-block occurs prior to the startpage of
slot1, let's take for example the block at 0x140000, then offset of
slot1 changes also in the partition. In the original partition
nand0, slot1 is still at 0x240000, but on, slot1 has been
moved one block prior to the original offset and changed to 0x220000.

Taking into account that with time the NAND cells will worn out and
degrate even more, we need to calculate the offset for every board to-
be tested and perform the crc32 check after that.
Using the original nand0-partition is also out of option, since the
verification would also fail when a badblock would occur somewhere in
the slot-area (in case of the above example, 0x260000).

Is there a proper way to do a checksum verification on NAND-flash,
which I'm not familiar with? Can the size of the partitions be somehow
determined dynamically? How do the experts handle this?

Thank you in advance.
With Regards,
Yunus Bas

-Software Engineer-
PHYTEC Messtechnik GmbH
Robert-Koch-Str. 39
55129 Mainz
Tel.: +49 (0)6131 9221- 466

Sie finden uns auch auf: Facebook, LinkedIn, Xing, YouTube

PHYTEC Messtechnik GmbH | Robert-Koch-Str. 39 | 55129 Mainz, Germany
Geschäftsführer: Dipl.-Ing. Michael Mitezki, Dipl.-Ing. Bodo Huber |
Handelsregister Mainz HRB 4656 | Finanzamt Mainz | St.Nr. 266500608, DE
This E-Mail may contain confidential or privileged information. If you
are not the intended recipient (or have received this E-Mail in error)
please notify the sender immediately and destroy this E-Mail. Any
unauthorized copying, disclosure or distribution of the material in
this E-Mail is strictly forbidden.

More information about the barebox mailing list