Forum: Compiler & IDEs EEP files


von Marc (Gast)


Lesenswert?

Hallo zusammen

Kann mir jemand erklären, wie ich es schaffe dass beim Compilieren
Werte ins eep file geschriben werden und wie ich diese angeben kann?

mfg
Marc Honegger

von johnny.m (Gast)


Lesenswert?


von naicheben (Gast)


Lesenswert?

Danke für den Link, habe mir den Abschnitt durchgelesen, aber ich 
glaube, ich habe noch nicht alles verstanden.

Ich habe ein Datei mit Bilddaten, die ich beim Einschalten auf einem 
glcd ausgeben möchte. Da die Daten nicht im Intel-Hexformat vorliegen, 
sondern nur rein als Rohdaten (schon ans Display angepasst), weiß ich 
jetzt keinen Weg, wie ich das in meinen Quellcode einbauen kann.

Wie sage ich dem Compiler, dass er aus der Datei "meinbild.dat" die 
Bytes in den EEPROM schreiben soll?
1
uint8_t i;
2
uint8_t eepromstring[512] EEMEM;
3
LcdBuffer = (uint8_t *) 0x60;
4
5
  for(i=0;i<8;i++)
6
  {
7
   //LcdBuffer sind 64Bytes im RAM
8
   //eepromstring[512] soll das Aray im EEPROM sein, wo die Bilddaten liegen
9
  eeprom_read_block ((void *)&LcdBuffer, (const void *)&eepromstring[i*64],64);
10
  glcdWriteData(StartAddress, 64,LcdBuffer );
11
  }

Gruß,
naicheben

von OliverSo (Gast)


Lesenswert?

Wenn du folgendes in deinem Programm schreibst:
1
uint8_t eepromstring[512] EEMEM = {0x12, 0x34, 0x56, ...}; // 512 byte daten

dann erzeugt die AVR-toolchain aus den Daten ein eigenes (hex-)File, 
welches dann vom Programmiertool ins EEPROM geschrieben wird. Der 
"Compiler" kann das nur über eeprom_write();

Je nachdem, in welchem Format meinbild.dat vorliegt, ist es eventuell 
sinnvoller, die direkt ins Hex-Format zu wandeln, und so ins EEPROM zu 
brennen.

Oliver

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

OliverSo wrote:

> Je nachdem, in welchem Format meinbild.dat vorliegt, ist es eventuell
> sinnvoller, die direkt ins Hex-Format zu wandeln, und so ins EEPROM zu
> brennen.

Oder es gleich im Binärformat in den EEPROM zu nageln.  Beherrscht
AVRDUDE ja auch (Format-Angabe "r" für "raw" am Ende, wird aber
normalerweise auch automatisch erkannt).

von naicheben (Gast)


Lesenswert?

Mit dem raw meinst Du das so? :
1
#---------------- Programming Options (avrdude) ----------------
2
...
3
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
4
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
5
AVRDUDE_WRITE_EEPROM = -U eeprom:w:Meinbild.dat:r

von naicheben (Gast)


Lesenswert?

Ok, ich glaub ich habs jetzt. Ich muss leider den Pfad mit angeben:
AVRDUDE_WRITE_EEPROM = -U eeprom:w:"c:\avrctl\Meinbild.dat":r

Danke für den Tip!

von Rene (Gast)


Lesenswert?

zum HEX und EEPs schreiben nehm ich immer das hier:

http://myavr.de/download.php?suchwort=DL112

gruß

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.