forked from Archive/PX4-Autopilot
boards: STM32H7 pad to 256 bit - 32 bytes (#19724)
This commit is contained in:
parent
1c15a1a7f4
commit
1294851bb6
|
@ -111,6 +111,7 @@ MEMORY
|
||||||
{
|
{
|
||||||
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||||
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
||||||
|
|
||||||
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
||||||
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
||||||
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
||||||
|
@ -186,7 +187,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > AXI_SRAM AT > FLASH
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
|
|
@ -111,6 +111,7 @@ MEMORY
|
||||||
{
|
{
|
||||||
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||||
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
||||||
|
|
||||||
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
||||||
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
||||||
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
||||||
|
@ -186,7 +187,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > AXI_SRAM AT > FLASH
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
|
|
@ -187,7 +187,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > AXI_SRAM AT > FLASH
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
|
|
@ -109,16 +109,17 @@
|
||||||
|
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||||
flash (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
||||||
dtcm1 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
|
||||||
dtcm2 (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
||||||
sram (rwx) : ORIGIN = 0x24000000, LENGTH = 512K
|
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
||||||
sram1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K
|
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
||||||
sram2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K
|
SRAM1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K
|
SRAM2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K
|
SRAM3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K /* D2 domain AHB bus */
|
||||||
bbram (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
SRAM4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K /* D3 domain */
|
||||||
|
BKPRAM (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
||||||
}
|
}
|
||||||
|
|
||||||
OUTPUT_ARCH(arm)
|
OUTPUT_ARCH(arm)
|
||||||
|
@ -156,7 +157,7 @@ SECTIONS
|
||||||
*(.gnu.linkonce.r.*)
|
*(.gnu.linkonce.r.*)
|
||||||
_etext = ABSOLUTE(.);
|
_etext = ABSOLUTE(.);
|
||||||
|
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Init functions (static constructors and the like)
|
* Init functions (static constructors and the like)
|
||||||
|
@ -165,17 +166,17 @@ SECTIONS
|
||||||
_sinit = ABSOLUTE(.);
|
_sinit = ABSOLUTE(.);
|
||||||
KEEP(*(.init_array .init_array.*))
|
KEEP(*(.init_array .init_array.*))
|
||||||
_einit = ABSOLUTE(.);
|
_einit = ABSOLUTE(.);
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
|
|
||||||
.ARM.extab : {
|
.ARM.extab : {
|
||||||
*(.ARM.extab*)
|
*(.ARM.extab*)
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
__exidx_start = ABSOLUTE(.);
|
__exidx_start = ABSOLUTE(.);
|
||||||
.ARM.exidx : {
|
.ARM.exidx : {
|
||||||
*(.ARM.exidx*)
|
*(.ARM.exidx*)
|
||||||
} > flash
|
} > FLASH
|
||||||
__exidx_end = ABSOLUTE(.);
|
__exidx_end = ABSOLUTE(.);
|
||||||
|
|
||||||
_eronly = ABSOLUTE(.);
|
_eronly = ABSOLUTE(.);
|
||||||
|
@ -186,7 +187,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > sram AT > flash
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
@ -195,7 +201,7 @@ SECTIONS
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_ebss = ABSOLUTE(.);
|
_ebss = ABSOLUTE(.);
|
||||||
} > sram
|
} > AXI_SRAM
|
||||||
|
|
||||||
/* Emit the the D3 power domain section for locating BDMA data */
|
/* Emit the the D3 power domain section for locating BDMA data */
|
||||||
|
|
||||||
|
@ -204,7 +210,7 @@ SECTIONS
|
||||||
*(.sram4)
|
*(.sram4)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_sram4_heap_start = ABSOLUTE(.);
|
_sram4_heap_start = ABSOLUTE(.);
|
||||||
} > sram4
|
} > SRAM4
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
/* Stabs debugging sections. */
|
||||||
.stab 0 : { *(.stab) }
|
.stab 0 : { *(.stab) }
|
||||||
|
|
|
@ -109,16 +109,17 @@
|
||||||
|
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||||
flash (rx) : ORIGIN = 0x08020000, LENGTH = 1792K /* params in last sector */
|
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1792K /* params in last sector */
|
||||||
dtcm1 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
|
||||||
dtcm2 (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
||||||
sram (rwx) : ORIGIN = 0x24000000, LENGTH = 512K
|
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
||||||
sram1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K
|
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
||||||
sram2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K
|
SRAM1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K
|
SRAM2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K
|
SRAM3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K /* D2 domain AHB bus */
|
||||||
bbram (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
SRAM4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K /* D3 domain */
|
||||||
|
BKPRAM (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
||||||
}
|
}
|
||||||
|
|
||||||
OUTPUT_ARCH(arm)
|
OUTPUT_ARCH(arm)
|
||||||
|
@ -156,7 +157,7 @@ SECTIONS
|
||||||
*(.gnu.linkonce.r.*)
|
*(.gnu.linkonce.r.*)
|
||||||
_etext = ABSOLUTE(.);
|
_etext = ABSOLUTE(.);
|
||||||
|
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Init functions (static constructors and the like)
|
* Init functions (static constructors and the like)
|
||||||
|
@ -165,17 +166,17 @@ SECTIONS
|
||||||
_sinit = ABSOLUTE(.);
|
_sinit = ABSOLUTE(.);
|
||||||
KEEP(*(.init_array .init_array.*))
|
KEEP(*(.init_array .init_array.*))
|
||||||
_einit = ABSOLUTE(.);
|
_einit = ABSOLUTE(.);
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
|
|
||||||
.ARM.extab : {
|
.ARM.extab : {
|
||||||
*(.ARM.extab*)
|
*(.ARM.extab*)
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
__exidx_start = ABSOLUTE(.);
|
__exidx_start = ABSOLUTE(.);
|
||||||
.ARM.exidx : {
|
.ARM.exidx : {
|
||||||
*(.ARM.exidx*)
|
*(.ARM.exidx*)
|
||||||
} > flash
|
} > FLASH
|
||||||
__exidx_end = ABSOLUTE(.);
|
__exidx_end = ABSOLUTE(.);
|
||||||
|
|
||||||
_eronly = ABSOLUTE(.);
|
_eronly = ABSOLUTE(.);
|
||||||
|
@ -186,7 +187,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > sram AT > flash
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
@ -195,7 +201,7 @@ SECTIONS
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_ebss = ABSOLUTE(.);
|
_ebss = ABSOLUTE(.);
|
||||||
} > sram
|
} > AXI_SRAM
|
||||||
|
|
||||||
/* Emit the the D3 power domain section for locating BDMA data */
|
/* Emit the the D3 power domain section for locating BDMA data */
|
||||||
|
|
||||||
|
@ -204,7 +210,7 @@ SECTIONS
|
||||||
*(.sram4)
|
*(.sram4)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_sram4_heap_start = ABSOLUTE(.);
|
_sram4_heap_start = ABSOLUTE(.);
|
||||||
} > sram4
|
} > SRAM4
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
/* Stabs debugging sections. */
|
||||||
.stab 0 : { *(.stab) }
|
.stab 0 : { *(.stab) }
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/* The Durandal-v1 uses an STM32H743II has 2048Kb of main FLASH memory.
|
/* The board uses an STM32H743II and has 2048Kb of main FLASH memory.
|
||||||
* The flash memory is partitioned into a User Flash memory and a System
|
* The flash memory is partitioned into a User Flash memory and a System
|
||||||
* Flash memory. Each of these memories has two banks:
|
* Flash memory. Each of these memories has two banks:
|
||||||
*
|
*
|
||||||
|
@ -59,8 +59,8 @@
|
||||||
* 2) BOOT=1: Boot address defined by user option byte BOOT_ADD1[15:0].
|
* 2) BOOT=1: Boot address defined by user option byte BOOT_ADD1[15:0].
|
||||||
* ST programmed value: System bootloader at 0x1FF0:0000
|
* ST programmed value: System bootloader at 0x1FF0:0000
|
||||||
*
|
*
|
||||||
* The Durandal has a Swtich on board, the BOOT0 pin is at ground so by default,
|
* There's a switch on board, the BOOT0 pin is at ground so by default,
|
||||||
* the STM32 will boot to address 0x0800:0000 in FLASH unless the swiutch is
|
* the STM32 will boot to address 0x0800:0000 in FLASH unless the switch is
|
||||||
* drepresed, then the boot will be from 0x1FF0:0000
|
* drepresed, then the boot will be from 0x1FF0:0000
|
||||||
*
|
*
|
||||||
* The STM32H743ZI also has 1024Kb of data SRAM.
|
* The STM32H743ZI also has 1024Kb of data SRAM.
|
||||||
|
@ -109,16 +109,17 @@
|
||||||
|
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||||
flash (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
||||||
dtcm1 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
|
||||||
dtcm2 (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
||||||
sram (rwx) : ORIGIN = 0x24000000, LENGTH = 512K
|
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
||||||
sram1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K
|
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
||||||
sram2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K
|
SRAM1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K
|
SRAM2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K
|
SRAM3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K /* D2 domain AHB bus */
|
||||||
bbram (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
SRAM4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K /* D3 domain */
|
||||||
|
BKPRAM (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
||||||
}
|
}
|
||||||
|
|
||||||
OUTPUT_ARCH(arm)
|
OUTPUT_ARCH(arm)
|
||||||
|
@ -156,7 +157,7 @@ SECTIONS
|
||||||
*(.gnu.linkonce.r.*)
|
*(.gnu.linkonce.r.*)
|
||||||
_etext = ABSOLUTE(.);
|
_etext = ABSOLUTE(.);
|
||||||
|
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Init functions (static constructors and the like)
|
* Init functions (static constructors and the like)
|
||||||
|
@ -165,17 +166,17 @@ SECTIONS
|
||||||
_sinit = ABSOLUTE(.);
|
_sinit = ABSOLUTE(.);
|
||||||
KEEP(*(.init_array .init_array.*))
|
KEEP(*(.init_array .init_array.*))
|
||||||
_einit = ABSOLUTE(.);
|
_einit = ABSOLUTE(.);
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
|
|
||||||
.ARM.extab : {
|
.ARM.extab : {
|
||||||
*(.ARM.extab*)
|
*(.ARM.extab*)
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
__exidx_start = ABSOLUTE(.);
|
__exidx_start = ABSOLUTE(.);
|
||||||
.ARM.exidx : {
|
.ARM.exidx : {
|
||||||
*(.ARM.exidx*)
|
*(.ARM.exidx*)
|
||||||
} > flash
|
} > FLASH
|
||||||
__exidx_end = ABSOLUTE(.);
|
__exidx_end = ABSOLUTE(.);
|
||||||
|
|
||||||
_eronly = ABSOLUTE(.);
|
_eronly = ABSOLUTE(.);
|
||||||
|
@ -186,7 +187,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > sram AT > flash
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
@ -195,7 +201,7 @@ SECTIONS
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_ebss = ABSOLUTE(.);
|
_ebss = ABSOLUTE(.);
|
||||||
} > sram
|
} > AXI_SRAM
|
||||||
|
|
||||||
/* Emit the the D3 power domain section for locating BDMA data */
|
/* Emit the the D3 power domain section for locating BDMA data */
|
||||||
|
|
||||||
|
@ -204,7 +210,7 @@ SECTIONS
|
||||||
*(.sram4)
|
*(.sram4)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_sram4_heap_start = ABSOLUTE(.);
|
_sram4_heap_start = ABSOLUTE(.);
|
||||||
} > sram4
|
} > SRAM4
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
/* Stabs debugging sections. */
|
||||||
.stab 0 : { *(.stab) }
|
.stab 0 : { *(.stab) }
|
||||||
|
|
|
@ -109,16 +109,17 @@
|
||||||
|
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||||
flash (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
||||||
dtcm1 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
|
||||||
dtcm2 (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
||||||
sram (rwx) : ORIGIN = 0x24000000, LENGTH = 512K
|
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
||||||
sram1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K
|
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
||||||
sram2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K
|
SRAM1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K
|
SRAM2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K
|
SRAM3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K /* D2 domain AHB bus */
|
||||||
bbram (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
SRAM4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K /* D3 domain */
|
||||||
|
BKPRAM (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
||||||
}
|
}
|
||||||
|
|
||||||
OUTPUT_ARCH(arm)
|
OUTPUT_ARCH(arm)
|
||||||
|
@ -157,7 +158,7 @@ SECTIONS
|
||||||
*(.gnu.linkonce.r.*)
|
*(.gnu.linkonce.r.*)
|
||||||
_etext = ABSOLUTE(.);
|
_etext = ABSOLUTE(.);
|
||||||
|
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Init functions (static constructors and the like)
|
* Init functions (static constructors and the like)
|
||||||
|
@ -166,17 +167,17 @@ SECTIONS
|
||||||
_sinit = ABSOLUTE(.);
|
_sinit = ABSOLUTE(.);
|
||||||
KEEP(*(.init_array .init_array.*))
|
KEEP(*(.init_array .init_array.*))
|
||||||
_einit = ABSOLUTE(.);
|
_einit = ABSOLUTE(.);
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
|
|
||||||
.ARM.extab : {
|
.ARM.extab : {
|
||||||
*(.ARM.extab*)
|
*(.ARM.extab*)
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
__exidx_start = ABSOLUTE(.);
|
__exidx_start = ABSOLUTE(.);
|
||||||
.ARM.exidx : {
|
.ARM.exidx : {
|
||||||
*(.ARM.exidx*)
|
*(.ARM.exidx*)
|
||||||
} > flash
|
} > FLASH
|
||||||
__exidx_end = ABSOLUTE(.);
|
__exidx_end = ABSOLUTE(.);
|
||||||
|
|
||||||
_eronly = ABSOLUTE(.);
|
_eronly = ABSOLUTE(.);
|
||||||
|
@ -187,7 +188,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > sram AT > flash
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
@ -196,7 +202,7 @@ SECTIONS
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_ebss = ABSOLUTE(.);
|
_ebss = ABSOLUTE(.);
|
||||||
} > sram
|
} > AXI_SRAM
|
||||||
|
|
||||||
/* Emit the the D3 power domain section for locating BDMA data */
|
/* Emit the the D3 power domain section for locating BDMA data */
|
||||||
|
|
||||||
|
@ -205,7 +211,7 @@ SECTIONS
|
||||||
*(.sram4)
|
*(.sram4)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_sram4_heap_start = ABSOLUTE(.);
|
_sram4_heap_start = ABSOLUTE(.);
|
||||||
} > sram4
|
} > SRAM4
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
/* Stabs debugging sections. */
|
||||||
.stab 0 : { *(.stab) }
|
.stab 0 : { *(.stab) }
|
||||||
|
|
|
@ -187,7 +187,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > AXI_SRAM AT > FLASH
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
@ -207,7 +212,6 @@ SECTIONS
|
||||||
_sram4_heap_start = ABSOLUTE(.);
|
_sram4_heap_start = ABSOLUTE(.);
|
||||||
} > SRAM4
|
} > SRAM4
|
||||||
|
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
/* Stabs debugging sections. */
|
||||||
.stab 0 : { *(.stab) }
|
.stab 0 : { *(.stab) }
|
||||||
.stabstr 0 : { *(.stabstr) }
|
.stabstr 0 : { *(.stabstr) }
|
||||||
|
@ -221,13 +225,4 @@ SECTIONS
|
||||||
.debug_line 0 : { *(.debug_line) }
|
.debug_line 0 : { *(.debug_line) }
|
||||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||||
.debug_aranges 0 : { *(.debug_aranges) }
|
.debug_aranges 0 : { *(.debug_aranges) }
|
||||||
|
|
||||||
.ramfunc : {
|
|
||||||
_sramfuncs = .;
|
|
||||||
*(.ramfunc .ramfunc.*)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_eramfuncs = .;
|
|
||||||
} > ITCM_RAM AT > FLASH
|
|
||||||
|
|
||||||
_framfuncs = LOADADDR(.ramfunc);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -187,7 +187,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > AXI_SRAM AT > FLASH
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
@ -199,6 +204,7 @@ SECTIONS
|
||||||
} > AXI_SRAM
|
} > AXI_SRAM
|
||||||
|
|
||||||
/* Emit the the D3 power domain section for locating BDMA data */
|
/* Emit the the D3 power domain section for locating BDMA data */
|
||||||
|
|
||||||
.sram4_reserve (NOLOAD) :
|
.sram4_reserve (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.sram4)
|
*(.sram4)
|
||||||
|
@ -206,7 +212,6 @@ SECTIONS
|
||||||
_sram4_heap_start = ABSOLUTE(.);
|
_sram4_heap_start = ABSOLUTE(.);
|
||||||
} > SRAM4
|
} > SRAM4
|
||||||
|
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
/* Stabs debugging sections. */
|
||||||
.stab 0 : { *(.stab) }
|
.stab 0 : { *(.stab) }
|
||||||
.stabstr 0 : { *(.stabstr) }
|
.stabstr 0 : { *(.stabstr) }
|
||||||
|
@ -220,13 +225,4 @@ SECTIONS
|
||||||
.debug_line 0 : { *(.debug_line) }
|
.debug_line 0 : { *(.debug_line) }
|
||||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||||
.debug_aranges 0 : { *(.debug_aranges) }
|
.debug_aranges 0 : { *(.debug_aranges) }
|
||||||
|
|
||||||
.ramfunc : {
|
|
||||||
_sramfuncs = .;
|
|
||||||
*(.ramfunc .ramfunc.*)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_eramfuncs = .;
|
|
||||||
} > ITCM_RAM AT > FLASH
|
|
||||||
|
|
||||||
_framfuncs = LOADADDR(.ramfunc);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -187,7 +187,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > AXI_SRAM AT > FLASH
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
@ -199,6 +204,7 @@ SECTIONS
|
||||||
} > AXI_SRAM
|
} > AXI_SRAM
|
||||||
|
|
||||||
/* Emit the the D3 power domain section for locating BDMA data */
|
/* Emit the the D3 power domain section for locating BDMA data */
|
||||||
|
|
||||||
.sram4_reserve (NOLOAD) :
|
.sram4_reserve (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.sram4)
|
*(.sram4)
|
||||||
|
@ -206,7 +212,6 @@ SECTIONS
|
||||||
_sram4_heap_start = ABSOLUTE(.);
|
_sram4_heap_start = ABSOLUTE(.);
|
||||||
} > SRAM4
|
} > SRAM4
|
||||||
|
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
/* Stabs debugging sections. */
|
||||||
.stab 0 : { *(.stab) }
|
.stab 0 : { *(.stab) }
|
||||||
.stabstr 0 : { *(.stabstr) }
|
.stabstr 0 : { *(.stabstr) }
|
||||||
|
@ -220,13 +225,4 @@ SECTIONS
|
||||||
.debug_line 0 : { *(.debug_line) }
|
.debug_line 0 : { *(.debug_line) }
|
||||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||||
.debug_aranges 0 : { *(.debug_aranges) }
|
.debug_aranges 0 : { *(.debug_aranges) }
|
||||||
|
|
||||||
.ramfunc : {
|
|
||||||
_sramfuncs = .;
|
|
||||||
*(.ramfunc .ramfunc.*)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_eramfuncs = .;
|
|
||||||
} > ITCM_RAM AT > FLASH
|
|
||||||
|
|
||||||
_framfuncs = LOADADDR(.ramfunc);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -111,6 +111,7 @@ MEMORY
|
||||||
{
|
{
|
||||||
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||||
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
||||||
|
|
||||||
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
||||||
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
||||||
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
||||||
|
@ -186,7 +187,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > AXI_SRAM AT > FLASH
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
|
|
@ -109,16 +109,17 @@
|
||||||
|
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||||
flash (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
||||||
dtcm1 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
|
||||||
dtcm2 (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
||||||
sram (rwx) : ORIGIN = 0x24000000, LENGTH = 512K
|
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
||||||
sram1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K
|
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
||||||
sram2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K
|
SRAM1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K
|
SRAM2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K
|
SRAM3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K /* D2 domain AHB bus */
|
||||||
bbram (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
SRAM4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K /* D3 domain */
|
||||||
|
BKPRAM (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
||||||
}
|
}
|
||||||
|
|
||||||
OUTPUT_ARCH(arm)
|
OUTPUT_ARCH(arm)
|
||||||
|
@ -157,7 +158,7 @@ SECTIONS
|
||||||
*(.gnu.linkonce.r.*)
|
*(.gnu.linkonce.r.*)
|
||||||
_etext = ABSOLUTE(.);
|
_etext = ABSOLUTE(.);
|
||||||
|
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Init functions (static constructors and the like)
|
* Init functions (static constructors and the like)
|
||||||
|
@ -166,17 +167,17 @@ SECTIONS
|
||||||
_sinit = ABSOLUTE(.);
|
_sinit = ABSOLUTE(.);
|
||||||
KEEP(*(.init_array .init_array.*))
|
KEEP(*(.init_array .init_array.*))
|
||||||
_einit = ABSOLUTE(.);
|
_einit = ABSOLUTE(.);
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
|
|
||||||
.ARM.extab : {
|
.ARM.extab : {
|
||||||
*(.ARM.extab*)
|
*(.ARM.extab*)
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
__exidx_start = ABSOLUTE(.);
|
__exidx_start = ABSOLUTE(.);
|
||||||
.ARM.exidx : {
|
.ARM.exidx : {
|
||||||
*(.ARM.exidx*)
|
*(.ARM.exidx*)
|
||||||
} > flash
|
} > FLASH
|
||||||
__exidx_end = ABSOLUTE(.);
|
__exidx_end = ABSOLUTE(.);
|
||||||
|
|
||||||
_eronly = ABSOLUTE(.);
|
_eronly = ABSOLUTE(.);
|
||||||
|
@ -187,7 +188,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > sram AT > flash
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
@ -196,7 +202,7 @@ SECTIONS
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_ebss = ABSOLUTE(.);
|
_ebss = ABSOLUTE(.);
|
||||||
} > sram
|
} > AXI_SRAM
|
||||||
|
|
||||||
/* Emit the the D3 power domain section for locating BDMA data */
|
/* Emit the the D3 power domain section for locating BDMA data */
|
||||||
|
|
||||||
|
@ -205,7 +211,7 @@ SECTIONS
|
||||||
*(.sram4)
|
*(.sram4)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_sram4_heap_start = ABSOLUTE(.);
|
_sram4_heap_start = ABSOLUTE(.);
|
||||||
} > sram4
|
} > SRAM4
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
/* Stabs debugging sections. */
|
||||||
.stab 0 : { *(.stab) }
|
.stab 0 : { *(.stab) }
|
||||||
|
|
|
@ -109,16 +109,17 @@
|
||||||
|
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||||
flash (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
||||||
dtcm1 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
|
||||||
dtcm2 (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
||||||
sram (rwx) : ORIGIN = 0x24000000, LENGTH = 512K
|
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
||||||
sram1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K
|
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
||||||
sram2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K
|
SRAM1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K
|
SRAM2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K
|
SRAM3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K /* D2 domain AHB bus */
|
||||||
bbram (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
SRAM4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K /* D3 domain */
|
||||||
|
BKPRAM (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
||||||
}
|
}
|
||||||
|
|
||||||
OUTPUT_ARCH(arm)
|
OUTPUT_ARCH(arm)
|
||||||
|
@ -157,7 +158,7 @@ SECTIONS
|
||||||
*(.gnu.linkonce.r.*)
|
*(.gnu.linkonce.r.*)
|
||||||
_etext = ABSOLUTE(.);
|
_etext = ABSOLUTE(.);
|
||||||
|
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Init functions (static constructors and the like)
|
* Init functions (static constructors and the like)
|
||||||
|
@ -166,17 +167,17 @@ SECTIONS
|
||||||
_sinit = ABSOLUTE(.);
|
_sinit = ABSOLUTE(.);
|
||||||
KEEP(*(.init_array .init_array.*))
|
KEEP(*(.init_array .init_array.*))
|
||||||
_einit = ABSOLUTE(.);
|
_einit = ABSOLUTE(.);
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
|
|
||||||
.ARM.extab : {
|
.ARM.extab : {
|
||||||
*(.ARM.extab*)
|
*(.ARM.extab*)
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
__exidx_start = ABSOLUTE(.);
|
__exidx_start = ABSOLUTE(.);
|
||||||
.ARM.exidx : {
|
.ARM.exidx : {
|
||||||
*(.ARM.exidx*)
|
*(.ARM.exidx*)
|
||||||
} > flash
|
} > FLASH
|
||||||
__exidx_end = ABSOLUTE(.);
|
__exidx_end = ABSOLUTE(.);
|
||||||
|
|
||||||
_eronly = ABSOLUTE(.);
|
_eronly = ABSOLUTE(.);
|
||||||
|
@ -187,7 +188,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > sram AT > flash
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
@ -196,7 +202,7 @@ SECTIONS
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_ebss = ABSOLUTE(.);
|
_ebss = ABSOLUTE(.);
|
||||||
} > sram
|
} > AXI_SRAM
|
||||||
|
|
||||||
/* Emit the the D3 power domain section for locating BDMA data */
|
/* Emit the the D3 power domain section for locating BDMA data */
|
||||||
|
|
||||||
|
@ -205,8 +211,7 @@ SECTIONS
|
||||||
*(.sram4)
|
*(.sram4)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_sram4_heap_start = ABSOLUTE(.);
|
_sram4_heap_start = ABSOLUTE(.);
|
||||||
} > sram4
|
} > SRAM4
|
||||||
|
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
/* Stabs debugging sections. */
|
||||||
.stab 0 : { *(.stab) }
|
.stab 0 : { *(.stab) }
|
||||||
|
|
|
@ -109,16 +109,17 @@
|
||||||
|
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
ITCM_RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||||
flash (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 1920K
|
||||||
dtcm1 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
|
||||||
dtcm2 (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
DTCM1_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
|
||||||
sram (rwx) : ORIGIN = 0x24000000, LENGTH = 512K
|
DTCM2_RAM (rwx) : ORIGIN = 0x20010000, LENGTH = 64K
|
||||||
sram1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K
|
AXI_SRAM (rwx) : ORIGIN = 0x24000000, LENGTH = 512K /* D1 domain AXI bus */
|
||||||
sram2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K
|
SRAM1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K
|
SRAM2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K /* D2 domain AHB bus */
|
||||||
sram4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K
|
SRAM3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K /* D2 domain AHB bus */
|
||||||
bbram (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
SRAM4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K /* D3 domain */
|
||||||
|
BKPRAM (rwx) : ORIGIN = 0x38800000, LENGTH = 4K
|
||||||
}
|
}
|
||||||
|
|
||||||
OUTPUT_ARCH(arm)
|
OUTPUT_ARCH(arm)
|
||||||
|
@ -157,7 +158,7 @@ SECTIONS
|
||||||
*(.gnu.linkonce.r.*)
|
*(.gnu.linkonce.r.*)
|
||||||
_etext = ABSOLUTE(.);
|
_etext = ABSOLUTE(.);
|
||||||
|
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Init functions (static constructors and the like)
|
* Init functions (static constructors and the like)
|
||||||
|
@ -166,17 +167,17 @@ SECTIONS
|
||||||
_sinit = ABSOLUTE(.);
|
_sinit = ABSOLUTE(.);
|
||||||
KEEP(*(.init_array .init_array.*))
|
KEEP(*(.init_array .init_array.*))
|
||||||
_einit = ABSOLUTE(.);
|
_einit = ABSOLUTE(.);
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
|
|
||||||
.ARM.extab : {
|
.ARM.extab : {
|
||||||
*(.ARM.extab*)
|
*(.ARM.extab*)
|
||||||
} > flash
|
} > FLASH
|
||||||
|
|
||||||
__exidx_start = ABSOLUTE(.);
|
__exidx_start = ABSOLUTE(.);
|
||||||
.ARM.exidx : {
|
.ARM.exidx : {
|
||||||
*(.ARM.exidx*)
|
*(.ARM.exidx*)
|
||||||
} > flash
|
} > FLASH
|
||||||
__exidx_end = ABSOLUTE(.);
|
__exidx_end = ABSOLUTE(.);
|
||||||
|
|
||||||
_eronly = ABSOLUTE(.);
|
_eronly = ABSOLUTE(.);
|
||||||
|
@ -187,7 +188,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > sram AT > flash
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > AXI_SRAM AT > FLASH = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
@ -196,7 +202,7 @@ SECTIONS
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_ebss = ABSOLUTE(.);
|
_ebss = ABSOLUTE(.);
|
||||||
} > sram
|
} > AXI_SRAM
|
||||||
|
|
||||||
/* Emit the the D3 power domain section for locating BDMA data */
|
/* Emit the the D3 power domain section for locating BDMA data */
|
||||||
|
|
||||||
|
@ -205,7 +211,7 @@ SECTIONS
|
||||||
*(.sram4)
|
*(.sram4)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_sram4_heap_start = ABSOLUTE(.);
|
_sram4_heap_start = ABSOLUTE(.);
|
||||||
} > sram4
|
} > SRAM4
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
/* Stabs debugging sections. */
|
||||||
.stab 0 : { *(.stab) }
|
.stab 0 : { *(.stab) }
|
||||||
|
|
|
@ -239,7 +239,12 @@ SECTIONS
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
_edata = ABSOLUTE(.);
|
_edata = ABSOLUTE(.);
|
||||||
} > sram AT > qspi
|
|
||||||
|
/* Pad out last section as the STM32H7 Flash write size is 256 bits. 32 bytes */
|
||||||
|
. = ALIGN(16);
|
||||||
|
FILL(0xffff)
|
||||||
|
. += 16;
|
||||||
|
} > sram AT > qspi = 0xffff
|
||||||
|
|
||||||
.bss : {
|
.bss : {
|
||||||
_sbss = ABSOLUTE(.);
|
_sbss = ABSOLUTE(.);
|
||||||
|
|
Loading…
Reference in New Issue