Hallo, ich benutze den AVRGCC auf einem Atmega8515 und 32kb externem ram. Jezt benoetige ich ein mittelgroßes Array. Da ich das im Programm nicht so haufig brauche will ich es ins externe Ram schieben und das interne fuer Stack und den Rest frei halten. Aber wie sage ich jezt gcc das er das array x[] im xmem halten soll? Mit Pointern will ich eigenlich nicht abrebiten, da sich sonst garantiert irgendwann die Bereiche ueberschneiden und ich vor lauter adressen den Ueberlick verliere. Unter C51 konnte man ganz gut mit der at direktive arbeiten. Da aht einem der Compiler auch ne Fehlermaldung ausgespuckt wenn sich zwei Bereiche schnitten Tobias
Außer einem Pointer fiele mir nur noch ein, daß Du eine separate section dafür anlegen könntest, aber das geht für Variablenspeicherung meiner Erinnerung nach nicht ohne Modifikation des linker script ab. Du kannst natürlich auch malloc() nehmen, das kostet halt mehr Code. Der Heap läßt sich mit Bordmitteln in den externen RAM verlegen.
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.