Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sysbuild: Add compression options for MCUboot #17330

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

nordicjm
Copy link
Contributor

manifest: Update sdk-mcuboot

Pulls in changes for image decompression support



sysbuild: Add compression options for MCUboot

Adds an option which will enable compressed image support in
MCUboot



tests: nrf_compress: decompression: Add mcuboot_update test

Adds a test which ensures compressed update image support works
in MCUbot

@github-actions github-actions bot added manifest changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. labels Sep 16, 2024
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Sep 16, 2024

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff
mcuboot nrfconnect/sdk-mcuboot@f30dce1 nrfconnect/sdk-mcuboot#328 nrfconnect/sdk-mcuboot#328/files

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@NordicBuilder
Copy link
Contributor

NordicBuilder commented Sep 16, 2024

CI Information

To view the history of this post, clich the 'edited' button above
Build number: 10

Inputs:

Sources:

sdk-nrf: PR head: a82daee0b9fd56c182b743229684a5f71de7ff1b
mcuboot: PR head: 41248992847c5a4038f8b51732a02ca08e0546cf

more details

sdk-nrf:

PR head: a82daee0b9fd56c182b743229684a5f71de7ff1b
merge base: cc3c8a44120a52c104c3158f77adf4a0551064ec
target head (main): ea1346ae54f756f0a80f65cdcce58b06a6f99899
Diff

mcuboot:

PR head: 41248992847c5a4038f8b51732a02ca08e0546cf
merge base: f30dce197f34d4df77d8e66997dff0ce948c2b82
target head (main): 92121b1e20347ebd057e55a3e86e5774f6e32d04
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (39)
bootloader
│  ├── mcuboot
│  │  ├── boot
│  │  │  ├── bootutil
│  │  │  │  ├── include
│  │  │  │  │  ├── bootutil
│  │  │  │  │  │  │ image.h
│  │  │  │  ├── src
│  │  │  │  │  ├── image_validate.c
│  │  │  │  │  ├── loader.c
│  │  │  │  │  │ swap_scratch.c
│  │  │  ├── zephyr
│  │  │  │  ├── CMakeLists.txt
│  │  │  │  ├── Kconfig
│  │  │  │  ├── decompression.c
│  │  │  │  ├── include
│  │  │  │  │  ├── compression
│  │  │  │  │  │  │ decompression.h
│  │  │  │  │  ├── mcuboot_config
│  │  │  │  │  │  │ mcuboot_config.h
│  │  ├── docs
│  │  │  ├── release-notes.d
│  │  │  │  ├── bootutil-image-verification.md
│  │  │  │  │ zephyr-compression.md
cmake
│  ├── sysbuild
│  │  │ image_signing.cmake
samples
│  ├── nrf_compress
│  │  ├── mcuboot_update
│  │  │  ├── CMakeLists.txt
│  │  │  ├── prj.conf
│  │  │  ├── src
│  │  │  │  │ hook.c
│  │  │  ├── sysbuild.conf
│  │  │  ├── sysbuild
│  │  │  │  │ mcuboot.conf
│  │  │  │ testcase.yaml
subsys
│  ├── bootloader
│  │  │ Kconfig
sysbuild
│  ├── CMakeLists.txt
│  │ Kconfig.mcuboot
tests
│  ├── subsys
│  │  ├── nrf_compress
│  │  │  ├── decompression
│  │  │  │  ├── mcuboot_update
│  │  │  │  │  ├── CMakeLists.txt
│  │  │  │  │  ├── Kconfig
│  │  │  │  │  ├── app.overlay
│  │  │  │  │  ├── compressed_app
│  │  │  │  │  │  ├── CMakeLists.txt
│  │  │  │  │  │  ├── prj.conf
│  │  │  │  │  │  ├── src
│  │  │  │  │  │  │  │ main.c
│  │  │  │  │  ├── modified_signing.cmake
│  │  │  │  │  ├── pm_static.yml
│  │  │  │  │  ├── prj.conf
│  │  │  │  │  ├── src
│  │  │  │  │  │  │ main.c
│  │  │  │  │  ├── sysbuild.cmake
│  │  │  │  │  ├── sysbuild.conf
│  │  │  │  │  ├── sysbuild
│  │  │  │  │  │  ├── mcuboot
│  │  │  │  │  │  │  ├── app.overlay
│  │  │  │  │  │  │  ├── boards
│  │  │  │  │  │  │  │  ├── nrf52840dk_nrf52840.conf
│  │  │  │  │  │  │  │  │ nrf54l15pdk_nrf54l15_cpuapp.conf
│  │  │  │  │  │  │  │ prj.conf
│  │  │  │  │  │ testcase.yaml
west.yml

Outputs:

Toolchain

Version: 87afe3f0d0
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:87afe3f0d0_81ed5a52d6

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • ❌ Build twister
    • sdk-nrf test count: 1451
  • ◻️ Integration tests
    • ◻️ test-fw-nrfconnect-boot
    • ◻️ test-fw-nrfconnect-chip
    • ◻️ test-fw-nrfconnect-nrf-iot_cloud
    • ◻️ test-fw-nrfconnect-tfm
    • ◻️ test-fw-nrfconnect-zigbee
    • ◻️ test-sdk-find-my
    • ◻️ test-sdk-sidewalk
    • ◻️ test-sdk-mcuboot
    • ◻️ test-sdk-dfu
    • ⚠️ test-fw-nrfconnect-fw-update
Disabled integration tests
    • desktop52_verification
    • doc-internal
    • test_ble_nrf_config
    • test-fw-nrfconnect-apps
    • test-fw-nrfconnect-ble_mesh
    • test-fw-nrfconnect-ble_samples
    • test-fw-nrfconnect-fem
    • test-fw-nrfconnect-nfc
    • test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • test-fw-nrfconnect-nrf-iot_lwm2m
    • test-fw-nrfconnect-nrf-iot_mosh
    • test-fw-nrfconnect-nrf-iot_nrf_provisioning
    • test-fw-nrfconnect-nrf-iot_positioning
    • test-fw-nrfconnect-nrf-iot_samples
    • test-fw-nrfconnect-nrf-iot_serial_lte_modem
    • test-fw-nrfconnect-nrf-iot_thingy91
    • test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • test-fw-nrfconnect-nrf_crypto
    • test-fw-nrfconnect-proprietary_esb
    • test-fw-nrfconnect-ps
    • test-fw-nrfconnect-rpc
    • test-fw-nrfconnect-rs
    • test-fw-nrfconnect-thread
    • test-low-level
    • test-sdk-audio
    • test-sdk-pmic-samples
    • test-sdk-wifi

Note: This message is automatically posted and updated by the CI

@NordicBuilder
Copy link
Contributor

You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds.

Note: This comment is automatically posted by the Documentation Publishing GitHub Action.

@nordicjm nordicjm force-pushed the mcubootcompresstest branch 5 times, most recently from 2b69b1a to 9df875d Compare September 20, 2024 12:11
@nordicjm nordicjm marked this pull request as ready for review September 20, 2024 12:11
@nordicjm nordicjm requested review from a team as code owners September 20, 2024 12:11
@nordicjm nordicjm force-pushed the mcubootcompresstest branch 3 times, most recently from 861cdf9 to 1481c87 Compare September 24, 2024 15:03
Copy link
Contributor

@nvlsianpu nvlsianpu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just a few nits. Now I see why you need intel-hex output from imgtool.py

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not a main content of this sample in this file - expect main(). rename?

#endif

static struct mgmt_callback img_slot_callback;

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comment in the code for explaining what is it doing would be helpful once someone will look at this in few months.

return 0;
}

SYS_INIT(setup_something, APPLICATION, 0);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what does this SYS_INIT?

CONFIG_BOOT_MAX_IMG_SECTORS=256

# Ensure that the qspi driver is disabled by default
CONFIG_NORDIC_QSPI_NOR=n
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
CONFIG_NORDIC_QSPI_NOR=n
CONFIG_NORDIC_SPI_NOR=n

nRF54l15 hasn't QSPI.

Pulls in changes for image decompression support

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds an option which will enable compressed image support in
MCUboot

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a test which ensures compressed update image support works
in MCUbot

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a sample which shows usage of compressed image updates

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. DNM manifest manifest-mcuboot
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants