NCS 2.7
NRF52840
Building with sysbuild, MCUBOOT, and 2 different applications (mfg and end-user)
My custom board includes a sensor fusion IMU from bosch. The firmware that must be loaded for this IMU is ~133 KB. My initial development effort embedded the imu firmware into the application image. The resulting update image consumes more than 50% of the flash space, and therefore would require reserving space in the external flash for updates.
The IMU is an excellent candidate for independent update. It has a well defined communication interface that remains constant across versions. It may also only need 1-2 updates over the product lifecycle.
I modified my static partition to create a ext_fw partition area to contain the external firmware image.
From the board dts,I defined two zephyr memory regions. One region holds meta data such as the image size, and external firmware image kernel version and a pointer to the firmware image data. The other memory region holds the firmware image itself.
I'm trying to figure out how to proceed with sysbuild to add another buildable image.
I added a sysbuild.cmake as documented docs.nordicsemi.com/.../index.html:
When I run the build by adding a build configuration within VS Code NRF Connect Extension I get an error about that the directory is empty:
cmake doesn't seem to be copying the files from app.git/bhi360_ext_fw into the build folder.
Is this a fault in NCS 2.7 sysbuild that might be fixed if I go to a more recent release?
Is there an existing example of using sysbuild to add an additional image?
What configuration will I need to add for mcuboot to be able to update (one-at-a-time) both the application and the ext_fw partition?