Ohhh I didn’t expect that offset, I thought it was 0x4000000. Glad to see it solved! This issue really screwed it up >.<
1 Like
Yes, that’s correct, thank you.
What’s left unexpected is manually reading the address, doesn’t work.
int get_id_in_flash() {
int* id_read_addr = (int*) 0x405FB000;
//we can read 4-byte aligned address directly without memcpy
return *id_read_addr;
}
returns 8290304
,
memcpy(&value, (int*) 0x405FB000, 4);
gives the same result.
That’s not important as I achieved the goal, it’s just nice to know why.