Forum: Mikrocontroller und Digitale Elektronik ARM SAM-BA reset nach flashen


von Fabian B. (fabs)


Lesenswert?

Servus Gemeinde,
 ich habe ein custom Board mit einem AT SAM3S2 drauf.

Dieses soll im Feld über USB geupdated werden.
Dazu habe ich in meinem Programm eine Funktion um das Boot-bit auf ROM 
umstellen zu können und zu resetten.
Das Board startet dann in den SAM-BA Bootloader.

Soweit so gut, ein upload des neuen Programmes um ein Umstellen des 
Boot-Bit zurück auf Flash geht auch einwandfrei.

Ich finde jedoch keine Möglichkeit aus dem Bootloader heraus das Board 
wieder zu resetten um das Programm wieder zu starten. Man muss also an 
dieser Stelle manuell eingreifen und den Stecker einmal ziehen.

Gibt es eine Möglichkeit SAM-BA das User-Programm starten zu lassen, 
oder einfach die CPU zu resetten?

Gruß
Fabian

von Der_Blister (Gast)


Lesenswert?

Ohne den Controller zu kennen, das sollte über RSTC_CR gehen.
1
• PROCRST: Processor Reset
2
0 = No effect.
3
1 = If KEY is correct, resets the processor.
4
• PERRST: Peripheral Reset
5
0 = No effect.
6
1 = If KEY is correct, resets the peripherals.
7
• EXTRST: External Reset
8
0 = No effect.
9
1 = If KEY is correct, asserts the NRST pin.
10
• KEY: Password
11
Should be written at value 0xA5. Writing any other value in this field aborts the write operation.

von Fabian B. (fabs)


Lesenswert?

Wie ich das aus einem Programm raus mache ist klar. Dafür gibts sogar in 
der Atmel ASF Befehle.

Der im ROM befindliche Bootloader SAM-BA scheint aber keinen direkten 
Befehl zu kennen. Ich habe bisher auch keine Infos dazu bekommen ob es 
überhaupt möglich ist.

Theoretisch müsste es möglich sein, ein mini-Programm zu erstellen, das 
man über SAM-BA in den RAM schreibt und dann dort ausführt...

Da der SAM-BA Bootloader scheinbar in vielen ARM Cores enthalten ist, 
sollte das kein reines Atmel Thema sein...

Vielleicht kennt dazu jemand was?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.