First I apologize if I am in the wrong place to ask this but can't find info anywhere or I just don't know what question to ask regarding memory address for the Cortex-M3.
I am very new to microcontrollers. I have an STM32F103VE and I downloaded the 1st 512K just to understand how it is coded. Adr 0x00000000 had 0x20003620 which I assume is the stack pointer. The second 32 bit word has 0x08003B2D which I assume is the PC register and so on. This raises some questions about memory addressing.
Addressing questions relating to the Cortex-M3 microcontroller:
The memory map I found states:
Code section - Address 0x00000000 - 0x1FFFFFFF, This represents .5GB of memory
SRAM section - Address 0x20000000 - 0x3FFFFFFF, another .5GB of memory
If this microcontroller has 512KB of flash and 64KB of SRAM, am I to assume the flash address would then be 0x00000000 – 0x007FFFF and the SRAM address would be 0x20000000 - 0x2000FFFF ?
Given above if I had an address of 0x08003B2D would this be an invalid address? My assumption is this address would be in the code section and no memory is available at that address.
Would you folks have some pointers to documentation that would explain the Cortex-M3 and addressing.
Merle
Hi Merle,
The actual memory map is device specific. According to the STM32F103 Reference Manual (http://www.st.com/web/en/resource/technical/document/reference_manual/CD00171190.pdf), the flash memory space is from 0x08000000 to 0x0807FFFF if the 512KB part. The SRAM memory space is from 0x20000000 to 0x2000FFFF if the 64KB part. Therefore 0x08003B2D will not be invalid for PC.
Best regards,Yasuhiko Koumoto.
Wow, I really missed that one. THANK YOU!!!!