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


von Peter (Gast)


Angehängte Dateien:

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:
1
#include <avr/io.h>
2
3
int main (void)
4
{
5
  DDRC = 0xff;
6
  PORTC = 0x3f;
7
  
8
  return 0;
9
}

Und die resultierende hex-Datei sieht so aus:
1
:1000000012C02CC02BC02AC029C028C027C026C0BF
2
:1000100025C024C023C022C021C020C01FC01EC0D4
3
:100020001DC01CC01BC011241FBECFE5D4E0DEBF25
4
:10003000CDBF10E0A0E6B0E0EEE6F0E002C0059033
5
:100040000D92A036B107D9F710E0A0E6B0E001C0EC
6
:100050001D92A036B107E1F702D008C0D1CF8FEFD3
7
:0E00600084BB8FE385BB80E090E00895FFCF66
8
:00000001FF

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

von spess53 (Gast)


Lesenswert?

Hi

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

MfG Spess

von Peter (Gast)


Angehängte Dateien:

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! :)

von spess53 (Gast)


Lesenswert?

Hi

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

MfG Spess

von Peter (Gast)


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

von spess53 (Gast)


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

von Peter (Gast)


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

von spess53 (Gast)


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

von Peter (Gast)


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

von spess53 (Gast)


Lesenswert?

Hi

Und woran lag es nun?

MfG Spess

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.