Bootloader für XMega

RichardT
Benutzer
Avatar
Gender:
Age: 56
Posts: 19
Registered: 02 / 2013
Subject:

Bootloader für XMega

 · 
Posted: 09.05.2015 - 23:21  ·  #1
Hallo @ all

Hab ein Problem mit dem ich seit 3 Tagen festhänge.

Hab Bootloader App geschrieben nach dem Vorbild: XMega_FATBoot. Soweit alles OK
Hab nun versucht eine funktionierende App via *.DLD file und SD karte (2GB, FAT32) zu laden.
Alles funktioniert soweit, nur läuft die Mainapp nicht an. Im Flash ist ein Programm von $00000 bis $XX und die BootApp von $20000 bis $YY. Im EEprom[EEpromEnd] steht "00", d.h. Upload($1234) hat geklappt.
BootErr gibt auch keine Fehlermeldung. Die geladene Mainapp im Flash ab $00000 ist allerdings viel kürzer und scheint auch komplett anders zu sein. Bin ratlos.

Device ist XMega128A4U.
SD card und Hardware hab ich mit anderem Program getestet, nach dem Vorbild XMega_FAT32.

PS: die Bootapp lauft nach einem Hardware reset wieder an allerdings ist dann im EEprom[EEpromEnd] = 00, und somit gibts kein Upload.

Frage: Warum lauft die Mainapp nicht an?
Bin auch unsicher mit den BootRst Adressen. Word oder byte Adresse? Im Datenblatt sind Word Adressen ($10000). Hab { $BOOTRST $20000} und { $BOOTRST $10000} probiert.
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: Bootloader für XMega

 · 
Posted: 11.05.2015 - 00:27  ·  #2
Hallo RichardT,
da müsstest du mir mal bitte dein DLD File + Tesprog mailen per PM.
Sonst dürfte Hilfe schwer werden.

Gruß
miparo
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: Bootloader für XMega

 · 
Posted: 16.05.2015 - 16:16  ·  #3
Hallo Richard,
das war ein Bug in der uFAT_BootX.PCU.

Gruß
miparo
RichardT
Benutzer
Avatar
Gender:
Age: 56
Posts: 19
Registered: 02 / 2013
Subject:

Re: Bootloader für XMega

 · 
Posted: 18.05.2015 - 21:23  ·  #4
Danke Miparo

Hab's ausprobiert. Jetzt klappt's.

PS noch einen Tip an andere User: ein mdelay nach dem "EEprom[eepromend] := $FF" ist wichtig.?!?
(in der Main App)
Code
  if Firmware_Update  then
   EEprom[EEpromend] := $FF;            //enable bootloader update
   mdelay(100);
   HardwareReset;
  endif;
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Bootloader für XMega

 · 
Posted: 19.05.2015 - 13:42  ·  #5
Hallo Richard,

klar ist ein Delay hier wichtig.
Das Schreiben ins EEprom kostet ein paar msec. Da sollte kein RESET
dazwischen funken.

rolf
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   94   108 · Page-Gen-Time: 0.025543s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI