Programmieren des Atmega8 schlägt fehl -- FLASH byte addres

Gast #714385
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
Angehängte Dateien:
Gast #714394
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! :)
Angehängte Dateien:
Gast #714408
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.)
Gast #715247
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. :)
Gast #715309
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren