I have a VYBRID MVF60NN152CMK50 connected to a single QSPI flash. We would like to download an image using the MFG tool through the USB, power cycle and restart the application from flash. If we need to re-program the application, we will erase the flash header information and restart the system. The boot ROM should then detect an invalid flash header and then enable the serial bootloader which will allow the MFG tool to connect and reprogram.
Currently, we have a firmware application which is downloaded externally via a flash programmer to the board. By programming BT_FUSE_SEL=1, the VYBRID starts up, boots into flash and the application runs as expected. This is the only eFuse programmed: all others are at their factory configuration. We are not using HAB.
However, we cannot get the VYBRID to execute the flash image AND start the USB downloader when the flash is invalidated.
BT_FUSE_SEL=0, BOOT_MODE[1:0]= 00, (FUSES) USB active, unable to start valid flash image.
BT_FUSE_SEL=0, BOOT_MODE[1:0]= 01, (SERIAL) USB active, unable to start valid flash image.
BT_FUSE_SEL=0, BOOT_MODE[1:0]= 10, (RCON) USB inactive, unable to start valid flash image.
BT_FUSE_SEL=1, BOOT_MODE[1:0]= xx, USB inactive, valid flash image executes successfully.
From the reference manual Figure 19-1 (Boot Flow) I am expecting that the system should either startup or switch into USB serial download.
My questions are:
1. Why does the system start successfully when BT_FUSE_SEL=1, but does not start when BT_FUSE_SEL=0 and BOOT_MODE=00, all other fuses being identical?
2. Why is RCON not executing the flash image AND not starting the USB downloader?
3. What fuses do I need to set to get the serial downloader AND flash boot to work on the same board?
Any help would be gratefully appreciated!