Forum: Compiler & IDEs AVRGCC und Array an fester Position


von Tobias (Gast)


Lesenswert?

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

von Jörg Wunsch (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.