5.1 Check Reset Vector

The bootloader will check for a non-void value at a predefined location within the end application’s Reset Vector.

Overview

In the Check Reset Vector verification method, the bootloader will verify that the application image space has some form of data present that is not null. This does not check the validity or authenticity of the application image, it only verifies that something has been programmed into the application space. It also does not check for any memory errors in Flash. This form of verification is very quick and results in very fast entry to the application from the bootloader. It does not provide any integrity checks and it cannot detect if the memory has been corrupted during transfer.

Verification Flow

In Check Reset Vector verification, the program flow checks the end application’s Reset Vector address. This verification method relies on the assumption that if there is a 0xFF value at the start of that Reset Vector address, then that the device has been erased and the bootloader needs to start loading a new application image. In the event of a device Reset or a normal start-up, this verification method will check for a 0xFF in the application Reset Vector space and, if needed, will start running the bootloader. Otherwise, the bootloader will just start running the end application that is present at that address.

Figure 5-1. Reset Vector Verification Flow