ARM: Readonly Daten von Datei direkt in Flash?

Gast #537841
Lesenswert?
• ▲
▼
Hallo,

nach langem vergeblichem Suchen, hier folgende Frage:

Gibt es eine Moeglichkeit, eine grosse Datei (120kB) so mit einzulinken, 
dass deren Inhalt:
a) im Flash eines AT91SAM7x256 abgelegt wird und
b) ein Zugriff vom Programm aus moeglich ist, z.B. mit:
    extern const unsigned char caldata[];
?
Danke allen Helfern vielmals im voraus!

More Info:
Die Datei liegt als hex-file vor. Ihre Groesse ist bekannt und fixed.
Benutzte Tools : gnu-arm-elf;

Danke!

Stefan
Gast #538083
Lesenswert?
• ▲
▼
Ja es geht;

zu a:

Leg im Linkerfile einen Adressbereich an in dem das Hexfile abgelegt 
werden soll. zb. Hexfile start: 0x01234 size:0x100

Im Hexfile ist die Adresse enthalten bei der die Daten geflasht werden.
Dazu musst du dir das Hexformat ansehen, dann lassen sich diese Adressen 
auslesen und bei Bedarf modifizieren.
Die im Hexfile enthaltenen Adressen müssen allerding mit der Adresse im 
Linkerfile identisch sein.

zu b:

Leg eine Variable, Array,..... entsprechend der Daten an, und weiß 
dieser Variablen die Adresse zu, an die das Hexfile im Linkerfile 
eingetragen ist.

zb:  pointer  auf die Variable = 0x01234


Wie du das in Praxis mit dem von dir genutzen Compiler , Linker , 
Maketool machen kannst, kann ich dir allerdings nicht erklären.

Gast #538791
Lesenswert?
• ▲
▼
Also,

danke an Euch beide.

Es funktioniert grossartig.
Holger's Methode besticht durch einfache Eleganz. Bin2C ist grossartig.
Es gab keinerlei Probleme!!

Ursprueglich dachte ich genau wie Du, Ralf, habe auch versucht zu 
verstehen, wie ich dies mit meinem Linker hinbiegen koennte, kam aber zu 
keiner Loesung. Ich denke auch, dass es gehen muss, habe aber leider 
keine Zeit dem weiter nachzugehen.

Nochmals Danke!

Beste Gruesse,

Stefan

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.