Der Header wird mit geflasht, so dass das Versions-Token auch im Flash vorhanden ist.
Der Bootloader flasht immer dann, wenn
- firmware.img vorhanden ist UND einen gültigen Header hat, UND
- die Firmware im Flash keinen gültigen Header hat (Magic "SNSD" an Offset 0 + valide Payloadgröße + CRC-Komplement-Check)
- ODER die Firmware im Flash nicht valide ist (CRC-Prüfung)
- ODER die Version vom Flash von der Version der firmware.img abweicht
- ODER die firmware.img die spezielle Version "SNSD" (CONFIG_FWVER=0x44534e53) hat.
Achtung, d.h. wenn die firmware.img die Version "SNSD" hat, wird JEDESMAL beim Booten geflasht! Würde ich von abraten, um das Flash im LPC1754 nicht über die Maßen auszuleiern. Für häufigeres Programmieren würde ich die firmware.img von der Karte löschen und generell per JTAG flashen.



