Forum: Compiler & IDEs Falsche Flash Byte Adresse


von Matthias (Gast)


Lesenswert?

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

von Karsten Brandt (Gast)


Lesenswert?

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.

von Matthias (Gast)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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...

von Matthias (Gast)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von Marian (Gast)


Lesenswert?

@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.

von Matthias (Gast)


Lesenswert?

@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

von Matthias (Gast)


Lesenswert?

Oh, ich glaub ich habe mich zu früh gefreut, jetzt habe ich wieder das
selbe Problem wie ganz oben beschrieben.

von Matthias (Gast)


Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> 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.)

von Matthias (Gast)


Angehängte Dateien:

Lesenswert?

Also der Ausschnitt der ISP Pins ist im Anhang.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Hmm, nicht wirklich viel.  Steckt an X1 was dran?

von Matthias (Gast)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dann isses nicht verständlich.

von Matthias (Gast)


Lesenswert?

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?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von Matthias (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.