mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programmieren des Atmega8 schlägt fehl -- FLASH byte addres


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich wollte gerade das erste Mal ein Programm auf den Atmega8 spielen 
mittels AVRISP mkII über AVR Studio 4. Auslesen des Flash funktioniert 
auch (nach Anpassung der Frequenz :)). Wenn ich allerdings die hex-Datei 
auswähle und den Verify-Button drücke kommt die Meldung "WARNING: FLASH 
byte address 0x0000 is 0xFF (should be 0x12).. FAILED!" und ich weiß 
nicht warum. :( Könnt ihr mir vielleicht weiter helfen? Wäre euch sehr 
dankbar!

Gruß,
Peter

PS:
Ach ja.. der ursprüngliche Source ist in C geschrieben:
#include <avr/io.h>

int main (void)
{
  DDRC = 0xff;
  PORTC = 0x3f;
  
  return 0;
}

Und die resultierende hex-Datei sieht so aus:
:1000000012C02CC02BC02AC029C028C027C026C0BF
:1000100025C024C023C022C021C020C01FC01EC0D4
:100020001DC01CC01BC011241FBECFE5D4E0DEBF25
:10003000CDBF10E0A0E6B0E0EEE6F0E002C0059033
:100040000D92A036B107D9F710E0A0E6B0E001C0EC
:100050001D92A036B107E1F702D008C0D1CF8FEFD3
:0E00600084BB8FE385BB80E090E00895FFCF66
:00000001FF

Das verwendete Makefile hab ich euch mal angehängt. hoff

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Die Meldung erscheint u.U. wenn der Controller vor dem Programmieren 
nicht gelöscht wurde.

MfG Spess

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

Bewertung
0 lesenswert
nicht lesenswert
Ich befürchte fast, dass es daran nicht liegt. Wenn ich das richtig 
verstanden habe wäre das die Checkbox mit der Beschriftung "Erase Device 
Before Programming", richtig? Kann nicht sein... weil der vom µC 
ausgelesene und gespeicherte Flash sich als hex problemlos wieder 
draufspielen lässt. Oder liege ich da falsch? Aber vielen Dank schon 
mal! :)

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Evtl. ist deine ISP-Frequenz immer noch zu hoch. Programmieren ist 
langsamer als Lesen. Welche Taktfrequenz hat dein Controller.

MfG Spess

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo kann ich das denn nachschauen welche Taktfrequenz der Controller hat? 
Eigentlich hängt ein 8 MHz-Quarz dran. Fusebits sind btw auf CKSEL=1111 
und SUT=11 (da war ein bisschen Raten dabei, hoffe aber, dass das soweit 
stimmt oder funktioniert). Wir die externe Frequenz denn auch fürs 
Überspielen berücksichtigt? Hab's jetzt schon mit niedrigeren 
ISP-Frequenzen versucht. Geht aber nicht. Wäre meinem Empfinden nach 
aber auch unlogisch -- weil sich der alte Inhalt vom ausgelesenen Flash 
ja auch wieder reinschreiben lässt. Ich befürchte, dass der Fehler 
irgendwo in meinem Code oder der fertigen Hex-Datei liegt. :( AVR Studio 
bricht da auch sehr zügig nach dem Drücken des "Verify"-Buttons ab. 
(Beim Status-Balken tut sich da nix.)

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

CKSEL3..0=0111 entspricht 3-8MHz Quarz. Allerdings muss die CKOPT Fuse 
gesetzt sein. Teste doch mal, ob es mit CKSEL=0100 (8MHz 
int.RC-Oszillator)
funktioniert.

MfG Spess

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sperre ich mich dann nicht aus, weil... hängt ja ein Quarz dran und ein 
RC-Oszillator? Weiterhin bliebe für mich dann unverständlich wieso der 
eine hex-Code geht und der andere nicht. Ich warte mit dem Umstellen mal 
lieber noch kurz. :)

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

1. An dem Programm kann es nicht liegen. Du kannst praktisch jeden Müll 
einprogrammieren.

2. Wenn der interne RC-Oszillator aktiviert ist, wird der 
Quarzoszillator abgeklemmt. Die Fusebits fungieren praktisch wie die 
Adressbits an einem Multiplexer.

Ich vermute, dass bei dir zur Zeit weder Löschen noch Programmieren 
funktioniert. Dein altes Programm ist noch drin. Deshalb wird beim 
Verify auch kein Fehler angezeigt, wenn du scheinbar das alte Programm 
wieder einspielst.

MfG Spess

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wunder oh Wunder... ich hab mich einfach nur viel zu blöd angestellt. 
Vielen Dank an dich, Spess! :) Jetzt kann's los gehen! freu

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Und woran lag es nun?

MfG Spess

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.