mongoose/examples/stm32/nucleo-h723zg-make-baremetal-builtin/link.ld

31 lines
1.1 KiB
Plaintext
Raw Normal View History

2023-10-04 18:11:56 +08:00
ENTRY(Reset_Handler);
MEMORY {
flash(rx) : ORIGIN = 0x08000000, LENGTH = 1024k
sram(rwx) : ORIGIN = 0x24000000, LENGTH = 128k /* AXI SRAM in domain D1 */
/* 2.3.2: remaining SRAM is in other (non-contiguous) banks,
DTCM @0x20000000 is in domain D1 and not accessible by the ETH DMA controller in domain D2
@0x24020000 can be either AXI or ITCM (2.4 Table 8)
SRAM @0x30000000 is in domain D2 and not directly available at startup to be used as stack (8.5.9 page 366)
SRAM @0x38000000 is in domain D3 and not directly available at startup to be used as stack (8.5.9 page 366) */
2023-10-04 18:11:56 +08:00
}
_estack = ORIGIN(sram) + LENGTH(sram); /* stack points to end of SRAM */
SECTIONS {
.vectors : { KEEP(*(.isr_vector)) } > flash
.text : { *(.text* .text.*) } > flash
.rodata : { *(.rodata*) } > flash
.data : {
2023-11-02 17:25:38 +08:00
_sdata = .;
2023-10-04 18:11:56 +08:00
*(.first_data)
*(.data SORT(.data.*))
2023-11-02 17:25:38 +08:00
*(.iram .iram* .iram.*)
_edata = .;
2023-10-04 18:11:56 +08:00
} > sram AT > flash
_sidata = LOADADDR(.data);
2023-11-02 17:25:38 +08:00
.bss : { _sbss = .; *(.bss SORT(.bss.*) COMMON) _ebss = .; } > sram
2023-10-04 18:11:56 +08:00
. = ALIGN(8);
2023-11-02 17:25:38 +08:00
_end = .;
2023-10-04 18:11:56 +08:00
}