1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-18 21:48:13 +00:00
trezor-firmware/core/embed/bootloader/memory.ld

71 lines
1.6 KiB
Plaintext
Raw Normal View History

/* Trezor v2 bootloader linker script */
2017-02-06 14:38:45 +00:00
2017-10-09 15:44:58 +00:00
ENTRY(reset_handler)
2017-02-06 14:38:45 +00:00
2017-10-09 15:44:58 +00:00
MEMORY {
FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 128K
2017-10-09 15:44:58 +00:00
CCMRAM (wal) : ORIGIN = 0x10000000, LENGTH = 64K
2017-10-11 21:36:07 +00:00
SRAM (wal) : ORIGIN = 0x20000000, LENGTH = 192K
2017-10-09 15:44:58 +00:00
}
2017-02-06 14:38:45 +00:00
main_stack_base = ORIGIN(CCMRAM) + SIZEOF(.stack) ; /* 8-byte aligned full descending stack */
2017-02-06 14:38:45 +00:00
2017-10-09 15:44:58 +00:00
/* used by the startup code to populate variables used by the C code */
data_lma = LOADADDR(.data);
data_vma = ADDR(.data);
data_size = SIZEOF(.data);
2017-02-06 14:38:45 +00:00
/* used by the startup code to wipe memory */
ccmram_start = ORIGIN(CCMRAM);
ccmram_end = ORIGIN(CCMRAM) + LENGTH(CCMRAM);
/* used by the startup code to wipe memory */
2017-10-09 15:44:58 +00:00
sram_start = ORIGIN(SRAM);
sram_end = ORIGIN(SRAM) + LENGTH(SRAM);
_codelen = SIZEOF(.flash) + SIZEOF(.data) + SIZEOF(.exidx) + SIZEOF(.align);
2017-10-09 15:44:58 +00:00
SECTIONS {
.header : ALIGN(4) {
KEEP(*(.header));
} >FLASH AT>FLASH
.flash : ALIGN(512) {
KEEP(*(.vector_table));
. = ALIGN(4);
*(.text*);
. = ALIGN(4);
*(.rodata*);
. = ALIGN(4);
} >FLASH AT>FLASH
/* exception handling info generated by llvm which should consist of 8 bytes of "cantunwind" */
.exidx : ALIGN(4) {
*(.ARM.exidx*);
} >FLASH AT>FLASH
.align : ALIGN(4) {
2017-10-09 15:44:58 +00:00
. = ALIGN(512);
} >FLASH AT>FLASH
.stack : ALIGN(8) {
. = 16K; /* Exactly 16K allocated for stack. Overflow causes MemManage fault (when using MPU). */
} >CCMRAM
2017-10-09 15:44:58 +00:00
.data : ALIGN(4) {
*(.data*);
. = ALIGN(512);
} >CCMRAM AT>FLASH
.bss : ALIGN(4) {
*(.bss*);
. = ALIGN(4);
} >CCMRAM
.buf : ALIGN(4) {
*(.buf*);
. = ALIGN(4);
} >SRAM
2017-10-09 15:44:58 +00:00
}