Update Code of Conduct
[betaflight.git] / src / link / stm32_flash_f74x.ld
blobbf066366a082ba7fd2818f97c159e4b9d3b1de1a
1 /*
2 *****************************************************************************
3 **
4 **  File        : stm32_flash_f74x.ld
5 **
6 **  Abstract    : Linker script for STM32F74xVGTx Device with
7 **                1024KByte FLASH, 320KByte RAM
8 **
9 *****************************************************************************
13 0x00000000 to 0x00003FFF   16K TCM RAM,
15 0x08000000 to 0x080FFFFF 1024K full flash,
16 0x08000000 to 0x08007FFF   32K isr vector, startup code,
17 0x08008000 to 0x0800FFFF   32K config,                  // FLASH_Sector_1
18 0x08010000 to 0x080FFFFF  960K firmware,
21 /* Specify the memory areas */
22 MEMORY
24     ITCM_RAM (rx)                       : ORIGIN = 0x00000000, LENGTH = 16K
26 /* Alternate access to the same flash storage as AXIM flash, but not writable by the boot loader. */
27     ITCM_FLASH (rx)             : ORIGIN = 0x00200000, LENGTH = 32K
28     ITCM_FLASH_CONFIG (r)       : ORIGIN = 0x00208000, LENGTH = 32K
29     ITCM_FLASH1 (rx)            : ORIGIN = 0x00210000, LENGTH = 960K
31     AXIM_FLASH (rx)             : ORIGIN = 0x08000000, LENGTH = 10K
32     AXIM_FLASH_CUSTOM_DEFAULTS (r) : ORIGIN = 0x08002800, LENGTH = 10K
33     AXIM_FLASH_UNUSED (r)     : ORIGIN = 0x08005000, LENGTH = 12K
34     /* config occupies the entire flash sector 1 for the ease of erasure, 32K on F74x */
35     AXIM_FLASH_CONFIG (r)       : ORIGIN = 0x08008000, LENGTH = 32K
36     AXIM_FLASH1 (rx)            : ORIGIN = 0x08010000, LENGTH = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? 928K : 960K
37     AXIM_FLASH_CUSTOM_DEFAULTS_EXTENDED (r)     : ORIGIN = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? 0x080F8000 : 0x08100000, LENGTH = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? 32K : 0K
39     DTCM_RAM (rwx)              : ORIGIN = 0x20000000, LENGTH = 64K
40     SRAM1 (rwx)                 : ORIGIN = 0x20010000, LENGTH = 240K
41     SRAM2 (rwx)                 : ORIGIN = 0x2004C000, LENGTH = 16K
42     MEMORY_B1 (rx)              : ORIGIN = 0x60000000, LENGTH = 0K
45 REGION_ALIAS("FLASH", ITCM_FLASH)
46 REGION_ALIAS("WRITABLE_FLASH", AXIM_FLASH)
47 REGION_ALIAS("FLASH_CUSTOM_DEFAULTS", AXIM_FLASH_CUSTOM_DEFAULTS)
48 REGION_ALIAS("FLASH_CONFIG", AXIM_FLASH_CONFIG)
49 REGION_ALIAS("FLASH1", ITCM_FLASH1)
50 REGION_ALIAS("WRITABLE_FLASH1", AXIM_FLASH1)
51 REGION_ALIAS("FLASH_CUSTOM_DEFAULTS_EXTENDED", AXIM_FLASH_CUSTOM_DEFAULTS_EXTENDED)
53 REGION_ALIAS("STACKRAM", DTCM_RAM)
54 REGION_ALIAS("FASTRAM", DTCM_RAM)
55 REGION_ALIAS("RAM", SRAM1)
57 /* Put various bits and bobs of data into the main chunk of flash as we have enough of it */
59 REGION_ALIAS("MOVABLE_FLASH", AXIM_FLASH1)
61 INCLUDE "stm32_flash_f7_split.ld"