Quote by Thomas.AC
Hallo Thorsten
Code
if not EEprom[EEpromEnd] = $00 then
Application_Startup;
Das ist nicht der Standard Bootloader Code und irritiert, da dein Problem nicht auftreten kann.
Hallo Thomas,
im ersten Post siehst Du den Code ohne das "NOT", das war original beim Test aus dem unteren DEMO "XMEGA_FATboot". Das NOT kam später dazu, da ich nur bei $AA den Flash haben möchte.
Bei dieser Variante würde er immer den Flash gehen, wenn kein $00 in der Speicherstelle steht, das habe ich aber geändert in
Code
if not EEprom[EEpromEnd] = $AA then // alt war 00
Application_Startup;
endif;
Application_Startup;
endif;
Somit startet er jetzt immer die MainApp, es sei denn es steht ein $AA drinnen. das ist nun meine Anforderung für ein Flash.
Hat die gleiche Funktion wie dein Code:
Code
if EEprom[EEpromEnd] <> $FF then
Application_Startup;
endif;
Application_Startup;
endif;
Normalerweise würde der XMEGA hier ein Flash durchführen und starten, damit hätte ich auch kein Problem. Aber warum beendet er das UpdateFirmware() mit FALSE und Fehlercode "0", wenn der Inhalt der Speicherstelle kein $FF vor dem UpdateFirmware ist?
Das ist hier das Hauptproblem oder die Frage.
Thorsten
Attachments
Filename: | 06-04-_2020_09-21-15.png |
Filesize: | 136.78 KB |
Title: | XMEGA_FATboot |
Information: | XMEGA_FATboot |
Download counter: | 93 |
Filename: | 06-04-_2020_09-29-28.png |
Filesize: | 36.86 KB |
Title: | Alter Code.. |
Information: | Alter Code..siehe 1. Post |
Download counter: | 89 |