Kann man in WinAVR ein Array an eine feste Adresse (externes SRAM) legen, ohne einen Pointer verschwenden zu müssen ? Dieser belegt 2 Bytes und muss extra geladen werden, wo mir doch eine feste Adresse ausreichen würde. Wie sage ich dem Compiler, dass z.B. das Array werte[1024] bzw. der pointer werte auf Adresse 1024 zeigen soll, so dass ich die Werte über werte[i] adressieren kann ?
Wenn der Zeiger eine Konstante ist, muss er keineswegs extra geladen werden. Der Compiler kann dann die für ihn günstigste Implementierung auswählen. Wenn du Variablen auf feste Adressen einfach binden willst (ohne dich mit Linkerscripts oder sowas rumärgern zu müssen), musst du wohl zu Ada wechseln.
Ich habe mal ein Linkerscript um die section .extmem erweitert, das müsste hier im GCC-Forum irgendwo rumfliegen. Falls Du es nicht findest, kann ich das heute Abend nochmal hier posten...
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.