eeprom mit text file beschreiben

Gast #3850546
Lesenswert?
• ▲
▼
Hi

>Ich hab ein 1024byte langes Text File (keine hex datei) welches ich
>mittels AtmelStudio auf das EEprom eines AVR schreiben möchte. Wie stell
>ich das am besten an?

bin2hex.exe besorgen. Dann Text in hex-File umwandeln und EEPROM 
programmieren.

MfG Spess
Gast #3850602
Lesenswert?
• ▲
▼
Unter linux gibt es dazu xxd. Ich weiß aber nicht ob das in irgend einem 
AtmelStudio Verzeichnis dazugehört.

text.txt:
1
Das ist Text in einer Datei.
2
Und eine zweite Zeile.

xxd -i text.txt > text.h erzeugt dann

text.h:
1
unsigned char text_txt[] = {
2
  0x44, 0x61, 0x73, 0x20, 0x69, 0x73, 0x74, 0x20, 0x54, 0x65, 0x78, 0x74,
3
  0x20, 0x69, 0x6e, 0x20, 0x65, 0x69, 0x6e, 0x65, 0x72, 0x20, 0x44, 0x61,
4
  0x74, 0x65, 0x69, 0x2e, 0x0a, 0x55, 0x6e, 0x64, 0x20, 0x65, 0x69, 0x6e,
5
  0x65, 0x20, 0x7a, 0x77, 0x65, 0x69, 0x74, 0x65, 0x20, 0x5a, 0x65, 0x69,
6
  0x6c, 0x65, 0x2e, 0x0a, 0x0a
7
};
8
unsigned int text_txt_len = 53;

Das kannst Du dann ablegen wo Du möchtest.
Gast #3851118
Lesenswert?
• ▲
▼
danke für die Tipps


wenn ich das EEprom mit AtmelStudio auslese, erhalte ich eine Hex Datei 
mit jeweils 32byte pro Zeile, startend bei :1000000

wenn ich mit bin2hex kovertiere, werden Zeilen mit 64byte erzeugt, 
startend bei :2000000

kann ich dies irgendwie ändern?
#3851136
Lesenswert?
• ▲
▼
Franzl schrieb:
> danke für die Tipps
>
>
> wenn ich das EEprom mit AtmelStudio auslese, erhalte ich eine Hex Datei
> mit jeweils 32byte pro Zeile, startend bei :1000000
>
> wenn ich mit bin2hex kovertiere, werden Zeilen mit 64byte erzeugt,
> startend bei :2000000
>
> kann ich dies irgendwie ändern?

Was für'n Zufall:

Eeprom Datei Editor (Intel-Hex-Format)
in "Projekte und Code"
Hab gerade den Quellcode hier gepostet.
Der kann per Klick die Zeilengröße ändern, falls nötig.

Schiko
Gast #3851146
Lesenswert?
• ▲
▼
Also wie das AtmelStudio den EEPROM Inhalt darstellt weiß ich nicht.
Aber um die Datei korrekt in den EEPROM zu legen brauchst Du nur wie 
oben beschrieben xxd zu verwenden und dann noch EEMEM einzufügen.

text.h:
1
#include <avr/eeprom.h>
2

3
unsigned char EEMEM text_txt[] = {
4
  0x44, 0x61, 0x73, 0x20, 0x69, 0x73, 0x74, 0x20, 0x54, 0x65, 0x78, 0x74,
5
  0x20, 0x69, 0x6e, 0x20, 0x65, 0x69, 0x6e, 0x65, 0x72, 0x20, 0x44, 0x61,
6
  0x74, 0x65, 0x69, 0x2e, 0x0a, 0x55, 0x6e, 0x64, 0x20, 0x65, 0x69, 0x6e,
7
  0x65, 0x20, 0x7a, 0x77, 0x65, 0x69, 0x74, 0x65, 0x20, 0x5a, 0x65, 0x69,
8
  0x6c, 0x65, 0x2e, 0x0a, 0x0a
9
};
10
unsigned int text_txt_len = 53;
Gast #3851176
Lesenswert?
• ▲
▼
hallo

hab grad hxd getestet, hat wunderbar funktioniert.

Momentan hab aber ich ein Problem beim Schreiben. Dabei wird anstatt FF 
FF fast immer 24 2D geschrieben.
Beispielsweise die Zeile:
:10001000FF17FFFFFFFFFFFFFFFFFFFFFFFFFFFFD8

wird geschrieben als
:10001000FF17FFFFFFFFFFFF242D242D242D242D8C

Was läuft hier falsch?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.