2023-10-04 18:11:56 +08:00
|
|
|
ENTRY(Reset_Handler);
|
|
|
|
MEMORY {
|
|
|
|
flash(rx) : ORIGIN = 0x08000000, LENGTH = 1024k
|
2023-10-17 04:12:08 +08:00
|
|
|
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
|
|
|
}
|