Forum: Mikrocontroller und Digitale Elektronik Atmeg8 lässt sich nichtmehr flashen


von hegi (Gast)


Lesenswert?

Hallo

bis gestern hat mein mySmartControl MK2 8K noch einwandfrei 
funktioniert.

Heute wollte ich ein neues programm flashen aber ich bekomme immer einen
fehler das der bootloader nicht reagiert. Bzw das programm fängt an zu 
flashen aber bleibt bei 0 % hängen und hört dann auf.
Ich benutze das myavr progtool

Dann wollte ich den bootloader aktualisieren bzw neu auf flashen und 
dann bekomme ich folgenden fehler :

<vorbereiten ...
<brennen ...
<benutze: mySmartControl an COM2 mit ATmega8
<Fehler: Das Setzen der Fuses wird nicht unterstützt.
<brenne Flash, 7870 Bytes ...
<brenne EEPROM, 0 Bytes ...
<Die verfügbare Flash-Größe reicht nicht für die zu brennenden Daten 
aus. <Verfügbar sind 0x1800 Bytes.

Das programm das ich gestern auf den atmega geflash habe funktioniert 
aber immernoch und läuft ohne probleme.

gruß

von Krapao (Gast)


Lesenswert?

> Heute wollte ich ein neues programm flashen aber ich bekomme immer einen
> fehler das der bootloader nicht reagiert. Bzw das programm fängt an zu
> flashen aber bleibt bei 0 % hängen und hört dann auf.
> Ich benutze das myavr progtool

Wenn du eine Fhelermeldung hast, Copy&Paste in die nächste Suchmaschine. 
Vielleicht hatte jemand schon das gleiche Problem und es wurde bereits 
eine Lösung gefunden. Daumendrück!

Hast du die Hardware kontrolliert, ob sich vielleicht ein Drähtchen 
gelockert hat oder ein Stecker verdreht aufgesteckt ist? Hast du 
vielleicht diesmal ein anderes RS232 Kabel benutzt?

> <benutze: mySmartControl an COM2 mit ATmega8
> <Fehler: Das Setzen der Fuses wird nicht unterstützt.

Könnte ich mir so erklären: Das Programmieren wird mit Bootloader 
gemacht. Der Bootloader kann aber von Natur aus keine Fuses setzen. Die 
Fehlermeldung wäre logisch.

Den Bootloader kannst du im ISP Modus ersetzen. Dafür muss der 
Bootloaderschutz in den Fuses vorm Flashen aufgehoben werden und danach 
wieder eingerichtet werden. Die Zeile oben will das wohl auch machen.

> <brenne Flash, 7870 Bytes ...
> <brenne EEPROM, 0 Bytes ...
> <Die verfügbare Flash-Größe reicht nicht für die zu brennenden Daten
> aus. <Verfügbar sind 0x1800 Bytes.

0x1800 sind 6K. D.h. der Bootloaderschutz ist noch aktiv und der 
Programmer erkennt, dass das Flash ohne Bootloaderbereich zu klein ist.

Das Flashimage 7870 Bytes ist ein Image für das 8K Flash, wenn kein 
Bootloaderschutz aktiv ist.

Lange Rede kurzer Sinn:

Du musst es schaffen, den Bootloaderschutz zu deaktivieren, wenn du den 
Bootloader einzeln oder als Gesamtflashimage brennen willst. Zum Brennen 
des Bootloaders selbst und zum Fuses setzen kannst du den Bootloader 
nicht verwenden. Du musst was anderes nehmen z.B. ISP. Dafür brauchst du 
einen zweiten Programmieradapter

Ich würde nicht ohne Not versuchen, den Bootloader zu ersetzen! Wenn 
du Zweifel an den Bootloaderdaten hast, lies den Bootloader aus, wandele 
ihn in ein Binärfile (z.B. mit objcopy aus dem WinAVR Paket) und 
vergleiche ihn mit einem sauberen Binärfile des Bootloaders.

Arbeite daran ein kleines Anwendungsprogramm zu schreiben, das in 6K 
Flash passt. Vielleicht verschluckt sich der Bootloader an dem zu großen 
Anwendungsprogramm (zu Recht).

http://shop.myavr.de/index.php?404;http://www.myavr.de:80/shop/article.php?artDataID=67

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.