Clone of Zephyr nrf_desktop sample with reduced memory footprint for porting
I have slightly changed the configuration structure.
With the configuration as it is written now, the steps for getting a good build are as follows:
- Add Build Configuration
- BOARD = nrf52840dk_nrf52840
- KConfig Fragments - None
- DT Overlay - configuration\nrf52840dk_nrf52840\app.overlay
- (Though will select automatically)
- Snippets - None
- Extra Args - None
- Optimization Level - Default
- Build after generting - Yes
- Sysbuild - No
Added /configuration/nrf52840dk_nrf52840/child_image/mcuboot/
Instead of the primary prj.conf existing under configuration/(BOARD)/prj.conf, it now lives in configuration/common/prj_mcuboot_smp.conf
This change was made to support both our development board (nRF52840dk) and our production board (Xiao BLE Sense) in a single prj.conf.
Further, in the binding file mini_desktop/sample.yaml, the mcuboot child image expects the mcuboot_CONF_FILE to be named (explicitly) prj_mcuboot_smp.conf. Even further, the name used for the build configuration when selecting the Configuration field of "Add Build Configuration" appears to require name to match.
A lot of options which are enabled in nRF Desktop have been disabled for mini_desktop. In an abundance of caution, rather than deleting those options, they have been moved to subdirectory/temp_disable folders, and disabled KConfigs are commented out in their respective source directory KConfigs.
Our "prj.conf" (acutally named prj_mcuboot_smp.conf) has become quite large.
I tried to come up with an elegant pair of boolean configuration options to enable and disable DFU and Filesystem, but my KConfig skills weren't up to the task.
Instead, here is how I recommend using this build to recreate the problem for this devZone post:
In configuration/common/prj_mcuboot_smp.conf, I have added a "Custom Control Block" [Lines 7 - 61]
To enable Filesystem, select all the lines between #### Filesystem #### and #### End Filesystem #### and uncomment those Config options (Ctrl /)
To enable DFU, select all the lines between #### DFU #### and #### End DFU #### and uncomment those Config options (Ctrl /)
To disable, comment those options.
When both DFU and Filesystem are Enabled, Flash Disk Encounters significant errors. Please see file mini_desktop/ERROR_OUTPUT.txt for trace.