Forum: Mikrocontroller und Digitale Elektronik Hex-file fehlerhaft?


von moad (Gast)


Lesenswert?

Hi
ich hab folgendes problem:
wenn ich versuche mien hex-file in den controller zu laden
bekomme ich immer genau 2 fehler beim Programmieren. (immer der selbe
mist der drinnsteht und immer die gleiche adresse).
als ich aber versucht habe, ein anderes hexfile (von atmel)
herreinzuladen hat alles wunderbar funktioniert.
ich befürchte, dass irgendwo in meinem hex-file eine Adresse doppelt
beschrieben wird oder sowas...???

kann mir irgendjemand helfen?
Danke schon mal im vorraus

von Klaus (Gast)


Lesenswert?

Wie ist denn die Fehlermeldung?

von Markus_8051 (Gast)


Lesenswert?

Bestimmt kann Dir jemand helfen, wenn wir noch ein paar Infos kriegen!

Zum einen: Wie lautet die genaue Fehlermeldung ?

Kannst Du das Hexfile hier posten, wenn es nicht zu groß ist?

von moad (Gast)


Angehängte Dateien:

Lesenswert?

also:
das Hex-file kann ich mit dem avr-studio einwandfrei erzeugen.
ich habe eine selbstgebaute brennereinrichtung und ein
selbstgeschriebenes brennerprogramm.
ich lade nun das hexfile mit dem programm in den chip (ohne fehler).
wenn ich nun den flash-eeprom mit dem hex-file vergleiche, stimmen 2
bytes nicht überein (an addr:$0000 und $0001).
ich kann mir das nur so erklären, dass diese beiden adressen, durch
eine einstellung im avr-studio, 2 mal beschrieben werden... oder so
etwas in der Richtung.

von Matthias (Gast)


Lesenswert?

Hi

ich würde eher darauf tippen das dein selbstgeschriebenes
Programmierprogramm den "Extended Adress Record" gleich am Anfang der
Datei nicht als solchen interpretiert und denn die Addressen 0 und 1
zweimal programmiert.

Matthias

von Wolle (Gast)


Lesenswert?

Kann mich dunkel erinnern, dass die ersten beiden EEPROM-Adressen
ausgelassen werden soll(t)en ?
Stand mal in einem Datenblatt oder hier im Forum.
Versuch das mal....

von moad (Gast)


Lesenswert?

das komische ist ja:
wenn ich ein, von der firma atmel geschriebenes hex-file in den chip
programmiere, funktioniert alles einwandfrei...

von sebastian (Gast)


Lesenswert?

okok!
ihr hattet recht.
der "Extended Adress Record" hat gestört.
was macht eigentlich dieser record?
muss ich den überhaupt interpretieren oder kann ich diese zeile einfach
rauslöschen???

von Matthias (Gast)


Lesenswert?

Hi

Intel HEX-Files stellen nur 16 Bit-Addressinformation in einem normalen
Datenrecord dar. Ein Mega128 benötigt aber z.B. 17 Addressbits. Über den
"Extended Adress Record" werden 16 weiter Addressbits hinzugefügt.
Allen Addressen die nach einen solchen Record kommen wird der Wert
dieses Record * 2^16 hinzuaddiert.

Matthias

von sebastian (Gast)


Lesenswert?

aha vielen dank.
ich schlage mich gerade mit einem at90s8515 rum.
ich glaube der braucht nur 16bit also müsste ich doch die zeile
problemlos löschen können oder?

von Benedikt (Gast)


Lesenswert?

ja, mach ich auch immer um die dateien mit einem uralten dos hex-bin
konverter umzuwandeln und in der AVR zu schreiben.

von Markus_8051 (Gast)


Lesenswert?

@Benedikt:
Hast Du mal den Hex2Bin-Converter von Keil probiert? Den gibt es auf
der Seite von Keil zum Download und kann soweit ich weiß auch die
extended address records auswerten. Früher hatte ich dafür auch ein
selbstgeschriebenes Programm verwendet, bis ich den bei Keil gefunden
habe. Seitdem läuft er bei mir problemlos.

Gruß,
Markus_8051

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.