summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2025-05-24 11:20:08 +0200
committerxengineering <me@xengineering.eu>2025-05-24 11:20:08 +0200
commitfc3b3cbf7fecee7226f249f7b62cf36aa82a545a (patch)
tree2f3ebc06ecc4ed786139966d70e1b6105748e505
parent072c1d0208b267abf6a573ad5d2482113d9c9cee (diff)
downloadiot-contact-fc3b3cbf7fecee7226f249f7b62cf36aa82a545a.tar
iot-contact-fc3b3cbf7fecee7226f249f7b62cf36aa82a545a.tar.zst
iot-contact-fc3b3cbf7fecee7226f249f7b62cf36aa82a545a.zip
Provide `factory-image.bin` with Meson
This automatically creates `build/artifacts/factory-image.bin` with the Meson build system. The resulting file can simply be moved to the virtual file system of the `nucleo_f767zi` board to flash bootloader and application making the board ready for operation and remote updates.
-rw-r--r--artifacts/meson.build1
-rw-r--r--fw/btl/meson.build1
-rw-r--r--fw/meson.build14
-rw-r--r--tools/meson.build1
4 files changed, 16 insertions, 1 deletions
diff --git a/artifacts/meson.build b/artifacts/meson.build
index ea6fc39..9e14232 100644
--- a/artifacts/meson.build
+++ b/artifacts/meson.build
@@ -6,6 +6,7 @@ artifacts = [
simulation,
bootloader,
application_signed,
+ factory_image,
]
foreach artifact : artifacts
diff --git a/fw/btl/meson.build b/fw/btl/meson.build
index 2ba1cf4..204fe20 100644
--- a/fw/btl/meson.build
+++ b/fw/btl/meson.build
@@ -22,5 +22,4 @@ bootloader = custom_target(
'--binary-name', 'zephyr.bin',
'--target-name', 'bootloader.bin',
],
- build_by_default: true,
)
diff --git a/fw/meson.build b/fw/meson.build
index 8194827..8f45d5b 100644
--- a/fw/meson.build
+++ b/fw/meson.build
@@ -7,3 +7,17 @@ subdir('rtos')
subdir('app')
subdir('btl')
subdir('sim')
+
+factory_image = custom_target(
+ output: ['factory-image.bin'],
+ command: [
+ make_factory_image,
+ '--bootloader', bootloader,
+ '--application', application_signed_confirmed,
+ '--factory-image', '@OUTPUT@',
+ ],
+ depends: [
+ bootloader,
+ application_signed_confirmed,
+ ],
+)
diff --git a/tools/meson.build b/tools/meson.build
index 85ddbb3..f58c54b 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -1,2 +1,3 @@
configure_zephyr = meson.current_source_dir() / 'configure_zephyr.py'
build_zephyr = meson.current_source_dir() / 'build_zephyr.py'
+make_factory_image = meson.current_source_dir() / 'make_factory_image.py'