Gast
#3320469
Hallo Forum, ich weiss, Daten sollen unterhalb 64k liegen, weil die *_P Funktionen nur mit diesen arbeiten können. Ich habe auch davon gehört wie man auf Daten oberhalb 64k zugreift (*_far). Jetzt kommt mein Problem: ich mache regen Gebrauch von *_P Funktionen, bisher war das alles ok, weil meine Daten dafür locker in den unteren 64k Platz hatten. Jetzt muss ich ein 40kB großes Firmware File im Flash unterbringen (für ein grafisches Display), natürlich geteilt in kleinere Teile, sonst würde ich "array too big" bekommen, was an sich immer noch kein Problem ist. Diese Daten will ich dann mit einem Loader ins Display pumpen. Aber, diese zusätzliche große Datenmenge sorgt dafür, daß manche meiner Konstanten, welche bei den *_P Funktionen benutzt werden, nach oben "geschoben" werden. Denn ich habe keinen Einfluss darauf, wo die Konstanten im FLASH angelegt werden. Jetzt meine Frage: wie kann ich es erzwingen daß der Compiler/Linker meine 40k großes Firmware oberhalb 64k Grenze im Flash plaziert, damit die übrigen Konstanten unterhalb 64k bleiben. Wie würdet Ihr das Problem lösen? Gruß Peter