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
Frag google nach einem hex2bin Programm. Also aus Hex-Datei erstmal eine Bin-Datei machen. Dann nach bin2c suchen. Macht aus der Bin-Datei ein C-Array. Oder gleich hex2c ?
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.
Danke fuer Euere Hilfe! Werde morgen alles ausgiebig testen! Beste Gruesse & Danke!
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.