From 17c334ada43ee5eabd14caabacbe393fe3482451 Mon Sep 17 00:00:00 2001 From: xengineering Date: Thu, 7 Aug 2025 21:31:21 +0200 Subject: Add opt-in for nucleo_f767zi firmwares This partially reverts commit ce098756d79d8e4240bedc2bd74ff9a3a77fcedb. The reverted commit dropped the build logic for all nucleo_f767zi-related artifacts and thus for everything except the native sim firmware. Instead this commit reverts this change but comments out the `update_image` and `factory_image` targets from the `artifacts` variable in the top-level `meson.build`. This allows to build these two targets explicitly with `ninja -C build ` but does not include it into the deploy tar archive. Since this archive is the only target of the project with `build_by_default: true` this effectively disables the build with minimal code changes. --- fw/app/meson.build | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ fw/meson.build | 20 ++++++++++++++++++ 2 files changed, 79 insertions(+) (limited to 'fw') diff --git a/fw/app/meson.build b/fw/app/meson.build index 63c3c01..6665fe4 100644 --- a/fw/app/meson.build +++ b/fw/app/meson.build @@ -1 +1,60 @@ +external_project = import('unstable-external_project') + application_source = meson.current_source_dir() + +external_project.add_project( + configure_zephyr, + configure_options: [ + '--source-tree', application_source, + '--build-tree', meson.current_build_dir() / 'build', + '--board', board, + '--zephyr-base', zephyr, + '--zephyr-modules', ';'.join(zephyr_modules), + ], + verbose: true, +) + +application = custom_target( + output: ['application.bin'], + command: [ + build_zephyr, + '--build-tree', meson.current_build_dir() / 'build', + '--binary-name', 'zephyr.bin', + '--target-name', 'application.bin', + ], +) + +version = '0.0.0' +header_size = '0x200' +slot_size = '0xc0000' + +update_image = custom_target( + output: ['update-image.bin'], + command: [ + imgtool, + 'sign', + '--version', version, + '--header-size', header_size, + '--slot-size', slot_size, + '--key', signing_key, + application, + '@OUTPUT@', + ], + depends: application, +) + +application_signed_confirmed = custom_target( + output: ['application.signed.confirmed.bin'], + command: [ + imgtool, + 'sign', + '--version', version, + '--header-size', header_size, + '--slot-size', slot_size, + '--key', signing_key, + '--confirm', + application, + '@OUTPUT@', + ], + depends: application, +) diff --git a/fw/meson.build b/fw/meson.build index bc70142..8f45d5b 100644 --- a/fw/meson.build +++ b/fw/meson.build @@ -1,3 +1,23 @@ +board = 'nucleo_f767zi' + +fs = import('fs') +signing_key = fs.expanduser('~') / 'mcuboot' / 'key.pem' + 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, + ], +) -- cgit v1.2.3-70-g09d2