Hello,
We have an M3 bootloader that is loading a C28 binary in shared ram. Once this binary is loaded in RAM, we boot the C28 from ram and it works fine.
This binary's purpose is to load the actual C28 firmware in flash using FlashAPI
Once the C28 main firmware is programmed to flash, the M3 bootloader jumps to the main application, and from there, we try to boot the C28 again, this time from flash. This step doesn't work.
Is there something that is preventing the C28 from booting twice in a row (from RAM then from flash)?
I can confirm that the C28 main firmware is properly programmed to flash because we can boot it from flash without any problem IF we haven't boot it from ram before in the same power cycle.
To sum-up the steps:
Start M3 bootloader -> OK
Load C28 binary to shared ram -> OK
Give shared ram master access to C28 -> OK
Start C28 from shared ram -> OK
Program C28 main firmware to flash using FlashAPI -> OK
Give shared ram master access back to M3 -> OK
M3 jump to main M3 firmware -> OK
Start C28 from flash -> FAIL
Any help would be greatly appreciated, thanks!
Ril
edit:
Right now, as a workaround, we reboot the device after upgrade so we don't have to boot the C28 twice in the same power cycle and it works fine. It would be neat if we could avoid the reboot though.
Thanks