1
mirror of https://github.com/canokeys/canokey-nrf52.git synced 2024-09-07 15:32:40 +08:00
canokey-nrf52/nrf52840.ld
2024-05-29 22:57:00 +08:00

76 lines
1.5 KiB
Plaintext

/* Linker script to configure memory regions. */
SEARCH_DIR(.)
GROUP(-lgcc -lc -lnosys)
MEMORY
{
/* Bootloader will occupy 0xE0000 - 0x100000 */
FLASH (rx) : ORIGIN = 0x00001000, LENGTH = 0x9f000 /* 632 KB */
LFS (rw) : ORIGIN = 0x000a0000, LENGTH = 0x40000 /* 256 KB littlefs */
RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x3fff8
}
SECTIONS
{
}
SECTIONS
{
. = ALIGN(4);
.mem_section_dummy_ram :
{
}
.log_dynamic_data :
{
PROVIDE(__start_log_dynamic_data = .);
KEEP(*(SORT(.log_dynamic_data*)))
PROVIDE(__stop_log_dynamic_data = .);
} > RAM
.log_filter_data :
{
PROVIDE(__start_log_filter_data = .);
KEEP(*(SORT(.log_filter_data*)))
PROVIDE(__stop_log_filter_data = .);
} > RAM
} INSERT AFTER .data;
SECTIONS
{
.mem_section_dummy_rom :
{
}
.svc_data :
{
PROVIDE(__start_svc_data = .);
KEEP(*(.svc_data))
PROVIDE(__stop_svc_data = .);
} > FLASH
.log_const_data :
{
PROVIDE(__start_log_const_data = .);
KEEP(*(SORT(.log_const_data*)))
PROVIDE(__stop_log_const_data = .);
} > FLASH
.log_backends :
{
PROVIDE(__start_log_backends = .);
KEEP(*(SORT(.log_backends*)))
PROVIDE(__stop_log_backends = .);
} > FLASH
.nrf_balloc :
{
PROVIDE(__start_nrf_balloc = .);
KEEP(*(.nrf_balloc))
PROVIDE(__stop_nrf_balloc = .);
} > FLASH
} INSERT AFTER .text
/* Provide lfs begin and end address */
_lfs_begin = ORIGIN(LFS);
_lfs_end = ORIGIN(LFS) + LENGTH(LFS);
INCLUDE "nrf_common.ld"