Atmel Studio 6 + ISR + Bootloader

Gast #3452787
Lesenswert?

Guten Tag,

ich benutze Atmel Studio 6 + JTAGICE3 Debugger und programmiere via 
ISP-Schnittstelle den ATmega32.

Mein Ziel ist, auf den µC einen Bootloader aufzuspielen und den dort 
auch
zu belassen. Sprich, wenn ich über ISP-Schnittstelle programmiere soll
die Bootloader-Sektion nicht gelöscht werden. Ist sowas möglich?

Ich habe bereits unter "Device Programming > Lock bits" LB und BLB1 auf 
den
Wert "LPM_SPM_DISABLE"  gesetzt, aber der Bootloader wird dann trotzdem
gelöscht....  Ich vermute, weil zuvor immer ein "Erase device" 
durchgeführt wird.

Weiß jemand Rat? :)
#3453118
Lesenswert?

Schon mal versucht "Erase device before programming" zu deaktivieren?

Am besten gehst du so vor:
1. Bootloader flashen + "Erase device .."
2. Application flashen ohne "Erase device .."
   Bootloader und App können jetzt beide benutzt werden
3. Nur noch den bootloader benutzen

Soweit ich weiß kann man über ISP keine einzelnen Pages löschen.
Also immer nur das ganze device. Danach können beliebige Pages 
beschrieben werden.
Ein Bootloader kann einzelne Pages löschen und neu beschreiben.
#3453233
Lesenswert?

An sich Nein. Wie schon gesagt, kann das flash nur als ganzes gelöscht 
werden. Danach können einzelne Teile vom flash beschreiben werden. Es 
ist demnach nicht möglich den Bootloader zu behalten und die App zu 
löschen.

Es gibt einen Workaround. Und zwar kann man Bootloader und App in eine 
hex oder bin Datei packen und zusammen programmieren. Dazu gibt es 
verschiedene Lösungen. Oder guck mal 
AVR Bootloader in C - eine einfache Anleitung
Gast #3477931
Lesenswert?

Eduard Scheske schrieb:
> Es gibt einen Workaround. Und zwar kann man Bootloader und App in eine
> hex oder bin Datei packen und zusammen programmieren. Dazu gibt es
> verschiedene Lösungen. Oder guck mal
> AVR Bootloader in C - eine einfache Anleitung

Vielen Dank.

Ich habe hier mal nachgelesen, aber die Lösung ist nicht 
zufriedenstellend.
http://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung

Zuerst wird normale *.hex erstellt, auf den µC geschrieben und dann erst 
wird
die bootloader.hex zur Datei hinzugefügt.

Gibt es eine einfache Möglichkeit, zuerst die Vereinigung der 
Anwendungsdatei und Bootloaderdatei zu veranlassen und erst dann auf den 
µC zu schreiben? Danke!

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