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_t
parameter 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).
- 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_BASE
is 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: