summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fw/CMakeLists.txt41
-rw-r--r--fw/app/CMakeLists.txt2
-rwxr-xr-xfw/nucleo.sh17
l---------imgtool.py2
4 files changed, 35 insertions, 27 deletions
diff --git a/fw/CMakeLists.txt b/fw/CMakeLists.txt
index 5b1e42b..aa5af1c 100644
--- a/fw/CMakeLists.txt
+++ b/fw/CMakeLists.txt
@@ -4,28 +4,45 @@
cmake_minimum_required(VERSION 3.20.0)
+include(ExternalProject)
+
set(KEY_DEFAULT "$ENV{HOME}/mcuboot/key.pem")
set(KEY ${KEY_DEFAULT} CACHE STRING "Firmware signing key path")
message(STATUS "Firmware signing key path: ${KEY}")
-set(BOARD "native_sim/native/64")
-add_subdirectory(rtos)
+set(BOARD_DEFAULT "native_sim/native/64")
+set(BOARD ${BOARD_DEFAULT} CACHE STRING "Zephyr board identifier")
+message(STATUS "Selected board: ${BOARD}")
+add_subdirectory(rtos)
string(REPLACE ";" "," ZEPHYR_MODULES_COMMA "${ZEPHYR_MODULES}")
-include(ExternalProject)
+
+if(BOARD STREQUAL "nucleo_f767zi")
+ ExternalProject_Add(
+ btl
+ PREFIX btl
+ SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/rtos/modules/mcuboot/boot/zephyr"
+ BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/btl"
+ INSTALL_COMMAND ""
+ LIST_SEPARATOR ","
+ CMAKE_ARGS
+ "-DBOARD=${BOARD}"
+ "-DZEPHYR_BASE=${ZEPHYR_BASE}"
+ "-DZEPHYR_MODULES=${ZEPHYR_MODULES_COMMA}"
+ "-DEXTRA_CONF_FILE=${CMAKE_CURRENT_SOURCE_DIR}/btl/bootloader.conf"
+ -DCONFIG_BOOT_SIGNATURE_KEY_FILE="${KEY}"
+ )
+endif()
+
ExternalProject_Add(
- btl
- PREFIX btl
- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/rtos/modules/mcuboot/boot/zephyr"
- BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/btl"
+ app
+ PREFIX app
+ SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/app"
+ BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/app"
INSTALL_COMMAND ""
LIST_SEPARATOR ","
CMAKE_ARGS
- "-DBOARD=nucleo_f767zi"
+ "-DBOARD=${BOARD}"
"-DZEPHYR_BASE=${ZEPHYR_BASE}"
"-DZEPHYR_MODULES=${ZEPHYR_MODULES_COMMA}"
- "-DEXTRA_CONF_FILE=${CMAKE_CURRENT_SOURCE_DIR}/btl/bootloader.conf"
- -DCONFIG_BOOT_SIGNATURE_KEY_FILE="${KEY}"
)
-
-add_subdirectory(app)
diff --git a/fw/app/CMakeLists.txt b/fw/app/CMakeLists.txt
index ce10104..47f75f6 100644
--- a/fw/app/CMakeLists.txt
+++ b/fw/app/CMakeLists.txt
@@ -10,7 +10,7 @@ find_package(Zephyr
"${ZEPHYR_BASE}"
)
-project(iot-contact-fw)
+project(iot-contact-app)
target_sources(app
PRIVATE
diff --git a/fw/nucleo.sh b/fw/nucleo.sh
index b48b759..e89ff07 100755
--- a/fw/nucleo.sh
+++ b/fw/nucleo.sh
@@ -24,30 +24,21 @@ FW="$(dirname "$SCRIPT")"
ROOT="$(dirname "$FW")"
BUILD="${ROOT}/nucleo"
BOOTLOADER_FIRMWARE="${BUILD}/fw/btl/zephyr/zephyr.bin"
-APPLICATION_FIRMWARE="${BUILD}/fw/zephyr/zephyr.bin"
-APPLICATION_FIRMWARE_SIGNED="${BUILD}/fw/zephyr/zephyr.signed.bin"
+APPLICATION_FIRMWARE="${BUILD}/fw/app/zephyr/zephyr.bin"
+APPLICATION_FIRMWARE_SIGNED="${BUILD}/fw/app/zephyr/zephyr.signed.bin"
BOOTLOADER_FLASH_ADDRESS='0x8000000'
APPLICATION_FLASH_ADDRESS='0x8040000'
-MCUBOOT="${ROOT}/fw/btl/mcuboot"
-IMGTOOL="${MCUBOOT}/scripts/imgtool.py"
+IMGTOOL="${ROOT}/imgtool.py"
KEY="${HOME}/mcuboot/key.pem"
BOARD='nucleo_f767zi'
-EXTRA_CONFIGS=''
BAUDRATE='115200'
SERIAL_PORT='/dev/ttyACM0'
-CONFIG_OVERLAY="${FW}/my.conf"
-if test -f "$CONFIG_OVERLAY"
-then
- EXTRA_CONFIGS="${EXTRA_CONFIGS} ${CONFIG_OVERLAY}"
-fi
-
set -x
rm -rf "$BUILD"
-cmake "-B${BUILD}" -GNinja -DBOARD="$BOARD" \
- -DEXTRA_CONF_FILE="${EXTRA_CONFIGS}" -DKEY="$KEY"
+cmake "-B${BUILD}" -GNinja -DBOARD="$BOARD"
ninja -C "$BUILD"
python "$IMGTOOL" sign \
--version 0.0.0 \
diff --git a/imgtool.py b/imgtool.py
index 32cacb4..bec4f37 120000
--- a/imgtool.py
+++ b/imgtool.py
@@ -1 +1 @@
-fw/zephyrproject/bootloader/mcuboot/scripts/imgtool.py \ No newline at end of file
+fw/rtos/modules/mcuboot/scripts/imgtool.py \ No newline at end of file