| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /* Linker script to configure memory regions. */
- SEARCH_DIR(.)
- GROUP(-lgcc -lc -lnosys)
- MEMORY
- {
- /** Flash start address for the bootloader. This setting will also be stored in UICR to allow the
- * MBR to init the bootloader when starting the system. This value must correspond to
- * BOOTLOADER_REGION_START found in dfu_types.h. The system is prevented from starting up if
- * those values do not match. The check is performed in main.c, see
- * APP_ERROR_CHECK_BOOL(*((uint32_t *)NRF_UICR_BOOT_START_ADDRESS) == BOOTLOADER_REGION_START);
- */
- FLASH (rx) : ORIGIN = 0x7A000, LENGTH = 0x4000
- /** RAM Region for bootloader. This setting is suitable when used with s132. */
- RAM (rwx) : ORIGIN = 0x20002C00, LENGTH = 0x5380
- /** Location of non initialized RAM. Non initialized RAM is used for exchanging bond information
- * from application to bootloader when using buttonluss DFU OTA.
- */
- NOINIT (rwx) : ORIGIN = 0x20007F80, LENGTH = 0x80
- /** Location of bootloader setting in flash. */
- BOOTLOADER_SETTINGS (rw) : ORIGIN = 0x0007F000, LENGTH = 0x1000
- /** Location in UICR where bootloader start address is stored. */
- UICR_BOOTLOADER (r) : ORIGIN = 0x10001014, LENGTH = 0x04
-
- /** Location of mbr params page in flash. */
- MBR_PARAMS_PAGE (rw) : ORIGIN = 0x0007E000, LENGTH = 0x1000
-
- /** Location in UICR where mbr params page address is stored. */
- UICR_MBR_PARAM_PAGE(r) : ORIGIN = 0x10001018, LENGTH = 0x04
- }
- SECTIONS
- {
- .fs_data_out ALIGN(4):
- {
- PROVIDE( __start_fs_data = .);
- KEEP(*(fs_data))
- PROVIDE( __stop_fs_data = .);
- } = 0
- /* Place the bootloader settings page in flash. */
- .bootloaderSettings(NOLOAD) :
- {
-
- } > BOOTLOADER_SETTINGS
- /* Write the bootloader address in UICR. */
- .uicrBootStartAddress :
- {
- KEEP(*(.uicrBootStartAddress))
- } > UICR_BOOTLOADER
-
- /* Place the mbr params page in flash. */
- .mbrParamsPage(NOLOAD) :
- {
-
- } > MBR_PARAMS_PAGE
-
- /* Write the bootloader address in UICR. */
- .uicrMbrParamsPageAddress :
- {
- KEEP(*(.uicrMbrParamsPageAddress))
- } > UICR_MBR_PARAM_PAGE
- /* No init RAM section in bootloader. Used for bond information exchange. */
- .noinit(NOLOAD) :
- {
- } > NOINIT
- /* other placements follow here... */
- }
- INCLUDE "nrf52_common.ld"
|