Hallo Ich programmiere einen ATMEGA 644 mit dem AVRISP 2 und dem GCC Compiler Ich bekomme beim Programmieren des Atmels folgenden Fehler: Readinf FLASH .. OK! WARNING: FLASH byte adress 0x0000 is 0x00 (should be 0x0C) .. FAILED! Leaving programming mode.. OK! Heißt dass dass die Boot Size Section zu groß ist? Vielen Dank Matthias
Entweder stimmt das Mapping der Flash-Adressen nicht oder Du hast einen Fehler in der Segmentierung Deines Programm's. Genauere Aussagen kann ich aber erst geben, wenn Du Deinen Code und deine Linker-Script's postest.
Jetz habe ich plötzlich einen weiteren Fehler. Mein Programmiergerät blinkt orange. Was laut Handbuch auf "Reversed Target Connection" hindeutet. Allerdings bin ich mir sicher, dass das Programmierkabel richtig herum angeschlossen ist.
Aber irgendwas hast du mit dem Programmieradapter vermasselt. Zu niedrige Impedanzen an den ISP-Leitungen oder so. Der andere Fehler deutet auch auf sowas hin, das hat absolut nüscht mit der Firmware selbst zu tun -- er wollte auf Adresse 0 ein 0x0C programmieren (RJMP) und hat aber eine 0 zurückgelesen. Entweder war die beim Programmieren schon zur 0 geworden, oder er hat's falsch zurückgelesen, in jedem Falle klingt das nicht sehr vertrauenerweckend...
Meine Reset Leitung ist mit 10kOhm nach Vcc gepullupt. Daran kann es eigentlich nicht liegen. Also dass orange blinken konnte ich auf den Fehler nachvollziehen. Mit einem anderen AVRISRMK2 blinkt nichts mehr orange. Vermutlich ist also dass Problem bei dem Programmieradapter. Scheint wohl im Eimer zu sein, ein Firmwareupdate brachte auch keine Besserung.
Blinkt er bereits beim Anstöpseln orange, oder erst, wenn du versuchst, damit zu programmieren? Wenn letzteres, könntest du ja mal versuchen, den ISP-Takt im AVRISP runterzusetzen. Wenn ersteres, dann hast du ja wahrscheinlich noch Garantie drauf. So alt sind die Teile ja noch nicht. Wenn ich mich recht entsinne, hat der AVRISP mkII übrigens recht aufschlussreiche Fehlercodes intern, die er bei einem Selbsttest zurückgibt. Damit sollte sich sogar erkennen lassen, an welcher Leitung er den Kurzschluss vermutet. Ich habe aber keine Ahnung, wie man an diese Fehlercodes mit stk500.exe oder gar mit AVR Studio herankommt.
@Matthias: Hast du noch andere Bauteile auf deiner Platine die über SPI angesprochen werden? Ich hatte das Problem auch mal und die Lösung war ein Pull-up Widerstand an der SPI Leitung.
@Jörg:Es blinkt sobald ich den ISP Adapter anschließe @Marian: Nein sonst sind keine Bauteile an der ISP Leitung, die Pins dienen nur derprogrammierung
Oh, ich glaub ich habe mich zu früh gefreut, jetzt habe ich wieder das selbe Problem wie ganz oben beschrieben.
Ich habe das ganze jetzt noch einmal erlebt, dass programmieren hat mit dem neuen ISP Adapter funktioniert. Ich konnt eFuses einstellen, ISP Geschwindigkeit lesen und einstellen, allerdings kam beim programmieren wieder der Fehler den ich in meinem ersten Tread beschrieben habe. Dann hab ich meine Baugruppe abgeklemm und kurz darauf wieder angeschlossen. Aufeinmal blinkte mein AVR ISP mk2 wieder orange. Als mögliche Fehlerquellen kann ich ausschließen, dass es sich nicht um eine falsche Verkabelung handelt (es sei denn MISO, MOSI... müssen nicht auf die MISO /MOSI Pins am Atmel, hab ich aber keine Hinweise darauf gefunden) Im Handbuch des Programmieradapter steht noch, dass es orange blinkt, wenn 0V auf der Resetleitung gemessen werden. Dies ist jedoch auch nicht der Fall, es liegt Vcc an. Der Reset Pin ist mit 10kOhm nach Vcc und mit 100nF nach GND angeschlossen. Einzig was ich mir vorstellen könnt ist, dass des Pullup Widerstand relativ weit von dem Atmel entfernt ist. Könnte das das Problem sein? Hat jemand noch eine Idee die mir weiterhelfen kann. Wäre euch sehr sehr dankbar. Gruß Matthias
> Im Handbuch des Programmieradapter steht noch, dass es orange > blinkt, wenn 0V auf der Resetleitung gemessen werden. Das Teil hat sehr viel mehr an Selbsttests eingebaut. Es misst auch Kurzschlüsse (oder vermeintliche) zwischen den ISP-Leitungen selbst sowie dieser Leitungen gegen Masse und Vcc. Sieh dir mal Abschnitt 3.4.9 in der Appnote AVR069 an. Kannst du den entsprechenden Teil des Schaltplanes deines Geräts, der die ISP-Pins betrifft, denn hier zeigen? (Ist zwar alles fürchterlich off-topic, weil's mit GCC nun überhaupt nichts mehr zu tun hat, aber du hast den Thread halt hier angefangen.)
Ja, der das Kabel des Programmieradapters. Da wo ISP Anschluss steht geht es zusätzlich zu einer weiteren Stiftleiste, ist jedoch nichts angeschlossen, soll mal als alternativer Programmierport dienen können.
Nütz ein Pullup Widerstand in MOSI/MISO/SCK was. Anscheinend kommt ja nicht das beim Atmel an was gesendet wurde, siehe erster Tread, vielleicht ist Signal einfach zu schwach?
Nein, das AVRISP sollte dick genug sein. Lediglich der Pullup am /RESET darf nicht zu klein sein, aber das sollte erfüllt sein. Läuft deine Schaltung mit 5 V oder weniger? Ich hab' nicht nachgeguckt, wie groß/klein Vtarget bei Benutzung des AVRISP sein darf.
Die Schaltung läuft mit 5V. Das AVRISP läuft mit 1,8 - 5,5V. Daran kann es also auch nicht liegen.
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.