.

Overview

There are many issues to consider when designing bootloaders for embedded systems.
  • How to ensure that the bootloader is never overwritten
  • How to ensure that the programmed image is valid
  • How to insure that the application is independent of the bootloader
  • How to integrate with a target development environment
The basic mode of operation of all HCC bootloaders is to create a highly optimized, small footprint bootstub that resides permanently on the target system. This bootstub is designed never to be erased. It includes the system interrupt table. When the bootloader is not active, interrupts are redirected to a fixed point in the user’s application. The developer is free to select the method by which the system decides to run the bootloader.
 
Actual implementation may vary depending on the target. In certain cases these bootloaders may be secondary bootloaders, as when the target microcontroller supports DFU, for example.