Hallo Forum, ich habe Dick Streeflands USBtiny auf einem Mega8 untergebracht um einen Mega16 zu programmieren mit der erweiterung das auch UART Daten auszutauscht werden können. Ich erkenne wenn ich flash und eprom lesen/schreiben möchte am OSZI das SCK und MISO wackeln. Wenn ich mit einer gepatchten version von AVRDude versuche zu programmieren wird auch Reset entsp. runtergezogen. Das problem ist das der Mega16 (und auch ein frischer Mega32) an MOSI nichts ausgeben. Also ich lese nur 0xFF. Aber am OSZI passiert genau garnichts. Ich habe auf den Mega16 auf herkömlichen wege ein Programm geflasht was einfach einen Buchstaben über UART ausgibt. Das kann ich auch über Mega16_txd->Mega8_rxd->usb->PC zurücklesen. Der Mega16 läuft also. Was könnte ich noch versuchen? Ich bin mit meinem Latein am Ende. MfG Mighty
Mal den Quelltext vom USBasp durchgeschaut? http://www.fischl.de/usbasp/ Der nimmt einen Atmega8 mit USB-Tiny drinnen zum Programmieren von anderen AVRs, u.A. Mega16. Die Patches für AVR-Dude sind in der aktuellen AVRDude version auch schon drinnen. Kannst ja evtl sein Protokoll nachimplementieren, dann musst du deinen AVRDude nicht selbst patchen ;) /Ernst Edit: Sorry, der nimmt nicht USBTiny her, sondern die obdev.at Version...
@Ernst Bachmann einen Patch für AVRDude hat USBtiny auch. Ausserdem ein Python Script das USB Kontrollnachrichten an den Mega8 sendet. Die Befehle kommen auch im Mega8 an. Ich sehe ja das SCK und MISO am Mega16 wackeln, nur passiert nix an MOSI. Gucke Grade den SPI Code an, werde daraus aber nicht so ganz schlau. Der Code ist sehr "Kompakt" geschrieben. Aber wenn ich davon ausgehen kann das an MISO und SCK etwas passiert, aber an MOSI garnichts, bin ich etwas Ratlos. MfG Mighty
Mighty wrote: > Aber wenn ich davon ausgehen kann das an MISO und SCK etwas passiert, > aber an MOSI garnichts, bin ich etwas Ratlos. MISO beginnt erst zu wackeln, wenn die "programming enable"-Sequenz sauber empfangen worden ist. Hast du dir die Doku für die serielle Programmierung genau angeguckt? Insbesondere ist es wichtig, dass sowohl MOSI als aus /RESET low sein müssen, wenn die Betriebsspannung des AVR angelegt wird. Andernfalls musst du /RESET nochmal kurz zurück nehmen und neu anlegen.
Vielleicht hilft dir das weiter: http://www.zerties.org/tiki-index.php?page=UsbAvr Ein USBtiny im ATmega8 und ein gepatchter avrdude. Alles getestet auch mit einem Atmega16 und Atmega644 Jochen
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.