As written, the entire bootloader is intended to execute out of RAM memory, leaving the entire FLASH available for application. As such, on our own boards, we store the bootloader in an external SPI memory, although this is not a requirement, and the DSP is configured to “boot from” SPI EEPROM. This causes the DSP to load the custom CAN bootloader into RAM from the EEPROM following a POR or a S/W reset. The bootloader source code could be modified such that it resides in a protected portion of FLASH, and is used to program the remaining application portion of FLASH.