We are working o a project where M33 in iMX8ULP should boot from SPI flash and A35 from eMMC.
Is there a documented process for updating the M33 firmware from the A35? Can this be done via some form of remote communication, such as SPI or another inter-core communication protocol? If so, what are the recommended approaches for this?
Thanks
Hello @texnikk
For single boot option it appears to be possible since code is copied to either TCM or DDR once execution of the M33 firmware finished loading. With this in consideration it is possible to overwrite the flash.bin created by imx-mkimage using kernel commands (dd), but please note that a reboot will be needed for the changes to be seen. Take the following as a reference of how it should be done:
//mmc is the block number of the eMMC on the system
$ echo 0 > /sys/block/mmcblk${mmc}boot0/force_ro
$ dd if=/tmp/_flash.bin of=/dev/mmc${mmc}boot0 bs=1K seek=32
$ echo 1 > /sys/block/mmcblk${mmc}boot0/force_ro
In other i.MX processor it is easier to achieve because there is a remoteproc driver, but in i.MX8ULP this is not supported.
Best regards,
Salas.