Gast
#5047918
Hallo Zusammen, Eine Frage ist hier jemand der vielleicht auch einen Bootloader verwendet auf einem XMC4500 oder STM32 der auch CRC geschützt die Applikation anspringt. Also ich rede nur von einem Bootloader und von einer Applikation. Es gibt ja auch andere varianten. Ich mach das eigentlich schon lange - komme aus der XC167 und XE167 Welt. Bei den Controllern habe ich das immer so gemacht das ich mit SRecord an einen bestimmten bereich im Flash die CRC geschrieben habe. Beim Booten habe ich dann die CRC überprüft und falls diese gleich war wie die abgelegte habe ich noch einen Zeitstempel zusätzlich abgelegt.... Funktionierte über die Jahre perfekt. Mein Problem nun ist bei den neuen Controllern gibt es im Flash keine kleinen Bereiche mehr man kann nur noch Sektoren löschen und wiederbeschreiben. Beim XMC4500 hieße das sogar 16KB für 2 uint16_t zu opfern. Damals gab es ja noch einen Page Erase und Page Write. Und da das ja im Lebenszyklus nicht so oft vorkommt war das für das Flash auch kein Problem. Jetzt dachte ich mir in nehme eine EEPROM Flash Emulation als speicher. Das Problem ist dann kann ich nicht mit SRECORD die crc berechnen und im Build ablegen. Aber ich könnte die CRC beim Builden wieder mit SRECORD berechnen und ablegen und beim Booten vergleichen ob diese im EEPROM steht wenn nicht mache ich ein Update dieser CRC und der Vergleich nimmt dann diese im EEPROM. Das Datum kann ich dann einfach nur fix an die EEPROM Address legen. Hätte jemand ne bessere Idee? Echt Schade, dass die solche Controller nicht auch mal mit ei paar Byte EEPROM ausstatten. :-( Wie macht ihr das so? Danke sg