Warum ein extra Stoppzeichen?
Das Flash (ein Sektor bzw. das gesamte) muss vor dem Schreiben sowieso
gelöscht werden d.h. alle Bytes werden auf 0xff gesetzt -> wenn man dann
z.B. vor jeden Datensatz einen Header ungleich 0xff schreibt, hat man
das Problem gelöst.
Wenn man garantieren kann, das ein Datensatz nicht nur 0xff enthält,
kann man sich auch den Header sparen und sucht dann z.B. nach dem ersten
Sektor/Datensatz der nur aus 0xff besteht.
Geht auch das nicht, speichert man die letzte Schreibadresse irgendwo
anders (ext. FRAM/EEPROM, int. RAM, regelmäßig im Flash des Controllers
etc.)