Dauertest und Bootloadereinsprung

  • 1
  • 2
  • Seite 2 von 2
pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 54
Beiträge: 1343
Dabei seit: 02 / 2009
Betreff:

Re: Dauertest und Bootloadereinsprung

 · 
Gepostet: 06.04.2020 - 09:26 Uhr  ·  #9
Zitat geschrieben von 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;


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;


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
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 44
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

Re: Dauertest und Bootloadereinsprung

 · 
Gepostet: 07.04.2020 - 09:05 Uhr  ·  #10
Ich wollte nur darauf hinweisen, warum Rolf wie folgt geantwortet hat.
Zitat
Kann ja nicht sein. Bei <> $00 springt das System in das MainApp. Falsch !!!


Dein Hauptproblem hatte ich verstanden:
Die Funktion UpdateFirmware funktioniert nur dann richtig, wenn am EEpromende $FF gespeichert ist. Die wäre natürlich Unsinn.
Falls ich die Tage Zeit bekomme, versuche ich deine Erkenntnis zu widerlegen oder zu untermauern, indem ich es mit meiner HW teste.

Gruß
Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 44
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

Re: Dauertest und Bootloadereinsprung

 · 
Gepostet: 07.04.2020 - 09:54 Uhr  ·  #11
Mal eben im Assembly Code geschaut.
UpdateFirmware beschreibt das EEpromende.

Die Funktion schreibt zu Beginn der Programmierung $FF
und nach erfolgreicher Programmierung $00 ans EEpromende.
Soweit ich das erkenne.
  • 1
  • 2
  • Seite 2 von 2
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   66   80 · Page-Gen-Time: 0.034092s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI