Upon system reset, the execution branches to the MBR Reset Handler as specified in the System Vector Table.
This section describes the MBR and SoftDevice reset behavior.
- If an in-system bootloader update procedure is in progress:
- The in-system update procedure continues its execution.
- System resets.
- Else if SD_MBR_COMMAND_VECTOR_TABLE_BASE_SET has been called previously:
- Forward interrupts to the address specified in the
sd_mbr_command_vector_table_base_set_tparameter of the SD_MBR_COMMAND_VECTOR_TABLE_BASE_SET command. - Run from Reset Handler (defined in the vector table which is passed as command parameter).
- Forward interrupts to the address specified in the
- Else if a bootloader is present:
- Forward interrupts to the bootloader.
- Run Bootloader Reset Handler (defined in bootloader Vector Table at BOOTLOADERADDR).
- Else if a SoftDevice is present:
- Forward interrupts to the SoftDevice.
- Execute the SoftDevice Reset Handler (defined in SoftDevice Vector Table at 0x00001000).
- In this case,
APP_CODE_BASEis hardcoded inside the SoftDevice. - The SoftDevice invokes the Application Reset Handler (as specified in the Application
Vector Table at
APP_CODE_BASE).
- Else system startup error:
- Sleep forever.