-
-
Neuer Benutzer
Öfters hier
Hi,
so wäre es mal einen Versuch Wert:
1. Im SourceCode eine Section angeben wo die Variable hin soll
unsigned int VariableAtFixAdress __attribute__ ((section (".FixAdressSection"))) ;
2. Im makefile diese Section definieren und angeben wo diese liegen soll.
Bei RAM Adress definitionen muß immer 0×800000 addiert werden, damit der Compiler/Linker weiss daß es sich um RAM handelt.
CFLAGS += -Wl,-section-start=.FixAdressSection=0x800080
3. Make aufrufen und anschließend in das *.map File schauen, da müsste jetzt sowas auftauchen wie
.FixAdressSection
0x00800080 0x2
d.h. daß ab Adresse 0x80 - 2 Bytes reserviert sind.
Aufpassen muß man mit Adress Überlappungen und dem Stackbereich. Am besten die ".data" - Section verkleinern, damit der Linker da nix hinlegt.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen