I am trying to advance my way into the STM32F103RB, and I don't understand the address space mapping defined in chapter 3.2 in the the STM32F103RB datasheet.
Program memory, data memory, registers and I/O ports are organized within the same linear 4-Gbyte address space.
The next chapter 3.3 details on where the different pheripherals are segmented in this chunk of memory. It ranges from:
0x4000 0000 to 0xA000 0FFF.
And my GPIOA peripheral exists on the address:
0x4001 0800 to 0x4001 0BFF.
I really don't understand what I am looking at here. The STM32F103RB only has 128KB flash and 20KB RAM. So obviously I am misunderstanding something here, but how should I map the address ranges to memory that I really have available?