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