Firmwareupload auf ATMEGA8 mit usbasp-Bootloader nur einmal möglich!?

OP (Firma: Student) #2560286
Lesenswert?

Hallo!

Ich habe mir ein Metaboard (https://metalab.at/wiki/Metaboard) 
nachgebaut, mit dem Ziel, die Arduino-IDE zum Programmieren zu 
verwenden.
Habe gerade allerdings noch etwas Startschwierigkeiten, ich beschreibe 
einfach mal mein Vorgehen:

- mithilfe eines Arduinos habe ich den Bootloader 
http://www.obdev.at/products/vusb/usbasploader.html auf den ATMEGA8 
gebrannt.

in meiner "boards.txt" habe ich folgendes ergänzt:
1
##############################################################
2
metaboard.name=Metaboard w/ ATMega8
3
metaboard.upload.protocol=avrisp
4
metaboard.upload.maximum_size=7168
5
metaboard.upload.speed=19200
6
 
7
metaboard.build.mcu=atmega8
8
metaboard.build.f_cpu=16000000L
9
metaboard.build.core=arduino
10
 
11
metaboard.bootloader.low_fuses=0xef
12
metaboard.bootloader.high_fuses=0xc9
13
metaboard.bootloader.path=metaboard
14
metaboard.bootloader.file=mega8_16mhz.hex
15
metaboard.bootloader.unlock_bits=0x3F
16
metaboard.bootloader.lock_bits=0x0F
17
 
18
metaboard.upload.disable_flushing=true

- danach habe ich das Metaboard per USB mit dem PC verbunden, den 
Reset-Taster gedrückt - dann wurde ein neues Gerät "USBasp" erkannt, und 
ich konnte den Treiber installieren.

- dann wurde ein Programm mittels der ArduinoIDE hochgeladen 
(metaboard.upload.protocol=avrisp zwischenzeitlich geändert auf 
metaboard.upload.protocol=usbasp). Die Sketch wird fehlerfrei 
hochgeladen und es funktioniert alles wie es soll. Sobald der Atmega 
Saft hat, läuft das aufgspielte Programm.

- dann wollte ich eine neue Sketch hochladen - arduino kann aber das 
Gerät "USBasp" nicht mehr finden. Das Gerät taucht auch im Gerätemanager 
nur als "unknown device" auf. Auch ein Druck auf den Resettaster hilft 
nicht.

- nach dem erneuten Brennen des Bootloaders kann wieder genau ein 
Programm hochgeladen werden, bis das Board nicht mehr erkannt wird.

Hat jemand von euch eine Idee, was hier schief läuft?
Könnt ihr bitte mal meine Fuses und das Lock-Bit anschauen, ob ich hier 
evtl. aus Versehen oder Unwissenheit einen  Fehler gemacht habe?

Viele Grüße, Julian
OP (Firma: Student) #2560383
Lesenswert?

Indem ich den Jumper setze, welcher Pin 13 PD7(AIN1) mit Masse 
verbindet.
Ist es nicht so, dass, wenn ich bei aufgestecktem Jumper den 
Reset-Taster drücke, im Bootloadermodus bin?
Wenn ich das so mache (bei angelegter Spannung), passiert gar nichts, 
das auf dem Atmega befindliche Programm läuft weiterhin ab...
OP (Firma: Student) #2560420
Lesenswert?

@holger:
Danke, werde ich morgen gleich mal probieren - aktiviere ich BOOTRST, 
indem ich das Bit auf 0 setze?

@Karl Heinz Buchegger:
Mist, habe alledeaktiviert, die sind ja anscheinend ebenfalls bei Wert 0 
aktiviert, hatte bisher mit 0xFF alle auf 1...
Kannst Du mir irgendeine Internetseite empfehlen, wo ich mich ein 
bisschen über die Lockbits schlau lesen kann?
Zu den Fuses findet man ja reichlich, aber zu den Lockbits konnte ich 
noch nichts Gutes finden...
Was hat es eigentlich mit dem von der ArduinoIDE als "unlock bit" auf 
sich?
Wenn ich dieses verändert habe, bekam ich einen Error beim Brennen des 
Bootloaders.

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