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
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?
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.
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
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....
das komische ist ja: wenn ich ein, von der firma atmel geschriebenes hex-file in den chip programmiere, funktioniert alles einwandfrei...
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???
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
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?
ja, mach ich auch immer um die dateien mit einem uralten dos hex-bin konverter umzuwandeln und in der AVR zu schreiben.
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.