commit | 82ee5d0bb9ac68c14033b102705904ee9991ee3d | [log] [tgz] |
---|---|---|
author | Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no> | Mon Nov 21 10:35:02 2022 +0100 |
committer | Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no> | Thu Nov 24 08:55:20 2022 +0100 |
tree | ef38df771d7742a5ee2927934b2bfcc56b5112ff | |
parent | 08a716dc4ed71a96105053880c959145a9da547b [diff] |
zephyr: fix handling of devicetree overlays in mcuboot The current specific setting of devicetree overlay files using `set()` has a couple of built-in flaws. It keeps readding the overlay file on each subsequent CMake invocation. The build command (make/ninja), will automatically invoke CMake if there are any changes to files used as configure time dependencies. This can easily be seen by manually re-invoking CMake: ``` # First invocation $ cmake -DBOARD=nrf52840dk_nrf52840 -DDTC_OVERLAY_FILE=custom.dts .. Loading Zephyr default modules (Zephyr workspace). -- Application: /projects/github/ncs/bootloader/mcuboot/boot/zephyr ... -- Found devicetree overlay: custom.dts -- Found devicetree overlay: bootloader/mcuboot/boot/zephyr/dts.overlay # Second invocation $ cmake -DBOARD=nrf52840dk_nrf52840 -DDTC_OVERLAY_FILE=custom.dts .. Loading Zephyr default modules (Zephyr workspace). -- Application: /projects/github/ncs/bootloader/mcuboot/boot/zephyr ... -- Found devicetree overlay: custom.dts -- Found devicetree overlay: mcuboot/boot/zephyr/dts.overlay -- Found devicetree overlay: mcuboot/boot/zephyr/dts.overlay ``` Zephyr has built-in support for application specific overlay config which gets automatically applied when the overlay file is named: `app.overlay`. Therefore rename `dts.overlay` to `app.overlay`. Ref: https://docs.zephyrproject.org/3.2.0/build/dts/howtos.html \ #set-devicetree-overlays This change further allows users of mcuboot to place their mcuboot configuration out-of-tree of the sample by using the `APPLICATION_CONFIG_DIR` setting. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This is MCUboot version 1.10.0-dev
MCUboot is a secure bootloader for 32-bits microcontrollers. It defines a common infrastructure for the bootloader and the system flash layout on microcontroller systems, and provides a secure bootloader that enables easy software upgrade.
MCUboot is not dependent on any specific operating system and hardware and relies on hardware porting layers from the operating system it works with. Currently, MCUboot works with the following operating systems and SoCs:
RIOT is supported only as a boot target. We will accept any new port contributed by the community once it is good enough.
See the following pages for instructions on using MCUboot with different operating systems and SoCs:
There are also instructions for the Simulator.
The issues being planned and worked on are tracked using GitHub issues. To give your input, visit MCUboot GitHub Issues.
You can find additional documentation on the bootloader in the source files. For more information, use the following links:
Developers are welcome!
Use the following links to join or see more about the project: