diff options
Diffstat (limited to 'thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/experimental/ant_bootloader/pca10040/dual_bank_ant_s212/armgcc/dfu_gcc_nrf52.ld')
-rw-r--r-- | thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/experimental/ant_bootloader/pca10040/dual_bank_ant_s212/armgcc/dfu_gcc_nrf52.ld | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/experimental/ant_bootloader/pca10040/dual_bank_ant_s212/armgcc/dfu_gcc_nrf52.ld b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/experimental/ant_bootloader/pca10040/dual_bank_ant_s212/armgcc/dfu_gcc_nrf52.ld new file mode 100644 index 0000000..db1aebe --- /dev/null +++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/experimental/ant_bootloader/pca10040/dual_bank_ant_s212/armgcc/dfu_gcc_nrf52.ld @@ -0,0 +1,109 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x79000, LENGTH = 0x5000 + RAM (rwx) : ORIGIN = 0x20002800, LENGTH = 0xd800 + boot_settings_pending (r) : ORIGIN = 0x0007E000, LENGTH = 0x1000 + boot_settings (r) : ORIGIN = 0x0007F000, LENGTH = 0x1000 + uicr_boot_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + uicr_mbr_retaining_address (r) : ORIGIN = 0x10001018, LENGTH = 0x4 +} + +SECTIONS +{ + .boot_settings_pending(NOLOAD) : + { + PROVIDE(__start_boot_settings_pending = .); + KEEP(*(SORT(.boot_settings_pending*))) + PROVIDE(__stop_boot_settings_pending = .); + } > boot_settings_pending + .boot_settings(NOLOAD) : + { + PROVIDE(__start_boot_settings = .); + KEEP(*(SORT(.boot_settings*))) + PROVIDE(__stop_boot_settings = .); + } > boot_settings + .uicr_boot_start_address : + { + PROVIDE(__start_uicr_boot_start_address = .); + KEEP(*(SORT(.uicr_boot_start_address*))) + PROVIDE(__stop_uicr_boot_start_address = .); + } > uicr_boot_start_address + .uicr_mbr_retaining_address : + { + PROVIDE(__start_uicr_mbr_retaining_address = .); + KEEP(*(SORT(.uicr_mbr_retaining_address*))) + PROVIDE(__stop_uicr_mbr_retaining_address = .); + } > uicr_mbr_retaining_address +} + +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 + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .sdh_ant_observers : + { + PROVIDE(__start_sdh_ant_observers = .); + KEEP(*(SORT(.sdh_ant_observers*))) + PROVIDE(__stop_sdh_ant_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + +} INSERT AFTER .text + +INCLUDE "nrf_common.ld" |