Dauertest und Bootloadereinsprung

  • 1
  • 2
  • Page 2 of 2
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1340
Registered: 02 / 2009
Subject:

Re: Dauertest und Bootloadereinsprung

 · 
Posted: 06.04.2020 - 09:26  ·  #9
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;


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
Attachments
XMEGA_FATboot
Filename: 06-04-_2020_09-21-15.png
Filesize: 136.78 KB
Title: XMEGA_FATboot
Information: XMEGA_FATboot
Download counter: 38
Alter Code..
Filename: 06-04-_2020_09-29-28.png
Filesize: 36.86 KB
Title: Alter Code..
Information: Alter Code..siehe 1. Post
Download counter: 34
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: Dauertest und Bootloadereinsprung

 · 
Posted: 07.04.2020 - 09:05  ·  #10
Ich wollte nur darauf hinweisen, warum Rolf wie folgt geantwortet hat.
Quote
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
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: Dauertest und Bootloadereinsprung

 · 
Posted: 07.04.2020 - 09:54  ·  #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
  • Page 2 of 2
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 16 · Cache Hits: 15   68   83 · Page-Gen-Time: 0.025689s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI