mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* CRC32 verification on NAND flash
@ 2021-09-21 14:10 Yunus Bas
  2021-09-23  9:55 ` Trent Piepho
  0 siblings, 1 reply; 3+ messages in thread
From: Yunus Bas @ 2021-09-21 14:10 UTC (permalink / raw)
  To: barebox, sha

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 nand.bb-partition. 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 nand0.bb partition. In the original partition
nand0, slot1 is still at 0x240000, but on nand0.bb, 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
Germany
Tel.: +49 (0)6131 9221- 466
Web: www.phytec.de

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
149059855
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.
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-09-24 14:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-21 14:10 CRC32 verification on NAND flash Yunus Bas
2021-09-23  9:55 ` Trent Piepho
2021-09-24 14:21   ` Yunus Bas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox