Skip to content

Commit

Permalink
Update of nRF Connect SDK version to the 2.7.0 (#34403)
Browse files Browse the repository at this point in the history
* [workflows] Updated docker version used in workflows

Updated docker version used in all workflows due to the new
docker version pushed to the dockerhub.
Additionally, changed the recommended version of nRF Connect SDK
to the 2.7.0

* [nrfconnect] Disable Zephyr socket extensions

The recvmsg() is now implemented natively in Zephyr,
so we are not supposed to define a custom one.

Signed-off-by: Marcin Kajor <[email protected]>

[nrfconnect] Fixed calculation of Wi-Fi unicast counters

Wi-Fi unicast tx/rx counters were calculated based on a wrong
values, what could lead to getting negative results.

Recent changes allow to use dedicated unicast structure field
instead of obtaining the values based on calculation.

Signed-off-by: Kamil Kasperczyk <[email protected]>

[nrfconnect] config: Add initial sysbuild files

Adds initial sysbuild files

Signed-off-by: Jamie McCrae <[email protected]>

[nrfconnect] Add support for Matter OTA in sysbuild

Converted matter-ota.cmake script to sysbuild.

[nrfconnect] Added Kconfig to enable BDX transfer for logs

Introduced Kconfig to enable BDX transfer for diagnostic
logs purposes.

[nrfconnect] Removed setting BT_HCI_RAW_RESERVE config to 1

Aligning configuration to the one introduced in the Zephyr
upmerge.

Signed-off-by: Kamil Kasperczyk <[email protected]>

[nrfconnect] Removed setting mbedtls external rng config

Removed settings default value for the
MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG Kconfig, as it's handled by the
mbedtls module.

[nrfconnect] Disabled boot banner in mcuboot config

With the recent Zephyr upmerge a new boot banner configs were
enabled by default, what results in flash increase and memory
partition overflow. This commit disables newly introduced
configs.

[nrfconnect] Enable SPI configuration for nRF54L.

The external flash on nRF54L DK is driven by SPI,
so we need to enable appropriate drivers.
Also enabled MCUMGR_GRP_IMG_ALLOW_ERASE_PENDING
config that allows to overwrite the secondary slot
image even if the pending flag is set on that image.

Signed-off-by: Marcin Kajor <[email protected]>

[nrfconnect] Enable MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH config

This commit enables MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH for Matter over
Wi-Fi to optimize flash usage.

Signed-off-by: Łukasz Duda <[email protected]>

[nrfconnect] Fixed paths to used in the guides

Guides contain path examples referring to the older build system
version and they have to be updated.

Signed-off-by: Kamil Kasperczyk <[email protected]>

[nrfconnect] Align factory data guide to sysbuild

- Aligned all kconfigs to the new provided by sysbuild.

[nrfconnect] Disable `CONFIG_FPU` by default to align with OT libraries

Remove setting `CONFIG_FPU` to `y` by default as OpenThread
libraries are now build without FPU support.

Signed-off-by: Maciej Baczmanski <[email protected]>

[nrfconnect] Fix missing network band in scan response.

There is a missing network band parameter in the scan response,
and due to that the `networkcommissioning scan-networks` command
shows 0 as the band field for all found networks.

* [nrfconnect] Removed defaults for child images

Due to the sysbuild integration and child images deprecation
the default configuration for child images has been removed.

* [nrfconnect] Changed pm static configuration scheme

* [nrfconnect] Added missing include net_if.h file

Adding missing include of a net_if.h file and define for the
undefined config that makes nrfconnect platform not working
for the Wi-Fi.

* [examples] Aligned nrfconnect examples to the NCS 2.7.0 version

The new nRF Connect SDK 2.7.0 version introduced significant
changes in the build system that resulted in a requirement
to refactor all examples suported by nrfconnect platform.

* [nrfconnect] Fixed scripts building nrfconnect platform

Added --sysbuild flag for build scripts that is required by the
west build command used with nrfconnect platform.

* [workflows] Partially reverted Updated docker version

This partially reverts commit
8228fc5 to not update all
platforms at once and troubleshoot CI problems one by one.

* [nrfconnect] Added typing_extenstions to nrfconnect requirements

The factory data script started to fail with Python 3.12.
Adding typing_extensions to requirements fixes the issue.

* Addressed review comments

* [workflows] Fixed nrfconnect workflows

* Fixed paths to build artifacts in nrfconnect workflow
* Fixed passing device type name to the chef app

---------

Co-authored-by: Marcin Kajor <[email protected]>
  • Loading branch information
2 people authored and pull[bot] committed Dec 13, 2024
1 parent 86fd6cb commit 1983632
Show file tree
Hide file tree
Showing 341 changed files with 5,531 additions and 3,222 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/chef.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'

container:
image: ghcr.io/project-chip/chip-build-nrf-platform:54
image: ghcr.io/project-chip/chip-build-nrf-platform:65
options: --user root

steps:
Expand Down
62 changes: 31 additions & 31 deletions .github/workflows/examples-nrfconnect.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'

container:
image: ghcr.io/project-chip/chip-build-nrf-platform:54
image: ghcr.io/project-chip/chip-build-nrf-platform:65
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"

Expand Down Expand Up @@ -78,119 +78,119 @@ jobs:
- name: Build example nRF Connect SDK Lock App on nRF52840 DK
if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
run: |
scripts/examples/nrfconnect_example.sh lock-app nrf52840dk_nrf52840
scripts/examples/nrfconnect_example.sh lock-app nrf52840dk/nrf52840
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf52840dk_nrf52840 lock-app \
examples/lock-app/nrfconnect/build/zephyr/zephyr.elf \
examples/lock-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK Lighting App on nRF52840 Dongle
if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
run: |
scripts/examples/nrfconnect_example.sh lighting-app nrf52840dongle_nrf52840 -DCONF_FILE=prj_no_dfu.conf -DCONFIG_CHIP_ROTATING_DEVICE_ID=y
scripts/examples/nrfconnect_example.sh lighting-app nrf52840dongle/nrf52840 -DCONFIG_CHIP_ROTATING_DEVICE_ID=y
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf52840dongle_nrf52840 lighting-app \
examples/lighting-app/nrfconnect/build/zephyr/zephyr.elf \
examples/lighting-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK Lighting App on nRF52840 DK with RPC
if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
run: |
scripts/examples/nrfconnect_example.sh lighting-app nrf52840dk_nrf52840 -DOVERLAY_CONFIG=rpc.overlay
scripts/examples/nrfconnect_example.sh lighting-app nrf52840dk/nrf52840 -DOVERLAY_CONFIG=rpc.overlay
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf52840dk_nrf52840+rpc lighting-app \
examples/lighting-app/nrfconnect/build/zephyr/zephyr.elf \
examples/lighting-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK Light Switch App on nRF52840 DK
if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
run: |
scripts/examples/nrfconnect_example.sh light-switch-app nrf52840dk_nrf52840
scripts/examples/nrfconnect_example.sh light-switch-app nrf52840dk/nrf52840
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf52840dk_nrf52840 light-switch-app \
examples/light-switch-app/nrfconnect/build/zephyr/zephyr.elf \
examples/light-switch-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK Shell on nRF52840 DK
if: github.event_name == 'push' || steps.changed_paths.outputs.shell == 'true'
run: |
scripts/examples/nrfconnect_example.sh shell nrf52840dk_nrf52840
scripts/examples/nrfconnect_example.sh shell nrf52840dk/nrf52840
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf52840dk_nrf52840 shell \
examples/shell/nrfconnect/build/zephyr/zephyr.elf \
examples/shell/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK Pump App on nRF52840 DK
if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
run: |
scripts/examples/nrfconnect_example.sh pump-app nrf52840dk_nrf52840
scripts/examples/nrfconnect_example.sh pump-app nrf52840dk/nrf52840
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf52840dk_nrf52840 pump-app \
examples/pump-app/nrfconnect/build/zephyr/zephyr.elf \
examples/pump-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK Pump Controller App on nRF52840 DK
if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
run: |
scripts/examples/nrfconnect_example.sh pump-controller-app nrf52840dk_nrf52840
scripts/examples/nrfconnect_example.sh pump-controller-app nrf52840dk/nrf52840
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf52840dk_nrf52840 pump-controller-app \
examples/pump-controller-app/nrfconnect/build/zephyr/zephyr.elf \
examples/pump-controller-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK All Clusters App on nRF52840 DK
run: |
scripts/examples/nrfconnect_example.sh all-clusters-app nrf52840dk_nrf52840
scripts/examples/nrfconnect_example.sh all-clusters-app nrf52840dk/nrf52840
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf52840dk_nrf52840 all-clusters-app \
examples/all-clusters-app/nrfconnect/build/zephyr/zephyr.elf \
examples/all-clusters-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK All Clusters Minimal App on nRF52840 DK
run: |
scripts/examples/nrfconnect_example.sh all-clusters-minimal-app nrf52840dk_nrf52840 -DCONF_FILE=prj_dfu.conf
scripts/examples/nrfconnect_example.sh all-clusters-minimal-app nrf52840dk/nrf52840 -DFILE_SUFFIX=dfu
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf52840dk_nrf52840 all-clusters-minimal-app \
examples/all-clusters-minimal-app/nrfconnect/build/zephyr/zephyr.elf \
examples/all-clusters-minimal-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK Lock App on nRF5340 DK
if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
run: |
scripts/examples/nrfconnect_example.sh lock-app nrf5340dk_nrf5340_cpuapp
scripts/examples/nrfconnect_example.sh lock-app nrf5340dk/nrf5340/cpuapp
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf5340dk_nrf5340_cpuapp lock-app \
examples/lock-app/nrfconnect/build/zephyr/zephyr.elf \
examples/lock-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK Lighting App on nRF5340 DK
if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
run: |
scripts/examples/nrfconnect_example.sh lighting-app nrf5340dk_nrf5340_cpuapp
scripts/examples/nrfconnect_example.sh lighting-app nrf5340dk/nrf5340/cpuapp
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf5340dk_nrf5340_cpuapp lighting-app \
examples/lighting-app/nrfconnect/build/zephyr/zephyr.elf \
examples/lighting-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK Lock App on nRF7002 PDK
if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
run: |
scripts/examples/nrfconnect_example.sh lock-app nrf7002dk_nrf5340_cpuapp
scripts/examples/nrfconnect_example.sh lock-app nrf7002dk/nrf5340/cpuapp
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf7002dk_nrf5340_cpuapp lock-app \
examples/lock-app/nrfconnect/build/zephyr/zephyr.elf \
examples/lock-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK Light Switch App on nRF7002 PDK
if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
run: |
scripts/examples/nrfconnect_example.sh light-switch-app nrf7002dk_nrf5340_cpuapp
scripts/examples/nrfconnect_example.sh light-switch-app nrf7002dk/nrf5340/cpuapp
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf7002dk_nrf5340_cpuapp light-switch-app \
examples/light-switch-app/nrfconnect/build/zephyr/zephyr.elf \
examples/light-switch-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK Lighting App on nRF7002 PDK
if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
run: |
scripts/examples/nrfconnect_example.sh lighting-app nrf7002dk_nrf5340_cpuapp
scripts/examples/nrfconnect_example.sh lighting-app nrf7002dk/nrf5340/cpuapp
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf7002dk_nrf5340_cpuapp lighting-app \
examples/light-switch-app/nrfconnect/build/zephyr/zephyr.elf \
examples/light-switch-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Build example nRF Connect SDK All Clusters App on nRF7002 PDK
run: |
scripts/examples/nrfconnect_example.sh all-clusters-app nrf7002dk_nrf5340_cpuapp -DCONF_FILE=prj_release.conf
scripts/examples/nrfconnect_example.sh all-clusters-app nrf7002dk/nrf5340/cpuapp -DFILE_SUFFIX=release
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nrfconnect nrf7002dk_nrf5340_cpuapp all-clusters-app \
examples/all-clusters-app/nrfconnect/build/zephyr/zephyr.elf \
examples/all-clusters-app/nrfconnect/build/nrfconnect/zephyr/zephyr.elf \
/tmp/bloat_reports/
- name: Run unit tests for Zephyr native_posix_64 platform
if: github.event_name == 'push' || steps.changed_paths.outputs.tests == 'true' || steps.changed_paths.outputs.nrfconnect == 'true'
Expand Down
2 changes: 1 addition & 1 deletion config/nrfconnect/.nrfconnect-recommended-revision
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v2.6.0
v2.7.0
31 changes: 31 additions & 0 deletions config/nrfconnect/app/check-sysbuild-use.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#
# Copyright (c) 2024 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# This script checks is sysbuild is used to build the target. If not, it prints the fatal error
# message, as the nRF Connect examples do not support deprecated child-image approach anymore.

if (NOT SYSBUILD)
message(FATAL_ERROR " ###################################################################################\n"
" # This example does not support child-image approach anymore. #\n"
" # The nRF Connect SDK platform marked child-image approach as deprecated #\n"
" # from v2.7.0 and it is recommended to use the new sysbuild solution. #\n"
" # #\n"
" # To build this application with sysbuild support enabled, #\n"
" # you have to add --sysbuild flag to the build command, for example: #\n"
" # #\n"
" # west build -b <your_board_name> --sysbuild #\n"
" ###################################################################################\n")
endif()
4 changes: 2 additions & 2 deletions config/nrfconnect/chip-module/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ endif()
# Define 'chip-ota-image' target for building CHIP OTA image
# ==============================================================================

if (CONFIG_CHIP_OTA_IMAGE_BUILD)
if (CONFIG_CHIP_OTA_IMAGE_BUILD AND NOT SYSBUILD)
chip_ota_image(chip-ota-image
INPUT_FILES ${PROJECT_BINARY_DIR}/dfu_multi_image.bin
OUTPUT_FILE ${PROJECT_BINARY_DIR}/${CONFIG_CHIP_OTA_IMAGE_FILE_NAME}
Expand All @@ -240,7 +240,7 @@ endif()
# Define 'factory_data' target for generating a factory data partition
# ==============================================================================

if (CONFIG_CHIP_FACTORY_DATA_BUILD)
if(CONFIG_CHIP_FACTORY_DATA_BUILD AND (NOT SYSBUILD OR NOT CONFIG_PARTITION_MANAGER_ENABLED))
nrfconnect_generate_factory_data()
endif()

Expand Down
5 changes: 5 additions & 0 deletions config/nrfconnect/chip-module/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -297,4 +297,9 @@ config CHIP_PERSISTENT_SUBSCRIPTIONS
# selecting experimental for this feature since there is an issue with multiple controllers.
select EXPERIMENTAL

config CHIP_ENABLE_BDX_LOG_TRANSFER
bool "Enable BDX transfer for diagnostic logs"
help
Enables the BDX protocol for diagnostics log transfer purposes.

endif # CHIP
13 changes: 5 additions & 8 deletions config/nrfconnect/chip-module/Kconfig.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@ config ASSERT_NO_MSG_INFO
config HW_STACK_PROTECTION
default y

config FPU
default y

config POSIX_MAX_FDS
default 16

Expand Down Expand Up @@ -204,12 +201,12 @@ config CHIP_QSPI_NOR

# nRF7002DK uses SPI NOR external flash

if BOARD_NRF7002DK_NRF5340_CPUAPP || BOARD_NRF7002DK_NRF7001_NRF5340_CPUAPP
if BOARD_NRF7002DK_NRF5340_CPUAPP || BOARD_NRF7002DK_NRF7001_NRF5340_CPUAPP || BOARD_NRF54L15PDK_NRF54L15_CPUAPP

config CHIP_SPI_NOR
default y

endif # BOARD_NRF7002DK_NRF5340_CPUAPP || BOARD_NRF7002DK_NRF7001_NRF5340_CPUAPP
endif # BOARD_NRF7002DK_NRF5340_CPUAPP || BOARD_NRF7002DK_NRF7001_NRF5340_CPUAPP || BOARD_NRF54L15PDK_NRF54L15_CPUAPP

config BOOT_IMAGE_ACCESS_HOOKS
default y if SOC_SERIES_NRF53X
Expand Down Expand Up @@ -385,9 +382,6 @@ config MBEDTLS_ECP_DP_SECP256R1_ENABLED

endif # !CHIP_CRYPTO_PSA

config MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
default n if CHIP_WIFI

config MBEDTLS_SSL_OUT_CONTENT_LEN
default 900 if CHIP_WIFI

Expand Down Expand Up @@ -423,6 +417,9 @@ config MBEDTLS_SSL_SRV_C
config MBEDTLS_SSL_COOKIE_C
default n

config MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
default y

# ==============================================================================
# Logging configuration
# ==============================================================================
Expand Down
3 changes: 2 additions & 1 deletion config/nrfconnect/chip-module/Kconfig.features
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ config CHIP_SPI_NOR
imply SPI_NOR
imply MULTITHREADING
imply PM_OVERRIDE_EXTERNAL_DRIVER_CHECK
imply MCUMGR_GRP_IMG_ALLOW_ERASE_PENDING
help
Enables SPI NOR flash with a set of options for configuring pages and
buffer sizes.
Expand Down Expand Up @@ -149,7 +150,7 @@ endif
config CHIP_DFU_OVER_BT_SMP
bool "Enable DFU over Bluetooth LE SMP feature set"
imply CHIP_QSPI_NOR if BOARD_NRF5340DK_NRF5340_CPUAPP || BOARD_NRF52840DK_NRF52840
imply CHIP_SPI_NOR if BOARD_NRF7002DK_NRF5340_CPUAPP || BOARD_NRF7002DK_NRF7001_NRF5340_CPUAPP
imply CHIP_SPI_NOR if BOARD_NRF7002DK_NRF5340_CPUAPP || BOARD_NRF7002DK_NRF7001_NRF5340_CPUAPP || BOARD_NRF54L15PDK_NRF54L15_CPUAPP
imply BOOTLOADER_MCUBOOT
select MCUMGR
select MCUMGR_TRANSPORT_BT
Expand Down
83 changes: 0 additions & 83 deletions config/nrfconnect/chip-module/Kconfig.hci_ipc.defaults

This file was deleted.

21 changes: 0 additions & 21 deletions config/nrfconnect/chip-module/Kconfig.hci_ipc.root

This file was deleted.

Loading

0 comments on commit 1983632

Please sign in to comment.