Forum: Mikrocontroller und Digitale Elektronik Variablen hintereinander im RAM ablegen (IAR-MSP430)


von Rex Gildo jr. (Gast)


Lesenswert?

Moin!

Ich habe folgendes Problem , ich möchte einen Block Variablen in einem 
bestehenden Code direkt hintereinander im RAM ablegen (feste 
Reihenfolge).
Ohne das ganze als Struct anzulegen, da ich dazu den gesamten Code 
anfassen müsste.
Der code ist portiert worden von einem Renesas µC auf MSP430 mit IAR. 
Heisst die Compiler sind dementsprechend verschieden ;)

1
// !!!! Achtung die Reihenfolge der folgenden Variablen darf nicht 
2
// !!!! verändert werden (START)
3
volatile char programm_status=0x80,letzte_taste=0,dummyvariable=0;
4
volatile int  entprellzeit = 40;   // 175 ms
5
volatile unsigned long int impulse=0;
6
volatile  long int impcount=0;
7
volatile float temp_aktuell=0        ,temp_max=0       ,temp_min=0;
8
volatile float delta_p0_aktuell=0,delta_p0_max=0   ,delta_p0_min=0;
9
volatile float                   raum_temp_max=0  ,raum_temp_min=50;
10
volatile float abs_p_aktuell=0      ,abs_p_max=0      ,abs_p_min=0;
11
volatile float luftfeuchte=0  ,luftfeuchte_max=0,luftfeuchte_min=0;
12
volatile float delta_p1_aktuell=0,delta_p1_max=0   ,delta_p1_min=0;
13
volatile float delta_p2_aktuell=0,delta_p2_max=0   ,delta_p2_min=0;
14
volatile float temp_mittel=0,delta_p0_mittel=0,raum_temp_mittel=0,abs_p_mittel=0;
15
volatile float luftfeuchte_mittel=0,delta_p1_mittel=0,delta_p2_mittel=0;
16
volatile float temp_aktuell2=0        ,temp_max2=0       ,temp_min2=0;   // Neu
17
volatile float temp_mittel2=0;
18
// !!!!! STOP !!!!!!!!!


Gibt es da eine Möglichkeit per pragma o.ä. dem Linker mitzuteilen, den 
ganzen Kram hintereinander im Speicher zu organisieren ? Für Structs 
gibt es ja das pragma pack(x)

Gruß

Rex

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.