The flash bootloader code is executed every time the part is powered on or reset. The loader can execute the ISP command handler or user application code. A LOW level after reset at pin P2.10 is considered an external hardware request to start the ISP command handler.
Assuming that power supply pins are on their nominal levels when the rising edge on RESET pin is generated, it may take up to 3 ms before P2.10 is sampled and the decision on whether to continue with user code or ISP handler is made.
Pin P2.10 is used as a hardware request signal for ISP and therefore
requires special attention. Since P2.10 is in high impedance mode after
reset, it is important that you provide external hardware (a pull-up
resistor or other device) to put the pin in a defined state. Otherwise, an
unintended entry into ISP mode may occur.
When ISP mode is entered after a power-on reset, IRC and PLL are used to generate the CCLK of 14.748 MHz.
The reserved Cortex-M exception vector location 7 (offset 0x 001C in the vector table) should contain the 2’s complement of the check-sum of table entries 0 through 6.
This causes the checksum of the first 8 table entries to be 0. The bootloader code checksums the first 8 locations in sector 0 of the flash. If the result is 0, the execution control is transferred to the user code.
If the signature is not valid, the auto-baud routine synchronizes with the host via serial port 0.