aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/open_bootloader/pca10059_usb/armgcc/open_bootloader_gcc_nrf52.ld
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/open_bootloader/pca10059_usb/armgcc/open_bootloader_gcc_nrf52.ld')
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/open_bootloader/pca10059_usb/armgcc/open_bootloader_gcc_nrf52.ld103
1 files changed, 103 insertions, 0 deletions
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/open_bootloader/pca10059_usb/armgcc/open_bootloader_gcc_nrf52.ld b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/open_bootloader/pca10059_usb/armgcc/open_bootloader_gcc_nrf52.ld
new file mode 100644
index 0000000..ebbb0f9
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/open_bootloader/pca10059_usb/armgcc/open_bootloader_gcc_nrf52.ld
@@ -0,0 +1,103 @@
+/* Linker script to configure memory regions. */
+
+SEARCH_DIR(.)
+GROUP(-lgcc -lc -lnosys)
+
+MEMORY
+{
+ FLASH (rx) : ORIGIN = 0xe0000, LENGTH = 0x1e000
+ RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x3fff8
+ uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4
+ mbr_params_page (r) : ORIGIN = 0x000FE000, LENGTH = 0x1000
+ uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4
+ bootloader_settings_page (r) : ORIGIN = 0x000FF000, LENGTH = 0x1000
+}
+
+SECTIONS
+{
+ .uicr_mbr_params_page :
+ {
+ PROVIDE(__start_uicr_mbr_params_page = .);
+ KEEP(*(SORT(.uicr_mbr_params_page*)))
+ PROVIDE(__stop_uicr_mbr_params_page = .);
+ } > uicr_mbr_params_page
+ .mbr_params_page(NOLOAD) :
+ {
+ PROVIDE(__start_mbr_params_page = .);
+ KEEP(*(SORT(.mbr_params_page*)))
+ PROVIDE(__stop_mbr_params_page = .);
+ } > mbr_params_page
+ .uicr_bootloader_start_address :
+ {
+ PROVIDE(__start_uicr_bootloader_start_address = .);
+ KEEP(*(SORT(.uicr_bootloader_start_address*)))
+ PROVIDE(__stop_uicr_bootloader_start_address = .);
+ } > uicr_bootloader_start_address
+ .bootloader_settings_page(NOLOAD) :
+ {
+ PROVIDE(__start_bootloader_settings_page = .);
+ KEEP(*(SORT(.bootloader_settings_page*)))
+ PROVIDE(__stop_bootloader_settings_page = .);
+ } > bootloader_settings_page
+}
+
+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
+ .fs_data :
+ {
+ PROVIDE(__start_fs_data = .);
+ KEEP(*(.fs_data))
+ PROVIDE(__stop_fs_data = .);
+ } > RAM
+
+} INSERT AFTER .data;
+
+SECTIONS
+{
+ .mem_section_dummy_rom :
+ {
+ }
+ .crypto_data :
+ {
+ PROVIDE(__start_crypto_data = .);
+ KEEP(*(SORT(.crypto_data*)))
+ PROVIDE(__stop_crypto_data = .);
+ } > FLASH
+ .nrf_queue :
+ {
+ PROVIDE(__start_nrf_queue = .);
+ KEEP(*(.nrf_queue))
+ PROVIDE(__stop_nrf_queue = .);
+ } > 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
+ .dfu_trans :
+ {
+ PROVIDE(__start_dfu_trans = .);
+ KEEP(*(SORT(.dfu_trans*)))
+ PROVIDE(__stop_dfu_trans = .);
+ } > FLASH
+
+} INSERT AFTER .text
+
+INCLUDE "nrf_common.ld"