EEP files

Gast #765850
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
Gast #765957
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
Moderator Persönliche Seite #766159
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).
Gast #766574
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

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