Bootloader mit AES und beide Hexfiles auf einmal laden

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

Bootloader mit AES und beide Hexfiles auf einmal laden

 · 
Posted: 09.07.2018 - 10:25  ·  #1
Hallo,

ich habe ein komisches Bild. In meinem Homeoffice mit dem isp3x klappt die Erzeugung mit AES.
Jetzt wollte ich im Büro zum Test mit meinen Alten USB-ISP3 eine DLD Datei mit AES erzeugen.
Leider fehlt die Option "XMega Boot DLD file + AES" (Siehe Bild)
Mache ich was falsch?

Weiterhin bekomme ich den gemeinsamen Download beider HEX-Files nicht hin.

Ich habe 2 Apps:
1. die BootApp für SD Firmwareload
2. die MainApp (Firmware)

Wo muss die Option rein? In 1 oder 2?
Ich habe beides getestet, aber es geht nicht :-(

Der Versuch in der MainApp:
Code
 addApp = 'D:...PVS-2018_BOOTSD.hex'; // Pfad zum Bootloader


Thorsten
You must be logged in or your permissions are to low to see this Attachment(s).
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: Bootloader mit AES und beide Hexfiles auf einmal laden

 · 
Posted: 10.07.2018 - 22:10  ·  #2
Ich vermute, dass bei addapp kein '.hex' stehen darf.
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1340
Registered: 02 / 2009
Subject:

Re: Bootloader mit AES und beide Hexfiles auf einmal laden

 · 
Posted: 11.07.2018 - 08:52  ·  #3
Quote by Thomas.AC

Ich vermute, dass bei addapp kein '.hex' stehen darf.


OK, das kann ich mal testen.

Thorsten
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1340
Registered: 02 / 2009
Subject:

Re: Bootloader mit AES und beide Hexfiles auf einmal laden

 · 
Posted: 16.07.2018 - 09:21  ·  #4
Quote by Thomas.AC

Ich vermute, dass bei addapp kein '.hex' stehen darf.


Sag mal, was ist denn nun eigentlich die richtige Vorgehensweise?

1. MainApp mit "addApp = 'D:...PVS-2018_BOOTSD.hex'; // Pfad zum Bootloader"
oder
2. BootApp mit " addApp = 'D:...PVS-2018_Main.hex'; // Pfad zum Hauptprogramm"

Er lädt zwar den Booloader mit (lt. Anzeige Flash Programmer), auch mit dem Flag für Bootreset "FuseBits2 = [BootRst]; ", aber er spingt nicht in den Bootloader, bei Vorgang 1.

Lade ich den Bootloader zuerst (Vorgang 2), dann versucht er sofort einen Flash durchzuführen, obwohl die App im EEPROM als "$00" gültig eingestellt wurde. Und dabei habe ich im Moment noch das Problem, des fehlerhaften Flash-Vorgangs, es werden fehlerhafte Speicherstellen geschrieben und zwar immer an die selben Stellen (Siehe Post XMega_FATboot Fehlerhafter Flashvorgang )

Thorsten
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: Bootloader mit AES und beide Hexfiles auf einmal laden

 · 
Posted: 16.07.2018 - 20:06  ·  #5
Ich habe das einmal mit einem xmega128a4u angetestet aber nicht mehr weiter verfolgt.
Dabei habe ich die Bootapp in der Hauptanwendung eingebunden.

Quote

Er lädt zwar den Booloader mit (lt. Anzeige Flash Programmer), auch mit dem Flag für Bootreset "FuseBits2 = [BootRst]; ", aber er spingt nicht in den Bootloader, bei Vorgang 1.


Bist du ganz sicher, dass der xmega nicht doch in das Boot springt. Bei programmierter BOOTRST fuse sollte das auf jeden Fall passieren.

Ist dein Watchdog abgeschaltet (fuse WDLOCK nicht programmiert und auch nicht per software eingeschaltet)?

Benutzt du EESAVE?

Verlässt du dich auf structconst im EEPROM?

Machst du in der Hauptanwendung
Code

EEprom[EEpromEnd] = $FF;
mDelay(10); // nur zur Sicherheit
System_Reset;

um in die Bootapp zu wechseln?
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1340
Registered: 02 / 2009
Subject:

Re: Bootloader mit AES und beide Hexfiles auf einmal laden

 · 
Posted: 17.07.2018 - 19:26  ·  #6
Hallo Thomas,

ich habe in der MainAPP:
Code
FuseBits2 = [BootRst]; 
  FuseBits5              = [BodLevel0,BodLevel2, BodAct0, EESAVE]; //  2.6V:


Für den gewünschten Sprung in den Bootloader:
Code
...
    elsif DispTast.ok and (bSelZeile = 1) then    // Flash einleiten
      if BLogin then
        mDelay(100);
        F16_FlushBufSec;  // Sichere offene Dateien
        //F16_SDIO_Idle;    // Schalte die MicroSD auf IDLE
        USB_Detach;       // USB Abmelden
        EEprom[EEpromEnd]:= $FF;   // invalidate application for Boot usage
        mDelay(500);
        HardWareReset;    // Reset ausführen und Sprung in den BOOTBEREICH
      endif;
    elsif DispTast.ok and (bSelZeile = 2) then
...


In der Bootapp nutze ich, das einschalten der LCD-Beleuchtung zum Test das der Sprung in den Boot funktioniert hat (dient nur zum Test):

Code
{--------------------------------------------------------------}
{ Main Program }
{$IDATA}
begin
   I2CInit; // Schalte Beleuchtung des LCD ein um den Sprung in Bootbereich zu zeigen
    mDelay(5000); // Warte kurz

  if EEprom[EEpromEnd] = $00 then
    Application_Startup;
  endif;
..
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1340
Registered: 02 / 2009
Subject:

Re: Bootloader mit AES und beide Hexfiles auf einmal laden

 · 
Posted: 19.07.2018 - 21:27  ·  #7
So :-)

Es funktioniert.
Ich benutze in der MainApp
Code
 addApp = 'D:...PVS-2018_BOOTSD.hex'; // Pfad zum Bootloader


Aber VORSICHT!!!
Für das erzeugen der DLD-Datei für das SD-Card Flash, muß diese Option ausgeklammert werden.
Sonst gibt es Ärger mit dem Bootloader.

Und damit er nicht gleich versucht einen Flash zu machen, habe ich im Code die EEPROM Stelle auf 00 geschrieben.
Code
{$EEPROM}
Structconst
  FlashStop[EEpromEnd] : byte = $00; // Soll das flashen verhindern
{$IDATA}



Thorsten
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: Bootloader mit AES und beide Hexfiles auf einmal laden

 · 
Posted: 23.07.2018 - 14:56  ·  #8
Aaaaahhhh, okay, vielen Dank für die Info.

In diese Stolperfalle wäre ich auch getreten,
Weißt du zufällig, wie die Fuses gesetzt werden, wenn in BootSD und in der mainApp defines dafür angelegt wurden?
Ich habe soweit nicht mehr recherchiert?

Gruß
Thomas
  • 1
  • 2
  • Page 1 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: 15 · Cache Hits: 14   141   155 · Page-Gen-Time: 0.027256s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI