www.mikrocontroller.net

Forum: Compiler & IDEs Falsche Flash Byte Adresse


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karsten Brandt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias (Gast)
Datum:

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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.)

Autor: Matthias (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Also der Ausschnitt der ISP Pins ist im Anhang.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann isses nicht verständlich.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Schaltung läuft mit 5V. Das AVRISP läuft mit 1,8 - 5,5V. Daran kann
es also auch nicht liegen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.