Mark schrieb:
> uint32 *adresse = (uint32*) 0x70050000
Du meinst vermutlich uint32_t? Einen Zeiger auf einen 32bit-Typ zu
dereferenzieren liefert eben nur 32bit, also die 0x00000000. Dass du die
nach dem Lesen auf 64bit erweiterst ändert das auch nicht. Was geht:
1 | uint64_t *adresse = (uint64_t*) 0x70050000;
|
2 | uint64_t value = *adresse;
|
Die Frage ist natürlich, warum willst du eine bestimmte Adresse
auslesen? Das umgeht den Linker und dessen hilfreiche Mechanismen. Warum
nicht eine Variable in den Flash legen und diese normal auslesen?
1 | const uint64_t flashData = 0xA0;
|
2 |
|
3 | uint64_t value = flashData;
|