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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.