Hallo zusammen, hat mir jemand einen Tip, wie sich ein ATmega169 mittels xc3sprog über das JTAG-Interface programmieren lässt? Ich verwende einen FT232H als Programmier-Adapter und xc3sprog $Rev: 747 $ OS: Linux Der Controller wird offensichtlich auch erkannt: Das Kommando: > xc3sprog -j -v -c ftdi -J 100000 liefert: Using Libftdi, JTAG loc.: 0 IDCODE: 0x6940503f Desc: ATmega169(p) Rev: G IR length: 4 Versuche ich Flash oder EEPROM zu beschreiben, geschieht nichts. Ich erhalte aber auch keinerlei Fehlermeldung. Hier die verwendete Kommandozeile: xc3sprog -j -c vbjtag -s VBJTAG001 -e -J 100000 -F eeprom.ihex:w:IHEX flash.ihex:w:IHEX Auch im Verbose-Modus gibt es leider keinerlei Informationen, die mir weiterhelfen. Hat jemand schon einmal erfolgreich einen ATmega mittelx xc3sprog via JTAG programmiert und wäre so freundlich mir die zielführende Kommandozeile mitzuteilen? Dann noch kurz eine andere Frage: In welchem Format erwartet xc3sprog die Fusebits? Danke & Grüßle, Volker.
Hallo zusammen, auch wenn die Resonanz auf meine Nachricht nicht so sonderlich groß ist ;-) möchte ich die Community doch an meinen neuen Erkenntnissen teilhaben lassen... Der AVR-Jtag-Code von xc3sprog ist offensichtlich noch im Versuchsstadium und weist noch einige Fehler auf. Wesentliche Teile sind (noch) nicht implmenentiert, so das Setzen der Fuses und das Programmieren des EEPROMs. Das Programmieren des Flash-ROMs funktioniert, wenn man einen kleinen Fehler behebt: DecodeSRecordLine() in srecfile.cpp wird grundsätzlich mit dem Rückgabewert -1 verlassen, was den Rest des Programms zum stillschweigenden Abbruch veranlasst (eine kurze Fehlermeldung wäre an dieses Stelle sehr hilfreich gewesen...). Eine 0 als Rückgabewert löst das Problem... Die AVRs können ausschließlich über S-Recordfiles programmiert werden. Der ATmega169 wird nur untersützt, wenn man die Größe der Rom-Page in javr.h mit dem Wert 128 initialisiert. Der eingetragene Wert 0 führt zu einer lustigen Division durch Null und damit zu extrem hilfreichen Fehlermeldungen... Nach diesen Korrekturen funktionieren Flash-Programmierung und Verify des '169. Wenn man einige unsinnige fflush(stderr) durch fflush(stdout) ersetzt, wird die Ausgabe auch sehr lesbar ;-) Grüßle, Volker.
:
Bearbeitet durch User
Volker Bosch schrieb: >> xc3sprog -j -v -c ftdi -J 100000 Fuer den AVR ist der javr Zweig zustaendig. javr -c ftdi bring ein Menu zum Auslesen und Aendern von Flash EEPROM und Fuses, ueber javr -c ftdi <file>.rom -f <file>.fus -e <file>.eep kann man das auch auf der Kommandozeile machen. Inzwischen bei mir nicht mehr so aktuell, aber auf 400 + Platinen getestet.
Volker Bosch schrieb: > Hallo zusammen, > > auch wenn die Resonanz auf meine Nachricht nicht so sonderlich groß ist Achtung, Wochenende...
Hallo Uwe, Uwe Bonnes schrieb: > Volker Bosch schrieb: >> Hallo zusammen, >> >> auch wenn die Resonanz auf meine Nachricht nicht so sonderlich groß ist > > Achtung, Wochenende... Das ist mir schon klar und meine Bemerkung soll auch nicht als Kritik verstanden werden. Mit dem javr gibt's aber auch Probleme. Die Programmierung meines '169 funktioniert nicht, genauso wening wie das Verify eines korrekt programmierten Flashs. Vielleicht auch nur ein Problem bei der Implementierung des '169. Aber danke für den Hinweis, dann werde ich mich mal intensiver mit dem javr beschäftigen. Das wird aber noch ein paar Tage dauern... Grüßle, Volker.
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.