Updated and Validated
[betaflight.git] / src / link / stm32_flash_f405_opbl.ld
blob08ba23e76110607f5fcdafbe6899aaebf0cc32b0
1 /*
2 *****************************************************************************
3 **
4 **  File        : stm32_flash_f405.ld
5 **
6 **  Abstract    : Linker script for STM32F405RG Device with
7 **                1024KByte FLASH, 128KByte RAM 64KByte CCM (RAM)
8 **
9 *****************************************************************************
13 0x08000000 to 0x080FFFFF 1024K full flash,
14 0x08000000 to 0x08003FFF   16K OPBL,
15 0x08004000 to 0x08007FFF   16K isr vector, startup code,
16 0x08008000 to 0x0800BFFF   16K config,                  // FLASH_Sector_2
17 0x0800C000 to 0x080FFFFF  976K firmware,
20 /* Specify the memory areas */
21 MEMORY
23     FLASH (rx)      : ORIGIN = 0x08004000, LENGTH = 16K
24     FLASH_CONFIG (r): ORIGIN = 0x08008000, LENGTH = 16K
25     FLASH1 (rx)     : ORIGIN = 0x0800C000, LENGTH = 976K
27     SYSTEM_MEMORY (rx): ORIGIN = 0x1FFF0000, LENGTH = 29K
29     RAM (rwx)       : ORIGIN = 0x20000000, LENGTH = 128K
30     CCM (rwx)       : ORIGIN = 0x10000000, LENGTH = 64K
31     MEMORY_B1 (rx)  : ORIGIN = 0x60000000, LENGTH = 0K
34 REGION_ALIAS("STACKRAM", CCM)
35 REGION_ALIAS("FASTRAM", CCM)
37 /* Put various bits and bobs of data into the main chunk of flash as we have enough of it */
39 REGION_ALIAS("MOVABLE_FLASH", FLASH1)
41 INCLUDE "stm32_flash_f4_split.ld"