The nrfjprog utility is not capable of flashing a hex file which affects the flash memories of both coprocessors of the nRF53 family of SoCs. However, the user is capable of creating such a hex file using the HEX_FILES_TO_MERGE build system variable. An example use case is to build a bluetooth controller application for the network core, then use the zephyr.hex file in that build directory as the HEX_FILES_TO_MERGE argument for a separate Bluetooth application build targeting the app core. Work around this by detecting the situation and doing the right thing by splitting the hex file back up again, even if thats a bit awkward. Splitting the hex into app and network core components allows them to be flashed separately. This is the only way we can get the job done with nrfjprog. This is arguably nicer since there's just one 'west flash' invocation. At least in the use case named above, you wouldn't need to rebuild the controller application very often, so this is a simpler user workflow. Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no> |
||
|---|---|---|
| .. | ||
| completion | ||
| runners | ||
| tests | ||
| boards.py | ||
| build_helpers.py | ||
| build.py | ||
| completion.py | ||
| debug.py | ||
| export.py | ||
| flash.py | ||
| mypy.ini | ||
| README.txt | ||
| run_common.py | ||
| run_tests.py | ||
| sign.py | ||
| zcmake.py | ||
| zephyr_ext_common.py | ||
This directory contains implementations for west commands which are tightly coupled to the zephyr tree. This includes the build, flash, and debug commands. Before adding more here, consider whether you might want to put new extensions in upstream west. For example, any commands which operate on the multi-repo need to be in upstream west, not here. Try to limit what goes in here to Zephyr-specific features. When extending this code, please keep the unit tests (in tests/) up to date. The mypy static type checker is also run on the runners package. To run these tests locally on Windows, run: py -3 run_tests.py On macOS and Linux: ./run_tests.py Note that these tests are run as part of Zephyr's CI when submitting an upstream pull request, and pull requests which break the tests cannot be merged. Thanks!