cmemoryembeddedcpu-registersdevkitpro

what does something like 0400:0130h mean for register location?


I've been trying to develop with devkitARM and only notable guide is Coranac's Tonc, everything's fine but I can't get what it means when some register is in location xxxx:xxxxh what does the h and the numbers mean? Cant't find it anywhere.


Solution

  • Computer addresses are traditionally always given in hexadecimal format. A number ending with h in the context of computer science means just that: hexadecimal.

    Hex is a handy because, among other things, we can use it to easily count the digits and get the number of "nibbles" used for the address. In this case 8 nibbles = 4 bytes = 32 bit address.

    The numbers are the absolute physical address. You can check the manual (often called "User Guide") of the ARM part to see what's stored at 04000130h specifically. This isn't necessarily specified by the ARM core, but could as well be specified by the specific MCU manufacturer.

    The : has no significance, could mean anything depending on context. It's not a standard way of writing addresses.