From f69cff3dad867e2fb1a194987d627b65ee161ddc Mon Sep 17 00:00:00 2001 From: Kamil Kasperczyk Date: Fri, 19 Jul 2024 10:52:25 +0200 Subject: [PATCH] Addressed review comments --- .../nrfconnect/app/check-sysbuild-use.cmake | 4 +- config/nrfconnect/chip-module/CMakeLists.txt | 2 +- .../nrfconnect_factory_data_configuration.md | 2 +- examples/chef/nrfconnect/Kconfig.sysbuild | 29 ++++++++++ examples/chef/nrfconnect/sysbuild.conf | 18 ++++++ .../boards/nrf5340dk_nrf5340_cpunet.conf | 58 +++++++++++++++++++ .../nrfconnect/sysbuild/ipc_radio/prj.conf | 21 +++++++ .../sysbuild/ipc_radio/prj_release.conf | 20 +++++++ .../lighting-app/nrfconnect/Kconfig.sysbuild | 7 ++- scripts/examples/nrfconnect_example.sh | 2 +- 10 files changed, 156 insertions(+), 7 deletions(-) create mode 100644 examples/chef/nrfconnect/Kconfig.sysbuild create mode 100644 examples/chef/nrfconnect/sysbuild.conf create mode 100644 examples/chef/nrfconnect/sysbuild/ipc_radio/boards/nrf5340dk_nrf5340_cpunet.conf create mode 100644 examples/chef/nrfconnect/sysbuild/ipc_radio/prj.conf create mode 100644 examples/chef/nrfconnect/sysbuild/ipc_radio/prj_release.conf diff --git a/config/nrfconnect/app/check-sysbuild-use.cmake b/config/nrfconnect/app/check-sysbuild-use.cmake index cce02b8c2199cf..bd70da84a7479d 100644 --- a/config/nrfconnect/app/check-sysbuild-use.cmake +++ b/config/nrfconnect/app/check-sysbuild-use.cmake @@ -21,11 +21,11 @@ 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" - " # and it is recommended to use the new sysbuild solution. #\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 --sysbuild nameIt was moved to support sysbuild #\n" + " # west build -b --sysbuild #\n" " ###################################################################################\n") endif() diff --git a/config/nrfconnect/chip-module/CMakeLists.txt b/config/nrfconnect/chip-module/CMakeLists.txt index 7094ab33c004dc..bccd16b1416160 100644 --- a/config/nrfconnect/chip-module/CMakeLists.txt +++ b/config/nrfconnect/chip-module/CMakeLists.txt @@ -240,7 +240,7 @@ endif() # Define 'factory_data' target for generating a factory data partition # ============================================================================== -if(CONFIG_CHIP_FACTORY_DATA_BUILD AND (NOT SYSBUILD OR (SYSBUILD AND NOT CONFIG_PARTITION_MANAGER_ENABLED))) +if(CONFIG_CHIP_FACTORY_DATA_BUILD AND (NOT SYSBUILD OR NOT CONFIG_PARTITION_MANAGER_ENABLED)) nrfconnect_generate_factory_data() endif() diff --git a/docs/guides/nrfconnect_factory_data_configuration.md b/docs/guides/nrfconnect_factory_data_configuration.md index e6c5b9dd068f92..27595e2888d616 100644 --- a/docs/guides/nrfconnect_factory_data_configuration.md +++ b/docs/guides/nrfconnect_factory_data_configuration.md @@ -787,7 +787,7 @@ $ west build -b nrf52840dk_nrf52840 -- -DCONFIG_CHIP_FACTORY_DATA=y -DSB_CONFIG_ ``` Alternatively, you can also add `SB_CONFIG_MATTER_FACTORY_DATA_GENERATE=y` -Kconfig setting to the example's `prj.conf` file. +Kconfig setting to the example's `sysbuild.conf` file. Each factory data parameter has a default value. These are described in the [Kconfig file](../../config/nrfconnect/chip-module/Kconfig). Setting a new value diff --git a/examples/chef/nrfconnect/Kconfig.sysbuild b/examples/chef/nrfconnect/Kconfig.sysbuild new file mode 100644 index 00000000000000..b3e964a82b5439 --- /dev/null +++ b/examples/chef/nrfconnect/Kconfig.sysbuild @@ -0,0 +1,29 @@ +# +# 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. +# + +#### Radio core selection +config NRF_DEFAULT_IPC_RADIO + default y + +# Enable IEEE802.15.4 serialization to network core +config NETCORE_IPC_RADIO_IEEE802154 + default y if SOC_SERIES_NRF53X + +# Enable Bluetooth serialization to network core +config NETCORE_IPC_RADIO_BT_HCI_IPC + default y if SOC_SERIES_NRF53X + +source "${ZEPHYR_BASE}/share/sysbuild/Kconfig" diff --git a/examples/chef/nrfconnect/sysbuild.conf b/examples/chef/nrfconnect/sysbuild.conf new file mode 100644 index 00000000000000..e63a92c6b2bbab --- /dev/null +++ b/examples/chef/nrfconnect/sysbuild.conf @@ -0,0 +1,18 @@ +# +# 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. +# + +SB_CONFIG_MATTER=y +SB_CONFIG_MATTER_OTA=n diff --git a/examples/chef/nrfconnect/sysbuild/ipc_radio/boards/nrf5340dk_nrf5340_cpunet.conf b/examples/chef/nrfconnect/sysbuild/ipc_radio/boards/nrf5340dk_nrf5340_cpunet.conf new file mode 100644 index 00000000000000..8540585e53358b --- /dev/null +++ b/examples/chef/nrfconnect/sysbuild/ipc_radio/boards/nrf5340dk_nrf5340_cpunet.conf @@ -0,0 +1,58 @@ +# +# 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. +# + +# Disable serial and UART interface. +CONFIG_SERIAL=n +CONFIG_UART_CONSOLE=n +CONFIG_LOG=n + +# RAM usage configuration +CONFIG_HEAP_MEM_POOL_SIZE=8192 +CONFIG_MAIN_STACK_SIZE=2048 +CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 + +# BT configuration +CONFIG_BT=y +CONFIG_BT_HCI_RAW=y +CONFIG_BT_MAX_CONN=1 +CONFIG_BT_CTLR_ASSERT_HANDLER=y +CONFIG_BT_PERIPHERAL=y +CONFIG_BT_CENTRAL=n +CONFIG_BT_BUF_ACL_RX_SIZE=502 +CONFIG_BT_BUF_ACL_TX_SIZE=251 +CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 +CONFIG_BT_CTLR_PHY_2M=n + +# 802.15.4 configuration +CONFIG_NRF_802154_SER_RADIO=y +CONFIG_NRF_802154_ENCRYPTION=y +CONFIG_NRF_RTC_TIMER_USER_CHAN_COUNT=2 + +# Debug and assert configuration +CONFIG_ASSERT=y +CONFIG_DEBUG_INFO=y +CONFIG_EXCEPTION_STACK_TRACE=y +CONFIG_RESET_ON_FATAL_ERROR=n +CONFIG_REBOOT=n + +# IPC +CONFIG_MBOX=y +CONFIG_IPC_SERVICE=y + +# ipc_radio +CONFIG_IPC_RADIO_BT=y +CONFIG_IPC_RADIO_BT_HCI_IPC=y +CONFIG_IPC_RADIO_802154=y diff --git a/examples/chef/nrfconnect/sysbuild/ipc_radio/prj.conf b/examples/chef/nrfconnect/sysbuild/ipc_radio/prj.conf new file mode 100644 index 00000000000000..8906415dda4fc7 --- /dev/null +++ b/examples/chef/nrfconnect/sysbuild/ipc_radio/prj.conf @@ -0,0 +1,21 @@ +# +# 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. +# + +CONFIG_SERIAL=n +CONFIG_UART_CONSOLE=n +CONFIG_LOG=n + +CONFIG_RESET_ON_FATAL_ERROR=n diff --git a/examples/chef/nrfconnect/sysbuild/ipc_radio/prj_release.conf b/examples/chef/nrfconnect/sysbuild/ipc_radio/prj_release.conf new file mode 100644 index 00000000000000..7f92a51630cce0 --- /dev/null +++ b/examples/chef/nrfconnect/sysbuild/ipc_radio/prj_release.conf @@ -0,0 +1,20 @@ +# +# 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. +# +CONFIG_SERIAL=n +CONFIG_UART_CONSOLE=n +CONFIG_LOG=n + +CONFIG_RESET_ON_FATAL_ERROR=y diff --git a/examples/lighting-app/nrfconnect/Kconfig.sysbuild b/examples/lighting-app/nrfconnect/Kconfig.sysbuild index 4a0b8f3656b1eb..4048c88bf51f0f 100644 --- a/examples/lighting-app/nrfconnect/Kconfig.sysbuild +++ b/examples/lighting-app/nrfconnect/Kconfig.sysbuild @@ -26,9 +26,12 @@ config NETCORE_IPC_RADIO_IEEE802154 config NETCORE_IPC_RADIO_BT_HCI_IPC default y if SOC_SERIES_NRF53X +config MATTER_OTA + default n if BOARD_NRF52840DONGLE_NRF52840 + #### Bootloader choice BOOTLOADER - default BOOTLOADER_MCUBOOT + default BOOTLOADER_MCUBOOT if !BOARD_NRF52840DONGLE_NRF52840 endchoice if BOOTLOADER_MCUBOOT @@ -71,6 +74,6 @@ endif # BOOTLOADER_MCUBOOT #### Enable generating factory data config MATTER_FACTORY_DATA_GENERATE - default y + default y if !BOARD_NRF52840DONGLE_NRF52840 source "${ZEPHYR_BASE}/share/sysbuild/Kconfig" diff --git a/scripts/examples/nrfconnect_example.sh b/scripts/examples/nrfconnect_example.sh index 936269a0560780..67223afb2a092e 100755 --- a/scripts/examples/nrfconnect_example.sh +++ b/scripts/examples/nrfconnect_example.sh @@ -51,4 +51,4 @@ fi export CCACHE_BASEDIR="$PWD/$APP/nrfconnect" env -west build -p auto -b "$BOARD" -d "$APP/nrfconnect/build" "$APP/nrfconnect" -- "${COMMON_CI_FLAGS[@]}" "$@" --sysbuild +west build -p auto -b "$BOARD" -d "$APP/nrfconnect/build" "$APP/nrfconnect" --sysbuild -- "${COMMON_CI_FLAGS[@]}" "$@"