I've been using some example code that runs in an ARM processor. To read a specific memory location it casts a constant value to an address.
For example:
We want to read a memory value at 0xa0000000
The example code is like this:
uint32_t test_data;
const uint32_t test_address = 0xa0000000;
test_data = *(uint32_t*) test_address;
I don't quite understand the cast *(uint32_t*). It seems to me that just one * is enough.
I'd appreciate a bit of explanation.
Thanks.