Bootloader starten

Gast #4063885
Lesenswert?

Hallo Leute,

ich verwende momentan 2 XMEGA Mikrocontroller den XMEGA256A3U und den 
XMEGA32A4U. Für beide habe ich bereits einen Bootloader geschrieben. Ich 
habe dabei die ATMEL SP_DRIVER.c verwendet. Das scheint auch schon alles 
ganz gut zu funktionieren.

Ich flashe den Bootloader mit den AVR Studio in den XMEGA. Anschließend 
stelle ich mit Hilfe des AVR Studios das Bootfuse auf Bootloader um und 
schon startet der Bootloader.

Jedoch möchte ich den Bootloader nicht über das AVR Studio starten 
sondern über ein RS232 Kommando. Und genau hier tue ich mich momentan 
sehr schwer.

Hier mein Code:

BOOTRST_BOOTLDR_gc;

CCP = CCP_IOREG_gc;
RST.CTRL = RST_SWRST_bm;

Nur leider startet der Bootloader nicht. Auch wird das FUSE Bit nicht 
verändert. Der Softwarereset wird ausgeführt. Das konnte habe ich 
geprüft.
Gast #4354486
Lesenswert?

Johann schrieb:
> Geht das auch aus der Applitkation herraus dann wäre das ja schon die
> Lösung?

Hi Johann,

kamst du mitlerweile weiter mit dem Start von deinem Bootloader? Ich ich 
möchte auch aus der Application in den Bootloader jumpen (zB nachdem 
seriell ich ein bestimmtes Command schicke) und frage mich wie es am 
gescheitesten tue. Soll ich es über EIND o. Software Reset machen? Danke
Gast #4360758
Lesenswert?

Ja, das passt. Danke!

Ich probiere gerade die Lösung mit dem Reset in meiner Application. So 
kann ich, bevor die Hauptschleife im Bootloader startet RST.STATUS-Bit 
abfragen. Nur funktioniert es nicht ganz, wie ich es mir vorstelle....

Nachdem ich RST.CTRL manipuliere, wird das SRF-Flag zwar 1, nur wird 
dieser nicht mehr zurückgesetzt. Soll ich es manuell auf 0 setzen? Sonst 
gelange ich immer in den Bootloader, egal welchen Reset ich mache. Und 
meine (RST.STATUS & RST_SRF_bm) Abfrage nutzt dann nichts. Schreiben mit 
(RST.STATUS &= ~(RST_SRF_bm) hat keine Auswirkung.

Ich habe genauso mit dem WDT-Reset probiert. Genauso hier, nachdem der 
WD STATUS-Bit gesetzt wird, wird dieser nicht zurückgesetzt.

Also wie kann ich die RST.STATUS Register zurücksetzen??
Gast #4362166
Lesenswert?

OK, alles klar, wer lesen kann ist klar im Vorteil... Laut Datenblatt: 
"The flag will be cleared by a power-on reset or by writing a one to the 
bit
location." Also anstatt ne 0 zu schreiben, soll man ne 1 setzen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren