summaryrefslogtreecommitdiff
path: root/fw
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2025-02-23 17:45:06 +0100
committerxengineering <me@xengineering.eu>2025-02-23 20:15:41 +0100
commitd24bdfcca2eb9d3ef9c5a77d5e96dc80c73cf13e (patch)
tree57f44f1848d6d1a5a6588b6d774387c188dc32a9 /fw
parent2fa7bd797bff2b232d7c2ef28b295437987ced58 (diff)
downloadiot-contact-d24bdfcca2eb9d3ef9c5a77d5e96dc80c73cf13e.tar
iot-contact-d24bdfcca2eb9d3ef9c5a77d5e96dc80c73cf13e.tar.zst
iot-contact-d24bdfcca2eb9d3ef9c5a77d5e96dc80c73cf13e.zip
fw: btl: Integrate bootloader build
This allows to build the MCUboot bootloader as part of the existing CMake build system. The bootloader is embedded as external project since multiple Zephyr applications in one build are not easily feasible.
Diffstat (limited to 'fw')
-rw-r--r--fw/CMakeLists.txt17
1 files changed, 17 insertions, 0 deletions
diff --git a/fw/CMakeLists.txt b/fw/CMakeLists.txt
index 000039e..8c229e0 100644
--- a/fw/CMakeLists.txt
+++ b/fw/CMakeLists.txt
@@ -8,7 +8,24 @@ set(BOARD "nucleo_f767zi")
set(ZEPHYR_MODULES
"${CMAKE_CURRENT_SOURCE_DIR}/zephyrproject/modules/hal/cmsis"
"${CMAKE_CURRENT_SOURCE_DIR}/zephyrproject/modules/hal/stm32"
+ "${CMAKE_CURRENT_SOURCE_DIR}/zephyrproject/modules/crypto/mbedtls"
+ "${CMAKE_CURRENT_SOURCE_DIR}/zephyrproject/bootloader/mcuboot"
)
+
+string(REPLACE ";" "," ZEPHYR_MODULES_COMMA "${ZEPHYR_MODULES}")
+include(ExternalProject)
+ExternalProject_Add(
+ bootloader
+ PREFIX bootloader
+ SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/zephyrproject/bootloader/mcuboot/boot/zephyr"
+ BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/bootloader"
+ INSTALL_COMMAND ""
+ LIST_SEPARATOR ","
+ CMAKE_ARGS
+ "-DBOARD=${BOARD}"
+ "-DZEPHYR_MODULES=${ZEPHYR_MODULES_COMMA}"
+)
+
find_package(Zephyr
REQUIRED
HINTS