Torsten R. schrieb:
> Thomas F. schrieb:
>> Hallo,
>>
>> ist es mit C möglich einen Integerwert im Flash abzulegen, ohne dafür
>> einen Variablennamen zu definieren und nur die Adresse dieses Wertes im
>> Speicher zu bekommen? Also sowas wie:
>>
>>
1 | >> int* MyPtr = &(const int)1234;
|
2 | >>
|
>
>
1 | > int* MyPtr = (int*)1234;
|
2 | >
|
Hier typecaste ich die 1234 ja nur in einen Pointer und verwende die
1234 somit als Adresse für meinen MyPtr.
GCC schrieb:
> Das geht etwa so:
>
>
1 | *((uint32_t*)1234) = 0xDEADBEEF;
|
>
> Vorrausgesetzt, mein C-Fu ist noch nicht so eingerostet bzw. es ist
> Semantisch erlaubt
Hier typecaste ich die 1234 ja auch in einen Pointer, dereferenziere
diesen dann und weise der Speicherstelle 0xDEADBEEF zu.
Was ich aber möchte ist, dass der Wert (nicht Adresse) 1234 im Flash
abgelegt wird und ich die Adresse auf diesen Speicherplatz bekomme,
sodass ich mit folgender Zeile auf mein 1234 zugreifen könnte:
1 | MeinVariablenwert = *MyPtr;
|