Estoy intentando escribir un script de vinculador para mi primer firmware para el microcontrolador STM32F103C8T6. Tengo un script de ejemplo que funciona. Lo que trato de entender es por qué funciona.
El script del enlazador que tengo define dos ubicaciones de memoria:
MEMORY
{
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 64K
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 32K
}
Oficial STM32 manual de programación sección 2.2 establece que la sección de memoria "Código" comienza con la dirección 0x00000000
. La siguiente sección es RAM, que es 0x20000000
, como se indica en mi script de vinculador.
¿De dónde proviene el valor de origen FLASH 0x08000000
?