Hi,
I am going to develop a C5515-based product which can allow the end user to upgrade "firmware" using their own USB key. The upgrading task is simple: the end user download the updated "firmware" from our website, put it in a USB stick, and plug the USB into the device. Then, the device will boot from the USB stick and copy the new "firmware" into on-board flash/EEPROM.
Unfortunately, this idea cannot work if the onboard flash/EEPROM already contains a "valid" boot image. USB interface is at the bottom of the C5515 boot order, so the device always boots from the old boot image onboard instead of the USB stick.
A workaround I can think of is letting the old boot image bypass itself. After the device loads the old boot image on-board, that user program will check whether a valid boot image is available on the USB interface. If yes, it calls back to a segment in the DSP boot loader (located in the on-chip ROM) which can boot directly from the USB stick without checking higher-priority memories.
The questions are whether C5515 boot loader allows overriding boot order in that way, and if yes, which segment of the boot loader the user program should jump into.