www.mikrocontroller.net

Forum: Compiler & IDEs WinAVR + AVR Studio + AVR EEprom Datei


Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kann mir mal bitte jemand etwas Helfen.

Ich habe das EEprom des AT90S8515 auselesen dann die Datei bearbeitet 
mit den Werten die ich im EEprom haben will. Dann wollte ich diese 
Flashen aber die Checksumm stimmt nicht, was ja klar ist weil ich ja per 
Hand manipuliert habe.

Also wie erzeuge ich eine gültige flashbare Datei ?

Gruß
Mike

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Indem du die Prüfsumme im Hex-File wieder korrigierst.Das File ist 
eigentlich relativ simpel aufgebaut,nachzulesen u.a. hier:

http://www.keil.com/support/docs/1584.htm

Ein paar Werte aufaddieren sollte ja nicht sooo schwierig sein ;)

Nur aus Interesse:Was stand den im EEPROM?Keine Quellen mehr verfügbar?

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wiso sollte ich keine Quellen haben ?

es wäre genauso möglich die Werte in die quellen zu schreiben. Beim 
compilieren wird auch eine epp Datei erzeugt, aber natürlich leer, ich 
weiß leider nicht wohin ich die Werte schreiben soll damit eine epp 
Datei mit den Werten mit erstellt wird.

Für mich war das Auslesen im Moment der einfachste Weg, fals es noch 
einen anderen gibt das in die Quellen einzubauen nur her damit.

Geuß
Mike

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht z.B mit dem AVR-Assembler der zum Studio gehört.
Mit .ESEG weisst du dem Assembler an,alles ab der nächsten Zeile für das 
EEPROM zu assemblieren.

Beispiel aus der Hilfe zum AVR-Assembler:

.ESEG
eevar1: .DW 0xffff        ; initialize 1 word in EEPROM

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm, ja das hab ich schonmal gesehen, also ist es in c nicht möglich ? 
der Compiler erzeugt ja eine leere epp Datei, wenn das nicht geht müsste 
ich das Projekt in 2 Projekte aufteilen nach asm und c , fände ich nicht 
soo toll.

Gruß
Mike

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja,ein einzelnes .asm-File zu assemblieren ist ja wohl nicht das 
Problem.Ansonsten steht es dir frei in der Hilfe zu WinAVR 
nachzuschauen,wie man den GCC/Linker dazubringen kann,Daten fürs EEPROM 
zu generieren.Da WinAVR ein entsprechendes File erzeugt,muss es ja 
möglich sein.

Autor: Ludger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist zwar schon ziemlich lange her, das der letzte sich hier gemeldet 
hat, jedoch ist es im Grunde ganz einfach eine section fuers EEPROM 
anzulegen.


#define EEPROM _attribute_ ((section(".eeprom")))

long    longs[]   EEPROM =  {1, 1, 2, 3, 4, 5, 6, 7, 8, 9};
char    k[10]     EEPROM =  {1, 2, 3, 4, 5, 6, 7, 8, 9};
char    nstring[] EEPROM = 
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
float   floats[]  EEPROM =  {1.e30, -1.e30, 1.e-30, -1.e-30, 1.0, 
3.1415926};


Im Makefile braucht man dann nur noch:

  avr-objcopy -j .eeprom -O $(FORMAT) $< $@

und das file fuers EEPROM wird erzeugt.

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.