diff --git a/applications/asset_tracker_v2/child_image/mcuboot/boards/nrf9160dk_nrf9160_0_14_0.conf b/applications/asset_tracker_v2/child_image/mcuboot/boards/nrf9160dk_nrf9160_0_14_0.conf index b62dd3e1a9e0..6a33c56570bc 100644 --- a/applications/asset_tracker_v2/child_image/mcuboot/boards/nrf9160dk_nrf9160_0_14_0.conf +++ b/applications/asset_tracker_v2/child_image/mcuboot/boards/nrf9160dk_nrf9160_0_14_0.conf @@ -18,3 +18,6 @@ CONFIG_PM_OVERRIDE_EXTERNAL_DRIVER_CHECK=y CONFIG_MULTITHREADING=y CONFIG_MAIN_STACK_SIZE=2048 CONFIG_BOOT_MAX_IMG_SECTORS=256 + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/asset_tracker_v2/child_image/mcuboot/boards/nrf9161dk_nrf9161.conf b/applications/asset_tracker_v2/child_image/mcuboot/boards/nrf9161dk_nrf9161.conf index b62dd3e1a9e0..6a33c56570bc 100644 --- a/applications/asset_tracker_v2/child_image/mcuboot/boards/nrf9161dk_nrf9161.conf +++ b/applications/asset_tracker_v2/child_image/mcuboot/boards/nrf9161dk_nrf9161.conf @@ -18,3 +18,6 @@ CONFIG_PM_OVERRIDE_EXTERNAL_DRIVER_CHECK=y CONFIG_MULTITHREADING=y CONFIG_MAIN_STACK_SIZE=2048 CONFIG_BOOT_MAX_IMG_SECTORS=256 + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/connectivity_bridge/src/modules/ble_handler.c b/applications/connectivity_bridge/src/modules/ble_handler.c index 2b05d75c69e9..2f856157cf1a 100644 --- a/applications/connectivity_bridge/src/modules/ble_handler.c +++ b/applications/connectivity_bridge/src/modules/ble_handler.c @@ -323,7 +323,7 @@ static bool app_event_handler(const struct app_event_header *aeh) cast_ble_data_event(aeh); /* All subscribers have gotten a chance to copy data at this point */ - k_mem_slab_free(&ble_rx_slab, (void **) &event->buf); + k_mem_slab_free(&ble_rx_slab, (void *)event->buf); return false; } diff --git a/applications/connectivity_bridge/src/modules/uart_handler.c b/applications/connectivity_bridge/src/modules/uart_handler.c index 6b7c4ef61dc1..af463c413dc0 100644 --- a/applications/connectivity_bridge/src/modules/uart_handler.c +++ b/applications/connectivity_bridge/src/modules/uart_handler.c @@ -119,7 +119,7 @@ static void uart_rx_buf_unref(void *buf) /* ref_counter is the uart_buf->ref_counter value prior to decrement */ if (ref_counter == 1) { - k_mem_slab_free(&uart_rx_slab, (void **)&uart_buf); + k_mem_slab_free(&uart_rx_slab, (void *)uart_buf); } } diff --git a/applications/connectivity_bridge/src/modules/usb_cdc_handler.c b/applications/connectivity_bridge/src/modules/usb_cdc_handler.c index 2f31a05f7df3..7e293109567d 100644 --- a/applications/connectivity_bridge/src/modules/usb_cdc_handler.c +++ b/applications/connectivity_bridge/src/modules/usb_cdc_handler.c @@ -127,7 +127,7 @@ static void cdc_uart_interrupt_handler(const struct device *dev, void *user_data event->len = data_length; APP_EVENT_SUBMIT(event); } else { - k_mem_slab_free(&cdc_rx_slab, &rx_buf); + k_mem_slab_free(&cdc_rx_slab, rx_buf); } } } @@ -207,7 +207,7 @@ static bool app_event_handler(const struct app_event_header *aeh) cast_cdc_data_event(aeh); /* All subscribers have gotten a chance to copy data at this point */ - k_mem_slab_free(&cdc_rx_slab, (void **) &event->buf); + k_mem_slab_free(&cdc_rx_slab, (void *)event->buf); return true; } diff --git a/applications/machine_learning/configuration/nrf5340dk_nrf5340_cpuapp/child_image/mcuboot/prj.conf b/applications/machine_learning/configuration/nrf5340dk_nrf5340_cpuapp/child_image/mcuboot/prj.conf index 5d892b4db2be..df64b91d5d2f 100644 --- a/applications/machine_learning/configuration/nrf5340dk_nrf5340_cpuapp/child_image/mcuboot/prj.conf +++ b/applications/machine_learning/configuration/nrf5340dk_nrf5340_cpuapp/child_image/mcuboot/prj.conf @@ -64,3 +64,6 @@ CONFIG_FLASH_SIMULATOR_STATS=n # Enable custom command to erase settings partition. CONFIG_ENABLE_MGMT_PERUSER=y CONFIG_BOOT_MGMT_CUSTOM_STORAGE_ERASE=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/machine_learning/src/modules/ei_data_forwarder_bt_nus.c b/applications/machine_learning/src/modules/ei_data_forwarder_bt_nus.c index b7dea7ac6b7d..d954319a3fbd 100644 --- a/applications/machine_learning/src/modules/ei_data_forwarder_bt_nus.c +++ b/applications/machine_learning/src/modules/ei_data_forwarder_bt_nus.c @@ -152,7 +152,7 @@ static void clean_buffered_data(void) while ((node = sys_slist_get(&send_queue))) { struct ei_data_packet *packet = CONTAINER_OF(node, __typeof__(*packet), node); - k_mem_slab_free(&buf_slab, (void **)&packet); + k_mem_slab_free(&buf_slab, (void *)packet); } } @@ -205,7 +205,7 @@ static void send_queued_fn(struct k_work *w) pipeline_cnt++; } - k_mem_slab_free(&buf_slab, (void **)&packet); + k_mem_slab_free(&buf_slab, (void *)packet); } } diff --git a/applications/matter_bridge/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf b/applications/matter_bridge/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf index d14cd09ad00b..9091233e06d2 100644 --- a/applications/matter_bridge/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf +++ b/applications/matter_bridge/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf @@ -5,3 +5,6 @@ # CONFIG_GPIO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/matter_bridge/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf b/applications/matter_bridge/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf index d14cd09ad00b..9091233e06d2 100644 --- a/applications/matter_bridge/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf +++ b/applications/matter_bridge/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf @@ -5,3 +5,6 @@ # CONFIG_GPIO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/matter_bridge/child_image/mcuboot/prj.conf b/applications/matter_bridge/child_image/mcuboot/prj.conf index 7f8f9361297f..1c9498c103c5 100644 --- a/applications/matter_bridge/child_image/mcuboot/prj.conf +++ b/applications/matter_bridge/child_image/mcuboot/prj.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/matter_bridge/child_image/mcuboot/prj_release.conf b/applications/matter_bridge/child_image/mcuboot/prj_release.conf index 7f8f9361297f..1c9498c103c5 100644 --- a/applications/matter_bridge/child_image/mcuboot/prj_release.conf +++ b/applications/matter_bridge/child_image/mcuboot/prj_release.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj.conf b/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj.conf index 1c62b05529f9..b6e37b90420c 100644 --- a/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj.conf +++ b/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj.conf @@ -67,3 +67,6 @@ CONFIG_USB_DEVICE_PRODUCT="Thingy:53 Matter Weather" CONFIG_USB_DEVICE_PID=0x530D CONFIG_UART_LINE_CTRL=y CONFIG_SHELL_BACKEND_SERIAL_INIT_PRIORITY=51 + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj_release.conf b/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj_release.conf index 85ba2f37bbea..f32daeb03f95 100644 --- a/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj_release.conf +++ b/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj_release.conf @@ -59,3 +59,6 @@ CONFIG_ASSERT_NO_FILE_INFO=y # Disable USB CDC ACM CONFIG_BOARD_SERIAL_BACKEND_CDC_ACM=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf5340_audio/Kconfig b/applications/nrf5340_audio/Kconfig index f0d8f1d396a2..d164163bb50a 100644 --- a/applications/nrf5340_audio/Kconfig +++ b/applications/nrf5340_audio/Kconfig @@ -32,6 +32,10 @@ config TRANSPORT_CIS endchoice +config ZBUS_RUNTIME_OBSERVERS_POOL_SIZE + int "Number of zbus observers" + default 6 + #----------------------------------------------------------------------------# rsource "Kconfig.defaults" rsource "src/audio/Kconfig" diff --git a/applications/nrf5340_audio/Kconfig.defaults b/applications/nrf5340_audio/Kconfig.defaults index 0d0964e9b8a3..f3be0c387ee2 100644 --- a/applications/nrf5340_audio/Kconfig.defaults +++ b/applications/nrf5340_audio/Kconfig.defaults @@ -50,8 +50,8 @@ config NFCT_PINS_AS_GPIOS config ZBUS default y -config ZBUS_RUNTIME_OBSERVERS_POOL_SIZE - default 6 +config ZBUS_RUNTIME_OBSERVERS + default y config SENSOR default y diff --git a/applications/nrf5340_audio/include/nrf5340_audio_common.h b/applications/nrf5340_audio/include/nrf5340_audio_common.h index a5a43edd88ed..535f420dd718 100644 --- a/applications/nrf5340_audio/include/nrf5340_audio_common.h +++ b/applications/nrf5340_audio/include/nrf5340_audio_common.h @@ -31,7 +31,7 @@ enum le_audio_evt_type { LE_AUDIO_EVT_PRES_DELAY_SET, LE_AUDIO_EVT_STREAMING, LE_AUDIO_EVT_NOT_STREAMING, - LE_AUDIO_EVT_PA_SYNC_LOST, + LE_AUDIO_EVT_SYNC_LOST, LE_AUDIO_EVT_NO_VALID_CFG, }; @@ -45,7 +45,8 @@ enum bt_mgmt_evt_type { BT_MGMT_DISCONNECTED, BT_MGMT_SECURITY_CHANGED, BT_MGMT_EXT_ADV_READY, - BT_MGMT_PA_SYNC_OBJECT_READY, + BT_MGMT_PA_SYNCED, + BT_MGMT_PA_SYNC_LOST, }; struct bt_mgmt_msg { diff --git a/applications/nrf5340_audio/prj.conf b/applications/nrf5340_audio/prj.conf index 3b2789b7b32c..7c6f0c406624 100644 --- a/applications/nrf5340_audio/prj.conf +++ b/applications/nrf5340_audio/prj.conf @@ -24,6 +24,7 @@ CONFIG_LOG=y CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y CONFIG_LOG_TAG_MAX_LEN=2 CONFIG_LOG_TAG_DEFAULT="--" +CONFIG_LOG_BACKEND_UART=y # Console related defines CONFIG_CONSOLE=y diff --git a/applications/nrf5340_audio/src/audio/audio_datapath.c b/applications/nrf5340_audio/src/audio/audio_datapath.c index 566076e6469b..e563db820479 100644 --- a/applications/nrf5340_audio/src/audio/audio_datapath.c +++ b/applications/nrf5340_audio/src/audio/audio_datapath.c @@ -649,7 +649,7 @@ static void audio_datapath_i2s_blk_complete(uint32_t frame_start_ts, uint32_t *r K_NO_WAIT); ERR_CHK(ret); - data_fifo_block_free(ctrl_blk.in.fifo, &data); + data_fifo_block_free(ctrl_blk.in.fifo, data); ret = data_fifo_pointer_first_vacant_get(ctrl_blk.in.fifo, (void **)&rx_buf, K_NO_WAIT); diff --git a/applications/nrf5340_audio/src/audio/audio_system.c b/applications/nrf5340_audio/src/audio/audio_system.c index 4e01e17d0b84..d2c9eb2828be 100644 --- a/applications/nrf5340_audio/src/audio/audio_system.c +++ b/applications/nrf5340_audio/src/audio/audio_system.c @@ -123,7 +123,7 @@ static void encoder_thread(void *arg1, void *arg2, void *arg3) memcpy(pcm_raw_data + (i * BLOCK_SIZE_BYTES), tmp_pcm_raw_data[i], pcm_block_size); - data_fifo_block_free(&fifo_rx, &tmp_pcm_raw_data[i]); + data_fifo_block_free(&fifo_rx, tmp_pcm_raw_data[i]); } if (sw_codec_cfg.encoder.enabled) { @@ -227,7 +227,7 @@ int audio_decode(void const *const encoded_data, size_t encoded_data_size, bool break; } - data_fifo_block_free(&fifo_tx, &old_data); + data_fifo_block_free(&fifo_tx, old_data); } } @@ -363,7 +363,7 @@ int audio_system_fifo_rx_block_drop(void) return -ECANCELED; } - data_fifo_block_free(&fifo_rx, &temp); + data_fifo_block_free(&fifo_rx, temp); LOG_DBG("Block dropped"); return 0; diff --git a/applications/nrf5340_audio/src/audio/streamctrl.c b/applications/nrf5340_audio/src/audio/streamctrl.c index 821c02a61611..6932d8699ee6 100644 --- a/applications/nrf5340_audio/src/audio/streamctrl.c +++ b/applications/nrf5340_audio/src/audio/streamctrl.c @@ -141,7 +141,7 @@ static void le_audio_rx_data_handler(uint8_t const *const p_data, size_t data_si K_NO_WAIT); ERR_CHK(ret); - data_fifo_block_free(&ble_fifo_rx, &stale_data); + data_fifo_block_free(&ble_fifo_rx, stale_data); } ret = data_fifo_pointer_first_vacant_get(&ble_fifo_rx, (void *)&iso_received, K_NO_WAIT); @@ -185,7 +185,7 @@ static void audio_datapath_thread(void *dummy1, void *dummy2, void *dummy3) iso_received->sdu_ref, iso_received->bad_frame, iso_received->recv_frame_ts); #endif /* ((CONFIG_AUDIO_DEV == GATEWAY) && (CONFIG_AUDIO_SOURCE_USB)) */ - data_fifo_block_free(&ble_fifo_rx, (void *)&iso_received); + data_fifo_block_free(&ble_fifo_rx, (void *)iso_received); STACK_USAGE_PRINT("audio_datapath_thread", &audio_datapath_thread_data); } @@ -469,13 +469,23 @@ static void le_audio_msg_sub_thread(void) break; - case LE_AUDIO_EVT_PA_SYNC_LOST: - LOG_DBG("PA sync lost"); + case LE_AUDIO_EVT_SYNC_LOST: + LOG_INF("Sync lost"); + + if (strm_state == STATE_STREAMING) { + stream_state_set(STATE_PAUSED); + audio_system_stop(); + ret = led_on(LED_APP_1_BLUE); + ERR_CHK(ret); + } if (IS_ENABLED(CONFIG_BT_OBSERVER)) { ret = bt_mgmt_scan_start(0, 0, BT_MGMT_SCAN_TYPE_BROADCAST, NULL); if (ret) { - LOG_ERR("Failed to restart scanning: %d", ret); + if (ret != -EALREADY) { + LOG_ERR("Failed to restart scanning: %d", ret); + } + break; } @@ -616,8 +626,9 @@ static void bt_mgmt_evt_handler(const struct zbus_channel *chan) break; - case BT_MGMT_PA_SYNC_OBJECT_READY: - LOG_INF("PA sync object ready"); + case BT_MGMT_PA_SYNCED: + LOG_INF("PA synced"); + ret = le_audio_pa_sync_set(msg->pa_sync, msg->broadcast_id); if (ret) { LOG_WRN("Failed to set PA sync"); @@ -625,6 +636,26 @@ static void bt_mgmt_evt_handler(const struct zbus_channel *chan) break; + case BT_MGMT_PA_SYNC_LOST: + LOG_INF("PA sync lost"); + + if (IS_ENABLED(CONFIG_BT_OBSERVER)) { + ret = bt_mgmt_scan_start(0, 0, BT_MGMT_SCAN_TYPE_BROADCAST, NULL); + if (ret) { + if (ret == -EALREADY) { + return; + } + + LOG_ERR("Failed to restart scanning: %d", ret); + break; + } + + /* NOTE: The string below is used by the Nordic CI system */ + LOG_INF("Restarted scanning for broadcaster"); + } + + break; + default: LOG_WRN("Unexpected/unhandled bt_mgmt event: %d", event); diff --git a/applications/nrf5340_audio/src/bluetooth/Kconfig.defaults b/applications/nrf5340_audio/src/bluetooth/Kconfig.defaults index 9d4205f7aaaa..af2c01c830a0 100644 --- a/applications/nrf5340_audio/src/bluetooth/Kconfig.defaults +++ b/applications/nrf5340_audio/src/bluetooth/Kconfig.defaults @@ -16,13 +16,13 @@ config BT_ECC config BT_EXT_ADV default y -config BT_DEVICE_NAME - default "NRF5340_AUDIO" - # Mandatory to support at least 1 for ASCS config BT_ATT_PREPARE_COUNT default 1 +config ZBUS_RUNTIME_OBSERVERS + default y + if TRANSPORT_CIS # Depends on TRANSPORT_CIS config BT_GATT_CLIENT @@ -225,12 +225,18 @@ config BT_ISO_SYNC_RECEIVER config BT_BAP_BROADCAST_SINK default y +config BT_ISO_MAX_BIG + default 2 + config BT_BAP_SCAN_DELEGATOR default y config BT_BAP_BROADCAST_SNK_STREAM_COUNT default 2 +config BT_BAP_BROADCAST_SNK_COUNT + default 2 + config BT_ISO_MAX_CHAN default 2 @@ -243,6 +249,9 @@ config BT_PAC_SNK config BT_AUDIO_RX default y +config BT_PER_ADV_SYNC_MAX + default 2 + endif # AUDIO_DEV = 1 (HEADSET) # GATEWAY diff --git a/applications/nrf5340_audio/src/bluetooth/bt_management/scanning/bt_mgmt_scan_for_broadcast.c b/applications/nrf5340_audio/src/bluetooth/bt_management/scanning/bt_mgmt_scan_for_broadcast.c index 2386a592cbef..4bd081ffa9d9 100644 --- a/applications/nrf5340_audio/src/bluetooth/bt_management/scanning/bt_mgmt_scan_for_broadcast.c +++ b/applications/nrf5340_audio/src/bluetooth/bt_management/scanning/bt_mgmt_scan_for_broadcast.c @@ -32,7 +32,10 @@ ZBUS_CHAN_DECLARE(bt_mgmt_chan); struct bt_le_scan_cb scan_callback; static bool cb_registered; +static bool sync_cb_registered; static char const *srch_name; +static struct bt_le_per_adv_sync *pa_sync; +static uint32_t broadcaster_broadcast_id; struct broadcast_source { char name[BLE_SEARCH_NAME_MAX_LEN]; @@ -59,9 +62,6 @@ static void periodic_adv_sync(const struct bt_le_scan_recv_info *info, uint32_t { int ret; struct bt_le_per_adv_sync_param param; - struct bt_le_per_adv_sync *pa_sync; - - struct bt_mgmt_msg msg; bt_le_scan_cb_unregister(&scan_callback); cb_registered = false; @@ -77,18 +77,13 @@ static void periodic_adv_sync(const struct bt_le_scan_recv_info *info, uint32_t param.skip = PA_SYNC_SKIP; param.timeout = interval_to_sync_timeout(info->interval); + broadcaster_broadcast_id = broadcast_id; + ret = bt_le_per_adv_sync_create(¶m, &pa_sync); if (ret) { LOG_ERR("Could not sync to PA: %d", ret); return; } - - msg.event = BT_MGMT_PA_SYNC_OBJECT_READY; - msg.broadcast_id = broadcast_id; - msg.pa_sync = pa_sync; - - ret = zbus_chan_pub(&bt_mgmt_chan, &msg, K_NO_WAIT); - ERR_CHK(ret); } /** @@ -164,17 +159,64 @@ static void scan_recv_cb(const struct bt_le_scan_recv_info *info, struct net_buf } } +static void pa_synced_cb(struct bt_le_per_adv_sync *sync, + struct bt_le_per_adv_sync_synced_info *info) +{ + int ret; + struct bt_mgmt_msg msg; + + if (sync != pa_sync) { + LOG_WRN("Synced to unknown source"); + return; + } + + LOG_DBG("PA synced"); + + msg.event = BT_MGMT_PA_SYNCED; + msg.pa_sync = sync; + msg.broadcast_id = broadcaster_broadcast_id; + + ret = zbus_chan_pub(&bt_mgmt_chan, &msg, K_NO_WAIT); + ERR_CHK(ret); +} + +static void pa_sync_terminated_cb(struct bt_le_per_adv_sync *sync, + const struct bt_le_per_adv_sync_term_info *info) +{ + int ret; + struct bt_mgmt_msg msg; + + LOG_DBG("Periodic advertising sync lost"); + + msg.event = BT_MGMT_PA_SYNC_LOST; + msg.pa_sync = sync; + + ret = zbus_chan_pub(&bt_mgmt_chan, &msg, K_NO_WAIT); + ERR_CHK(ret); +} + +static struct bt_le_per_adv_sync_cb sync_callbacks = { + .synced = pa_synced_cb, + .term = pa_sync_terminated_cb, +}; + int bt_mgmt_scan_for_broadcast_start(struct bt_le_scan_param *scan_param, char const *const name) { int ret; - srch_name = name; + if (!sync_cb_registered) { + bt_le_per_adv_sync_cb_register(&sync_callbacks); + sync_cb_registered = true; + } if (!cb_registered) { scan_callback.recv = scan_recv_cb; bt_le_scan_cb_register(&scan_callback); cb_registered = true; } else { + if (name == srch_name) { + return -EALREADY; + } /* Already scanning, stop current scan to update param in case it has changed */ ret = bt_le_scan_stop(); if (ret) { @@ -183,8 +225,10 @@ int bt_mgmt_scan_for_broadcast_start(struct bt_le_scan_param *scan_param, char c } } + srch_name = name; + ret = bt_le_scan_start(scan_param, NULL); - if (ret && ret != -EALREADY) { + if (ret) { return ret; } diff --git a/applications/nrf5340_audio/src/bluetooth/le_audio.h b/applications/nrf5340_audio/src/bluetooth/le_audio.h index f38aa25eca33..a90cd9183b23 100644 --- a/applications/nrf5340_audio/src/bluetooth/le_audio.h +++ b/applications/nrf5340_audio/src/bluetooth/le_audio.h @@ -15,24 +15,25 @@ #define LE_AUDIO_SDU_SIZE_OCTETS(bitrate) (bitrate / (1000000 / CONFIG_AUDIO_FRAME_DURATION_US) / 8) #if (CONFIG_AUDIO_SAMPLE_RATE_48000_HZ) -#define BT_AUDIO_CODEC_CONFIG_FREQ BT_CODEC_CONFIG_LC3_FREQ_48KHZ -#define BT_AUDIO_CODEC_CAPABILIY_FREQ BT_CODEC_LC3_FREQ_48KHZ +#define BT_AUDIO_CODEC_CONFIG_FREQ BT_AUDIO_CODEC_CONFIG_LC3_FREQ_48KHZ +#define BT_AUDIO_CODEC_CAPABILIY_FREQ BT_AUDIO_CODEC_LC3_FREQ_48KHZ #elif (CONFIG_AUDIO_SAMPLE_RATE_24000_HZ) -#define BT_AUDIO_CODEC_CONFIG_FREQ BT_CODEC_CONFIG_LC3_FREQ_24KHZ -#define BT_AUDIO_CODEC_CAPABILIY_FREQ BT_CODEC_LC3_FREQ_24KHZ +#define BT_AUDIO_CODEC_CONFIG_FREQ BT_AUDIO_CODEC_CONFIG_LC3_FREQ_24KHZ +#define BT_AUDIO_CODEC_CAPABILIY_FREQ BT_AUDIO_CODEC_LC3_FREQ_24KHZ #elif (CONFIG_AUDIO_SAMPLE_RATE_16000_HZ) -#define BT_AUDIO_CODEC_CONFIG_FREQ BT_CODEC_CONFIG_LC3_FREQ_16KHZ -#define BT_AUDIO_CODEC_CAPABILIY_FREQ BT_CODEC_LC3_FREQ_16KHZ +#define BT_AUDIO_CODEC_CONFIG_FREQ BT_AUDIO_CODEC_CONFIG_LC3_FREQ_16KHZ +#define BT_AUDIO_CODEC_CAPABILIY_FREQ BT_AUDIO_CODEC_LC3_FREQ_16KHZ #endif /* (CONFIG_AUDIO_SAMPLE_RATE_48000_HZ) */ #define BT_BAP_LC3_PRESET_CONFIGURABLE(_loc, _stream_context, _bitrate) \ BT_BAP_LC3_PRESET( \ - BT_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CONFIG_FREQ, BT_CODEC_CONFIG_LC3_DURATION_10, \ - _loc, LE_AUDIO_SDU_SIZE_OCTETS(_bitrate), 1, _stream_context), \ - BT_CODEC_LC3_QOS_10_UNFRAMED(LE_AUDIO_SDU_SIZE_OCTETS(_bitrate), \ - CONFIG_BT_AUDIO_RETRANSMITS, \ - CONFIG_BT_AUDIO_MAX_TRANSPORT_LATENCY_MS, \ - CONFIG_BT_AUDIO_PRESENTATION_DELAY_US)) + BT_AUDIO_CODEC_LC3_CONFIG(BT_AUDIO_CODEC_CONFIG_FREQ, \ + BT_AUDIO_CODEC_CONFIG_LC3_DURATION_10, _loc, \ + LE_AUDIO_SDU_SIZE_OCTETS(_bitrate), 1, _stream_context), \ + BT_AUDIO_CODEC_LC3_QOS_10_UNFRAMED(LE_AUDIO_SDU_SIZE_OCTETS(_bitrate), \ + CONFIG_BT_AUDIO_RETRANSMITS, \ + CONFIG_BT_AUDIO_MAX_TRANSPORT_LATENCY_MS, \ + CONFIG_BT_AUDIO_PRESENTATION_DELAY_US)) #if CONFIG_TRANSPORT_CIS #if CONFIG_BT_BAP_UNICAST_CONFIGURABLE diff --git a/applications/nrf5340_audio/src/bluetooth/le_audio_bis_gateway.c b/applications/nrf5340_audio/src/bluetooth/le_audio_bis_gateway.c index 509119414f96..43adeaa61ed2 100644 --- a/applications/nrf5340_audio/src/bluetooth/le_audio_bis_gateway.c +++ b/applications/nrf5340_audio/src/bluetooth/le_audio_bis_gateway.c @@ -179,7 +179,7 @@ static struct bt_bap_stream_ops stream_ops = { #if (CONFIG_AURACAST) static void public_broadcast_features_set(uint8_t *features) { - int freq = bt_codec_cfg_get_freq(&lc3_preset.codec); + int freq = bt_audio_codec_cfg_get_freq(&lc3_preset.codec_cfg); if (features == NULL) { LOG_ERR("No pointer to features"); @@ -271,15 +271,16 @@ static int adv_create(void) /** * @brief Set the channel allocation to a preset codec configuration. * - * @param codec The preset codec configuration. - * @param loc Location bitmask setting. + * @param data The preset codec configuration. + * @param data_len Length of @p data + * @param loc Location bitmask setting. */ -static void bt_codec_allocation_set(struct bt_codec_data *codec, enum bt_audio_location loc) +static void bt_audio_codec_allocation_set(uint8_t *data, uint8_t data_len, + enum bt_audio_location loc) { - codec->data.type = BT_CODEC_CONFIG_LC3_CHAN_ALLOC; - sys_put_le32(loc, codec->value); - codec->data.data = codec->value; - codec->data.data_len = 4; + data[0] = data_len - 1; + data[1] = BT_AUDIO_CODEC_CONFIG_LC3_CHAN_ALLOC; + sys_put_le32((const uint32_t)loc, &data[2]); } int le_audio_user_defined_button_press(enum le_audio_user_defined_action action) @@ -483,8 +484,9 @@ int le_audio_enable(le_audio_receive_cb recv_cb, le_audio_timestamp_cb timestmp_ { int ret; + ARG_UNUSED(recv_cb); struct bt_bap_broadcast_source_stream_param stream_params[ARRAY_SIZE(audio_streams)]; - struct bt_codec_data bis_codec_data[ARRAY_SIZE(stream_params)]; + uint8_t bis_codec_data[ARRAY_SIZE(stream_params)][6]; struct bt_bap_broadcast_source_subgroup_param subgroup_params[CONFIG_BT_BAP_BROADCAST_SRC_SUBGROUP_COUNT]; struct bt_bap_broadcast_source_create_param create_param; @@ -494,8 +496,6 @@ int le_audio_enable(le_audio_receive_cb recv_cb, le_audio_timestamp_cb timestmp_ return -EALREADY; } - ARG_UNUSED(recv_cb); - LOG_INF("Enabling broadcast gateway %s", CONFIG_BT_AUDIO_BROADCAST_NAME); if (timestmp_cb == NULL) { @@ -510,21 +510,22 @@ int le_audio_enable(le_audio_receive_cb recv_cb, le_audio_timestamp_cb timestmp_ for (size_t i = 0; i < ARRAY_SIZE(stream_params); i++) { stream_params[i].stream = &audio_streams[i]; bt_bap_stream_cb_register(stream_params[i].stream, &stream_ops); - stream_params[i].data_count = 1U; - stream_params[i].data = &bis_codec_data[i]; + stream_params[i].data_len = ARRAY_SIZE(bis_codec_data[i]); + stream_params[i].data = bis_codec_data[i]; + /* The channel allocation is set incrementally */ - bt_codec_allocation_set(stream_params[i].data, BIT(i)); + bt_audio_codec_allocation_set(stream_params[i].data, stream_params[i].data_len, + BIT(i)); } for (size_t i = 0U; i < ARRAY_SIZE(subgroup_params); i++) { subgroup_params[i].params_count = ARRAY_SIZE(stream_params); subgroup_params[i].params = &stream_params[i]; - subgroup_params[i].codec = &lc3_preset.codec; + subgroup_params[i].codec_cfg = &lc3_preset.codec_cfg; #if (CONFIG_BT_AUDIO_BROADCAST_IMMEDIATE_FLAG) /* Immediate rendering flag */ - subgroup_params[i].codec->meta[0].data.type = 0x09; - subgroup_params[i].codec->meta[0].data.data_len = 0; - subgroup_params[i].codec->meta_count = 1; + subgroup_params[i].codec_cfg->meta_len++; + subgroup_params[i].codec_cfg->meta[subgroup_params[i].codec_cfg->meta_len] = 0x09; #endif /* (CONFIG_BT_AUDIO_BROADCAST_IMMEDIATE_FLAG) */ } diff --git a/applications/nrf5340_audio/src/bluetooth/le_audio_bis_headset.c b/applications/nrf5340_audio/src/bluetooth/le_audio_bis_headset.c index 8a979c43dd64..eed671e2b489 100644 --- a/applications/nrf5340_audio/src/bluetooth/le_audio_bis_headset.c +++ b/applications/nrf5340_audio/src/bluetooth/le_audio_bis_headset.c @@ -59,16 +59,46 @@ static struct active_audio_stream active_stream; static uint8_t sync_stream_cnt; static uint8_t active_stream_index; -/* We need to set a location as a pre-compile, this changed in initialize */ -static struct bt_codec codec_capabilities = - BT_CODEC_LC3_CONFIG_48_4(BT_AUDIO_LOCATION_FRONT_LEFT, BT_AUDIO_CONTEXT_TYPE_MEDIA); +static struct bt_audio_codec_cap codec_cap = BT_AUDIO_CODEC_CAP_LC3( + BT_AUDIO_CODEC_CAPABILIY_FREQ, + (BT_AUDIO_CODEC_LC3_DURATION_10 | BT_AUDIO_CODEC_LC3_DURATION_PREFER_10), + BT_AUDIO_CODEC_LC3_CHAN_COUNT_SUPPORT(1), LE_AUDIO_SDU_SIZE_OCTETS(CONFIG_LC3_BITRATE_MIN), + LE_AUDIO_SDU_SIZE_OCTETS(CONFIG_LC3_BITRATE_MAX), 1u, BT_AUDIO_CONTEXT_TYPE_MEDIA); static le_audio_receive_cb receive_cb; static bool init_routine_completed; static bool paused; -static int bis_headset_cleanup(void); +static int bis_headset_cleanup(void) +{ + int ret; + + init_routine_completed = false; + + if (broadcast_sink != NULL) { + ret = bt_bap_broadcast_sink_delete(broadcast_sink); + if (ret && ret != -EALREADY) { + return ret; + } + + broadcast_sink = NULL; + } + + return 0; +} + +static void bis_cleanup_worker(struct k_work *work) +{ + int ret; + + ret = bis_headset_cleanup(); + if (ret) { + LOG_WRN("Failed to clean up BISes: %d", ret); + } +} + +K_WORK_DEFINE(bis_cleanup_work, bis_cleanup_worker); static void le_audio_event_publish(enum le_audio_evt_type event) { @@ -83,7 +113,7 @@ static void le_audio_event_publish(enum le_audio_evt_type event) static void print_codec(const struct audio_codec_info *codec) { - if (codec->id == BT_CODEC_LC3_ID) { + if (codec->id == BT_AUDIO_CODEC_LC3_ID) { LOG_INF("Codec config for LC3:"); LOG_INF("\tFrequency: %d Hz", codec->frequency); LOG_INF("\tFrame Duration: %d us", codec->frame_duration_us); @@ -97,29 +127,31 @@ static void print_codec(const struct audio_codec_info *codec) } } -static void get_codec_info(const struct bt_codec *codec, struct audio_codec_info *codec_info) +static void get_codec_info(const struct bt_audio_codec_cfg *codec, + struct audio_codec_info *codec_info) { - if (codec->id == BT_CODEC_LC3_ID) { + if (codec->id == BT_AUDIO_CODEC_LC3_ID) { /* LC3 uses the generic LTV format - other codecs might do as well */ LOG_DBG("Retrieve the codec configuration for LC3"); codec_info->id = codec->id; codec_info->cid = codec->cid; codec_info->vid = codec->vid; - codec_info->frequency = bt_codec_cfg_get_freq(codec); - codec_info->frame_duration_us = bt_codec_cfg_get_frame_duration_us(codec); - bt_codec_cfg_get_chan_allocation_val(codec, &codec_info->chan_allocation); - codec_info->octets_per_sdu = bt_codec_cfg_get_octets_per_frame(codec); + codec_info->frequency = bt_audio_codec_cfg_get_freq(codec); + codec_info->frame_duration_us = bt_audio_codec_cfg_get_frame_duration_us(codec); + bt_audio_codec_cfg_get_chan_allocation_val(codec, &codec_info->chan_allocation); + codec_info->octets_per_sdu = bt_audio_codec_cfg_get_octets_per_frame(codec); codec_info->bitrate = (codec_info->octets_per_sdu * 8 * 1000000) / codec_info->frame_duration_us; - codec_info->blocks_per_sdu = bt_codec_cfg_get_frame_blocks_per_sdu(codec, true); + codec_info->blocks_per_sdu = + bt_audio_codec_cfg_get_frame_blocks_per_sdu(codec, true); } else { LOG_WRN("Codec is not LC3, codec_id: 0x%2hhx", codec->id); } } -static bool bitrate_check(const struct bt_codec *codec) +static bool bitrate_check(const struct bt_audio_codec_cfg *codec) { - uint32_t octets_per_sdu = bt_codec_cfg_get_octets_per_frame(codec); + uint32_t octets_per_sdu = bt_audio_codec_cfg_get_octets_per_frame(codec); if (octets_per_sdu < LE_AUDIO_SDU_SIZE_OCTETS(CONFIG_LC3_BITRATE_MIN)) { LOG_WRN("Bitrate too low"); @@ -143,7 +175,33 @@ static void stream_started_cb(struct bt_bap_stream *stream) static void stream_stopped_cb(struct bt_bap_stream *stream, uint8_t reason) { - le_audio_event_publish(LE_AUDIO_EVT_NOT_STREAMING); + + switch (reason) { + case BT_HCI_ERR_LOCALHOST_TERM_CONN: + LOG_INF("Stream stopped by user"); + le_audio_event_publish(LE_AUDIO_EVT_NOT_STREAMING); + + break; + + case BT_HCI_ERR_CONN_TIMEOUT: + LOG_INF("Stream sync lost"); + k_work_submit(&bis_cleanup_work); + + le_audio_event_publish(LE_AUDIO_EVT_SYNC_LOST); + + break; + + case BT_HCI_ERR_REMOTE_USER_TERM_CONN: + LOG_INF("Broadcast source stopped streaming"); + le_audio_event_publish(LE_AUDIO_EVT_NOT_STREAMING); + + break; + + default: + LOG_WRN("Unhandled reason: %d", reason); + + break; + } /* NOTE: The string below is used by the Nordic CI system */ LOG_INF("Stream index %d stopped. Reason: %d", active_stream_index, reason); @@ -175,63 +233,34 @@ static struct bt_bap_stream_ops stream_ops = { #endif /* (CONFIG_BT_AUDIO_RX) */ }; -static void pa_synced_cb(struct bt_bap_broadcast_sink *sink, struct bt_le_per_adv_sync *sync, - uint32_t broadcast_id) +static bool parse_cb(struct bt_data *data, void *codec) { - if (broadcast_sink != NULL) { - LOG_ERR("Unexpected PA sync"); - return; - } - - broadcast_sink = sink; - - LOG_DBG("Broadcast source PA synced, waiting for BASE"); -} - -static void pa_sync_lost_cb(struct bt_bap_broadcast_sink *sink) -{ - int ret; - - LOG_DBG("Periodic advertising sync lost"); - - if (broadcast_sink == NULL) { - LOG_ERR("Unexpected PA sync lost"); - return; - } - - if (!init_routine_completed) { - return; - } - - LOG_DBG("Sink disconnected"); - - ret = bis_headset_cleanup(); - if (ret) { - LOG_ERR("Error cleaning up"); - return; + if (data->type == BT_AUDIO_CODEC_CONFIG_LC3_CHAN_ALLOC) { + ((struct audio_codec_info *)codec)->chan_allocation = sys_get_le32(data->data); + return false; } - le_audio_event_publish(LE_AUDIO_EVT_PA_SYNC_LOST); + return true; } /** * @brief Function which overwrites BIS specific codec information. - * I.e. level 3 specific information overwrites general level 2 information. + * I.e. level 3 specific information overwrites general level 2 information. * * @note: This will change when new host APIs are available. */ static int bis_specific_codec_config(struct bt_bap_base_bis_data bis_data, struct audio_codec_info *codec) { - for (int i = 0; i < bis_data.data_count; i++) { - if (bis_data.data[i].data.type == BT_CODEC_CONFIG_LC3_CHAN_ALLOC) { - codec->chan_allocation = sys_get_le32(bis_data.data[i].data.data); - LOG_DBG("Location has been overwritten with %d", codec->chan_allocation); - return 0; - } + int ret; + + ret = bt_audio_data_parse(bis_data.data, bis_data.data_len, parse_cb, codec); + if (ret && ret != -ECANCELED) { + LOG_WRN("Could not overwrite BIS specific codec info: %d", ret); + return -ENXIO; } - return -ENXIO; + return 0; } static void base_recv_cb(struct bt_bap_broadcast_sink *sink, const struct bt_bap_base *base) @@ -253,15 +282,15 @@ static void base_recv_cb(struct bt_bap_broadcast_sink *sink, const struct bt_bap LOG_DBG("Subgroup: %d BIS: %d index = %d", i, j, index); - if (bitrate_check((struct bt_codec *)&base->subgroups[i].codec)) { + if (bitrate_check(&base->subgroups[i].codec_cfg)) { suitable_stream_found = true; bis_index_bitfields[sync_stream_cnt] = BIT(index); /* Get general (level 2) codec config from the subgroup */ - audio_streams[sync_stream_cnt].codec = - (struct bt_codec *)&base->subgroups[i].codec; - get_codec_info(audio_streams[sync_stream_cnt].codec, + audio_streams[sync_stream_cnt].codec_cfg = + (struct bt_audio_codec_cfg *)&base->subgroups[i].codec_cfg; + get_codec_info(audio_streams[sync_stream_cnt].codec_cfg, &audio_codec_info[sync_stream_cnt]); /* Overwrite codec config with level 3 BIS specific codec config. @@ -354,14 +383,12 @@ static void syncable_cb(struct bt_bap_broadcast_sink *sink, bool encrypted) } static struct bt_bap_broadcast_sink_cb broadcast_sink_cbs = { - .pa_synced = pa_synced_cb, - .pa_sync_lost = pa_sync_lost_cb, .base_recv = base_recv_cb, .syncable = syncable_cb, }; static struct bt_pacs_cap capabilities = { - .codec = &codec_capabilities, + .codec_cap = &codec_cap, }; static int initialize(le_audio_receive_cb recv_cb) @@ -412,24 +439,6 @@ static int initialize(le_audio_receive_cb recv_cb) return 0; } -static int bis_headset_cleanup(void) -{ - int ret; - - init_routine_completed = false; - - if (broadcast_sink != NULL) { - ret = bt_bap_broadcast_sink_delete(broadcast_sink); - if (ret && ret != -EALREADY) { - return ret; - } - - broadcast_sink = NULL; - } - - return 0; -} - static int change_active_audio_stream(void) { int ret; @@ -539,7 +548,7 @@ int le_audio_pa_sync_set(struct bt_le_per_adv_sync *pa_sync, uint32_t broadcast_ } } - ret = bt_bap_broadcast_sink_create(pa_sync, broadcast_id); + ret = bt_bap_broadcast_sink_create(pa_sync, broadcast_id, &broadcast_sink); if (ret) { LOG_WRN("Failed to create sink: %d", ret); return ret; diff --git a/applications/nrf5340_audio/src/bluetooth/le_audio_cis_gateway.c b/applications/nrf5340_audio/src/bluetooth/le_audio_cis_gateway.c index 56c0f087c135..7b71bf45e04a 100644 --- a/applications/nrf5340_audio/src/bluetooth/le_audio_cis_gateway.c +++ b/applications/nrf5340_audio/src/bluetooth/le_audio_cis_gateway.c @@ -8,6 +8,7 @@ #include #include +#include #include #include #include @@ -48,10 +49,10 @@ struct le_audio_headset { uint8_t num_eps; struct bt_bap_stream sink_stream; struct bt_bap_ep *sink_ep; - struct bt_codec sink_codec_cap[CONFIG_CODEC_CAP_COUNT_MAX]; + struct bt_audio_codec_cap sink_codec_cap[CONFIG_CODEC_CAP_COUNT_MAX]; struct bt_bap_stream source_stream; struct bt_bap_ep *source_ep; - struct bt_codec source_codec_cap[CONFIG_CODEC_CAP_COUNT_MAX]; + struct bt_audio_codec_cap source_codec_cap[CONFIG_CODEC_CAP_COUNT_MAX]; struct bt_conn *headset_conn; struct net_buf_pool *iso_tx_pool; atomic_t iso_tx_pool_alloc; @@ -71,7 +72,7 @@ struct temp_cap_storage { struct bt_conn *conn; uint8_t num_caps; /* Must be the same size as sink_codec_cap and source_codec_cap */ - struct bt_codec codec[CONFIG_CODEC_CAP_COUNT_MAX]; + struct bt_audio_codec_cap codec[CONFIG_CODEC_CAP_COUNT_MAX]; }; static struct le_audio_headset headsets[CONFIG_BT_MAX_CONN]; @@ -357,7 +358,8 @@ static int temp_cap_index_get(struct bt_conn *conn, uint8_t *index) return -ECANCELED; } -static void pac_record_cb(struct bt_conn *conn, enum bt_audio_dir dir, const struct bt_codec *codec) +static void pac_record_cb(struct bt_conn *conn, enum bt_audio_dir dir, + const struct bt_audio_codec_cap *codec) { int ret; uint8_t temp_cap_index; @@ -368,25 +370,17 @@ static void pac_record_cb(struct bt_conn *conn, enum bt_audio_dir dir, const str return; } - if (codec->id != BT_CODEC_LC3_ID) { + if (codec->id != BT_AUDIO_CODEC_LC3_ID) { LOG_DBG("Only the LC3 codec is supported"); return; } /* num_caps is an increasing index that starts at 0 */ if (temp_cap[temp_cap_index].num_caps < ARRAY_SIZE(temp_cap[temp_cap_index].codec)) { - struct bt_codec *codec_loc = + struct bt_audio_codec_cap *codec_loc = &temp_cap[temp_cap_index].codec[temp_cap[temp_cap_index].num_caps]; - memcpy(codec_loc, codec, sizeof(struct bt_codec)); - - for (int i = 0; i < codec->data_count; i++) { - codec_loc->data[i].data.data = codec_loc->data[i].value; - } - - for (int i = 0; i < codec->meta_count; i++) { - codec_loc->meta[i].data.data = codec_loc->meta[i].value; - } + memcpy(codec_loc, codec, sizeof(struct bt_audio_codec_cap)); temp_cap[temp_cap_index].num_caps++; } else { @@ -462,7 +456,8 @@ static void stream_sent_cb(struct bt_bap_stream *stream) } } -static void stream_configured_cb(struct bt_bap_stream *stream, const struct bt_codec_qos_pref *pref) +static void stream_configured_cb(struct bt_bap_stream *stream, + const struct bt_audio_codec_qos_pref *pref) { int ret; uint8_t channel_index; @@ -546,8 +541,8 @@ static void stream_qos_set_cb(struct bt_bap_stream *stream) LOG_DBG("Set %s to PD: %d", headsets[channel_index].ch_name, stream->qos->pd); if (playing_state) { - ret = bt_bap_stream_enable(stream, lc3_preset_sink.codec.meta, - lc3_preset_sink.codec.meta_count); + ret = bt_bap_stream_enable(stream, lc3_preset_sink.codec_cfg.meta, + lc3_preset_sink.codec_cfg.meta_len); if (ret) { LOG_ERR("Unable to enable stream: %d", ret); return; @@ -713,7 +708,7 @@ static void stream_recv_cb(struct bt_bap_stream *stream, const struct bt_iso_rec } receive_cb(buf->data, buf->len, bad_frame, info->ts, channel_index, - bt_codec_cfg_get_octets_per_frame(stream->codec)); + bt_audio_codec_cfg_get_octets_per_frame(stream->codec_cfg)); } #endif /* (CONFIG_BT_AUDIO_RX) */ @@ -791,25 +786,40 @@ static void work_stream_start(struct k_work *work) } } -/** - * @brief Set the allocation to a preset codec configuration. - * - * @param codec The preset codec configuration. - * @param loc Location bitmask setting. - * - */ -static void bt_codec_allocation_set(struct bt_codec *codec, enum bt_audio_location loc) +static int bt_audio_codec_allocation_set(struct bt_audio_codec_cfg *codec_cfg, + enum bt_audio_location loc) { - for (size_t i = 0; i < codec->data_count; i++) { - if (codec->data[i].data.type == BT_CODEC_CONFIG_LC3_CHAN_ALLOC) { - codec->data[i].value[0] = loc & 0xff; - codec->data[i].value[1] = (loc >> 8) & 0xFFU; - codec->data[i].value[2] = (loc >> 16) & 0xFFU; - codec->data[i].value[3] = (loc >> 24) & 0xFFU; - codec->data[i].data.data = codec->data[i].value; - return; + for (size_t i = 0U; i < codec_cfg->data_len;) { + const uint8_t len = codec_cfg->data[i++]; + const uint8_t type = codec_cfg->data[i++]; + uint8_t *value = &codec_cfg->data[i]; + const uint8_t value_len = len - sizeof(type); + + if (type == BT_AUDIO_CODEC_CONFIG_LC3_CHAN_ALLOC) { + const uint32_t loc_32 = loc; + + sys_put_le32(loc_32, value); + + return 0; + } + i += value_len; + } + + return -ENODATA; +} + +static bool parse_cb(struct bt_data *data, void *user_data) +{ + if (data->type == BT_AUDIO_CODEC_LC3_FREQ) { + uint16_t temp = sys_get_le16(data->data); + + if (temp & BT_AUDIO_CODEC_CAPABILIY_FREQ) { + *(bool *)user_data = true; } + return false; } + + return true; } /** @@ -818,24 +828,26 @@ static void bt_codec_allocation_set(struct bt_codec *codec, enum bt_audio_locati * @note Currently only the sampling frequency is checked * * @param cap_array The array of pointers to codec capabilities - * @param size The size of cap_array - * + * @param num_caps Number of caps * @return True if valid codec capability found, false otherwise */ -static bool valid_codec_cap_check(struct bt_codec cap_array[], size_t size) +static bool valid_codec_cap_check(struct bt_audio_codec_cap cap_array[], uint8_t num_caps) { - const struct bt_codec_data *element; + int ret; + bool valid_result = false; /* Only the sampling frequency is checked */ - for (int i = 0; i < size; i++) { - if (bt_codec_get_val(&cap_array[i], BT_CODEC_LC3_FREQ, &element)) { - if (element->data.data[0] & BT_AUDIO_CODEC_CAPABILIY_FREQ) { - return true; - } + for (int i = 0; i < num_caps; i++) { + + ret = bt_audio_data_parse(cap_array[i].data, cap_array[i].data_len, parse_cb, + &valid_result); + + if (ret != 0 || ret != -ECANCELED) { + /* TODO: Don't care */ } } - return false; + return valid_result; } static void discover_sink_cb(struct bt_conn *conn, int err, enum bt_audio_dir dir) @@ -867,7 +879,7 @@ static void discover_sink_cb(struct bt_conn *conn, int err, enum bt_audio_dir di /* At this point the location/channel index of the headset is always known */ for (int i = 0; i < CONFIG_CODEC_CAP_COUNT_MAX; i++) { memcpy(&headsets[channel_index].sink_codec_cap[i], - &temp_cap[temp_cap_index].codec[i], sizeof(struct bt_codec)); + &temp_cap[temp_cap_index].codec[i], sizeof(struct bt_audio_codec_cap)); } LOG_DBG("Sink discover complete"); @@ -875,17 +887,18 @@ static void discover_sink_cb(struct bt_conn *conn, int err, enum bt_audio_dir di if (valid_codec_cap_check(headsets[channel_index].sink_codec_cap, temp_cap[temp_cap_index].num_caps)) { if (conn == headsets[AUDIO_CH_L].headset_conn) { - bt_codec_allocation_set(&lc3_preset_sink.codec, - BT_AUDIO_LOCATION_FRONT_LEFT); + bt_audio_codec_allocation_set(&lc3_preset_sink.codec_cfg, + BT_AUDIO_LOCATION_FRONT_LEFT); } else if (conn == headsets[AUDIO_CH_R].headset_conn) { - bt_codec_allocation_set(&lc3_preset_sink.codec, - BT_AUDIO_LOCATION_FRONT_RIGHT); + bt_audio_codec_allocation_set(&lc3_preset_sink.codec_cfg, + BT_AUDIO_LOCATION_FRONT_RIGHT); } else { LOG_ERR("Unknown connection, cannot set allocation"); } ret = bt_bap_stream_config(conn, &headsets[channel_index].sink_stream, - headsets[channel_index].sink_ep, &lc3_preset_sink.codec); + headsets[channel_index].sink_ep, + &lc3_preset_sink.codec_cfg); if (ret) { LOG_ERR("Could not configure sink stream"); } @@ -937,7 +950,7 @@ static void discover_source_cb(struct bt_conn *conn, int err, enum bt_audio_dir /* At this point the location/channel index of the headset is always known */ for (int i = 0; i < temp_cap[temp_cap_index].num_caps; i++) { memcpy(&headsets[channel_index].source_codec_cap[i], - &temp_cap[temp_cap_index].codec[i], sizeof(struct bt_codec)); + &temp_cap[temp_cap_index].codec[i], sizeof(struct bt_audio_codec_cap)); } LOG_DBG("Source discover complete"); @@ -945,18 +958,18 @@ static void discover_source_cb(struct bt_conn *conn, int err, enum bt_audio_dir if (valid_codec_cap_check(headsets[channel_index].source_codec_cap, temp_cap[temp_cap_index].num_caps)) { if (conn == headsets[AUDIO_CH_L].headset_conn) { - bt_codec_allocation_set(&lc3_preset_source.codec, - BT_AUDIO_LOCATION_FRONT_LEFT); + bt_audio_codec_allocation_set(&lc3_preset_source.codec_cfg, + BT_AUDIO_LOCATION_FRONT_LEFT); } else if (conn == headsets[AUDIO_CH_R].headset_conn) { - bt_codec_allocation_set(&lc3_preset_source.codec, - BT_AUDIO_LOCATION_FRONT_RIGHT); + bt_audio_codec_allocation_set(&lc3_preset_source.codec_cfg, + BT_AUDIO_LOCATION_FRONT_RIGHT); } else { LOG_ERR("Unknown connection, cannot set allocation"); } ret = bt_bap_stream_config(conn, &headsets[channel_index].source_stream, headsets[channel_index].source_ep, - &lc3_preset_source.codec); + &lc3_preset_source.codec_cfg); if (ret) { LOG_WRN("Could not configure stream"); } @@ -1247,8 +1260,8 @@ int le_audio_play(void) if (ep_state_check(headsets[AUDIO_CH_L].sink_stream.ep, BT_BAP_EP_STATE_QOS_CONFIGURED)) { ret_left = bt_bap_stream_enable(&headsets[AUDIO_CH_L].sink_stream, - lc3_preset_sink.codec.meta, - lc3_preset_sink.codec.meta_count); + lc3_preset_sink.codec_cfg.meta, + lc3_preset_sink.codec_cfg.meta_len); if (ret_left) { LOG_WRN("Failed to enable left stream: %d", ret_left); @@ -1257,8 +1270,8 @@ int le_audio_play(void) if (ep_state_check(headsets[AUDIO_CH_R].sink_stream.ep, BT_BAP_EP_STATE_QOS_CONFIGURED)) { ret_right = bt_bap_stream_enable(&headsets[AUDIO_CH_R].sink_stream, - lc3_preset_sink.codec.meta, - lc3_preset_sink.codec.meta_count); + lc3_preset_sink.codec_cfg.meta, + lc3_preset_sink.codec_cfg.meta_len); if (ret_right) { LOG_WRN("Failed to enable right stream: %d", ret_right); diff --git a/applications/nrf5340_audio/src/bluetooth/le_audio_cis_headset.c b/applications/nrf5340_audio/src/bluetooth/le_audio_cis_headset.c index dea39e46a566..b3ba007dfb55 100644 --- a/applications/nrf5340_audio/src/bluetooth/le_audio_cis_headset.c +++ b/applications/nrf5340_audio/src/bluetooth/le_audio_cis_headset.c @@ -13,6 +13,7 @@ #include #include #include +#include /* TODO: Remove when a get_info function is implemented in host */ #include <../subsys/bluetooth/audio/bap_endpoint.h> @@ -27,7 +28,6 @@ LOG_MODULE_REGISTER(cis_headset, CONFIG_BLE_LOG_LEVEL); ZBUS_CHAN_DEFINE(le_audio_chan, struct le_audio_msg, NULL, NULL, ZBUS_OBSERVERS_EMPTY, ZBUS_MSG_INIT(0)); -#define CHANNEL_COUNT_1 BIT(0) #define BLE_ISO_LATENCY_MS 10 #define BLE_ISO_RETRANSMITS 2 @@ -112,9 +112,10 @@ struct bt_csip_set_member_register_param csip_param = { .cb = &csip_callbacks, }; -static struct bt_codec lc3_codec = BT_CODEC_LC3( - BT_AUDIO_CODEC_CAPABILIY_FREQ, (BT_CODEC_LC3_DURATION_10 | BT_CODEC_LC3_DURATION_PREFER_10), - CHANNEL_COUNT_1, LE_AUDIO_SDU_SIZE_OCTETS(CONFIG_LC3_BITRATE_MIN), +static struct bt_audio_codec_cap lc3_codec = BT_AUDIO_CODEC_CAP_LC3( + BT_AUDIO_CODEC_CAPABILIY_FREQ, + (BT_AUDIO_CODEC_LC3_DURATION_10 | BT_AUDIO_CODEC_LC3_DURATION_PREFER_10), + BT_AUDIO_CODEC_LC3_CHAN_COUNT_SUPPORT(1), LE_AUDIO_SDU_SIZE_OCTETS(CONFIG_LC3_BITRATE_MIN), LE_AUDIO_SDU_SIZE_OCTETS(CONFIG_LC3_BITRATE_MAX), 1u, BT_AUDIO_CONTEXT_TYPE_MEDIA); static enum bt_audio_dir caps_dirs[] = { @@ -124,7 +125,7 @@ static enum bt_audio_dir caps_dirs[] = { #endif /* (CONFIG_BT_AUDIO_TX) */ }; -static const struct bt_codec_qos_pref qos_pref = BT_CODEC_QOS_PREF( +static const struct bt_audio_codec_qos_pref qos_pref = BT_AUDIO_CODEC_QOS_PREF( true, BT_GAP_LE_PHY_2M, BLE_ISO_RETRANSMITS, BLE_ISO_LATENCY_MS, CONFIG_AUDIO_MIN_PRES_DLY_US, CONFIG_AUDIO_MAX_PRES_DLY_US, CONFIG_BT_AUDIO_PREFERRED_MIN_PRES_DLY_US, CONFIG_BT_AUDIO_PREFERRED_MAX_PRES_DLY_US); @@ -132,11 +133,11 @@ static const struct bt_codec_qos_pref qos_pref = BT_CODEC_QOS_PREF( /* clang-format off */ static struct bt_pacs_cap caps[] = { { - .codec = &lc3_codec, + .codec_cap = &lc3_codec, }, #if (CONFIG_BT_AUDIO_TX) { - .codec = &lc3_codec, + .codec_cap = &lc3_codec, } #endif /* (CONFIG_BT_AUDIO_TX) */ }; @@ -157,9 +158,9 @@ static struct bt_audio_source { /* Left or right channel headset */ static enum audio_channel channel; -static void print_codec(const struct bt_codec *codec, enum bt_audio_dir dir) +static void print_codec(const struct bt_audio_codec_cfg *codec, enum bt_audio_dir dir) { - if (codec->id == BT_CODEC_LC3_ID) { + if (codec->id == BT_AUDIO_CODEC_LC3_ID) { /* LC3 uses the generic LTV format - other codecs might do as well */ enum bt_audio_location chan_allocation; @@ -171,26 +172,27 @@ static void print_codec(const struct bt_codec *codec, enum bt_audio_dir dir) LOG_INF("LC3 codec config for :"); } - LOG_INF("\tFrequency: %d Hz", bt_codec_cfg_get_freq(codec)); - LOG_INF("\tFrame Duration: %d us", bt_codec_cfg_get_frame_duration_us(codec)); - if (bt_codec_cfg_get_chan_allocation_val(codec, &chan_allocation) == 0) { + LOG_INF("\tFrequency: %d Hz", bt_audio_codec_cfg_get_freq(codec)); + LOG_INF("\tFrame Duration: %d us", bt_audio_codec_cfg_get_frame_duration_us(codec)); + if (bt_audio_codec_cfg_get_chan_allocation_val(codec, &chan_allocation) == 0) { LOG_INF("\tChannel allocation: 0x%x", chan_allocation); } - uint32_t octets_per_sdu = bt_codec_cfg_get_octets_per_frame(codec); - uint32_t bitrate = - octets_per_sdu * 8 * (1000000 / bt_codec_cfg_get_frame_duration_us(codec)); + uint32_t octets_per_sdu = bt_audio_codec_cfg_get_octets_per_frame(codec); + uint32_t bitrate = octets_per_sdu * 8 * + (1000000 / bt_audio_codec_cfg_get_frame_duration_us(codec)); LOG_INF("\tOctets per frame: %d (%d bps)", octets_per_sdu, bitrate); - LOG_INF("\tFrames per SDU: %d", bt_codec_cfg_get_frame_blocks_per_sdu(codec, true)); + LOG_INF("\tFrames per SDU: %d", + bt_audio_codec_cfg_get_frame_blocks_per_sdu(codec, true)); } else { LOG_WRN("Codec is not LC3, codec_id: 0x%2x", codec->id); } } static int lc3_config_cb(struct bt_conn *conn, const struct bt_bap_ep *ep, enum bt_audio_dir dir, - const struct bt_codec *codec, struct bt_bap_stream **stream, - struct bt_codec_qos_pref *const pref, struct bt_bap_ascs_rsp *rsp) + const struct bt_audio_codec_cfg *codec, struct bt_bap_stream **stream, + struct bt_audio_codec_qos_pref *const pref, struct bt_bap_ascs_rsp *rsp) { LOG_DBG("LC3 config callback"); @@ -200,7 +202,7 @@ static int lc3_config_cb(struct bt_conn *conn, const struct bt_bap_ep *ep, enum if (!audio_stream->conn) { LOG_DBG("ASE Codec Config stream %p", (void *)audio_stream); - uint32_t octets_per_sdu = bt_codec_cfg_get_octets_per_frame(codec); + uint32_t octets_per_sdu = bt_audio_codec_cfg_get_octets_per_frame(codec); if (octets_per_sdu > LE_AUDIO_SDU_SIZE_OCTETS(CONFIG_LC3_BITRATE_MAX)) { LOG_WRN("Too high bitrate"); @@ -243,15 +245,15 @@ static int lc3_config_cb(struct bt_conn *conn, const struct bt_bap_ep *ep, enum } static int lc3_reconfig_cb(struct bt_bap_stream *stream, enum bt_audio_dir dir, - const struct bt_codec *codec, struct bt_codec_qos_pref *const pref, - struct bt_bap_ascs_rsp *rsp) + const struct bt_audio_codec_cfg *codec, + struct bt_audio_codec_qos_pref *const pref, struct bt_bap_ascs_rsp *rsp) { LOG_DBG("ASE Codec Reconfig: stream %p", (void *)stream); return 0; } -static int lc3_qos_cb(struct bt_bap_stream *stream, const struct bt_codec_qos *qos, +static int lc3_qos_cb(struct bt_bap_stream *stream, const struct bt_audio_codec_qos *qos, struct bt_bap_ascs_rsp *rsp) { le_audio_event_publish(LE_AUDIO_EVT_PRES_DELAY_SET, stream->conn); @@ -261,10 +263,10 @@ static int lc3_qos_cb(struct bt_bap_stream *stream, const struct bt_codec_qos *q return 0; } -static int lc3_enable_cb(struct bt_bap_stream *stream, const struct bt_codec_data *meta, - size_t meta_count, struct bt_bap_ascs_rsp *rsp) +static int lc3_enable_cb(struct bt_bap_stream *stream, const uint8_t *meta, size_t meta_len, + struct bt_bap_ascs_rsp *rsp) { - LOG_DBG("Enable: stream %p meta_count %d", (void *)stream, meta_count); + LOG_DBG("Enable: stream %p meta_len %d", (void *)stream, meta_len); return 0; } @@ -275,10 +277,10 @@ static int lc3_start_cb(struct bt_bap_stream *stream, struct bt_bap_ascs_rsp *rs return 0; } -static int lc3_metadata_cb(struct bt_bap_stream *stream, const struct bt_codec_data *meta, - size_t meta_count, struct bt_bap_ascs_rsp *rsp) +static int lc3_metadata_cb(struct bt_bap_stream *stream, const uint8_t *meta, size_t meta_len, + struct bt_bap_ascs_rsp *rsp) { - LOG_DBG("Metadata: stream %p meta_count %d", (void *)stream, meta_count); + LOG_DBG("Metadata: stream %p meta_len %d", (void *)stream, meta_len); return 0; } @@ -343,7 +345,7 @@ static void stream_recv_cb(struct bt_bap_stream *stream, const struct bt_iso_rec } receive_cb(buf->data, buf->len, bad_frame, info->ts, channel, - bt_codec_cfg_get_octets_per_frame(stream->codec)); + bt_audio_codec_cfg_get_octets_per_frame(stream->codec_cfg)); } static void stream_start_cb(struct bt_bap_stream *stream) @@ -565,17 +567,19 @@ int le_audio_config_get(uint32_t *bitrate, uint32_t *sampling_rate, uint32_t *pr return -ENXIO; } - if (audio_streams[0].codec == NULL) { + if (audio_streams[0].codec_cfg == NULL) { LOG_ERR("No codec found for the stream"); return -ENXIO; } /* Get the configuration for the sink stream */ - int frames_per_sec = 1000000 / bt_codec_cfg_get_frame_duration_us(audio_streams[0].codec); - int bits_per_frame = bt_codec_cfg_get_octets_per_frame(audio_streams[0].codec) * 8; + int frames_per_sec = + 1000000 / bt_audio_codec_cfg_get_frame_duration_us(audio_streams[0].codec_cfg); + int bits_per_frame = + bt_audio_codec_cfg_get_octets_per_frame(audio_streams[0].codec_cfg) * 8; if (sampling_rate != NULL) { - *sampling_rate = bt_codec_cfg_get_freq(audio_streams[0].codec); + *sampling_rate = bt_audio_codec_cfg_get_freq(audio_streams[0].codec_cfg); } if (bitrate != NULL) { diff --git a/applications/nrf5340_audio/src/modules/audio_usb.c b/applications/nrf5340_audio/src/modules/audio_usb.c index 1dc0b38daedb..2d68d2322d57 100644 --- a/applications/nrf5340_audio/src/modules/audio_usb.c +++ b/applications/nrf5340_audio/src/modules/audio_usb.c @@ -49,7 +49,7 @@ static void data_write(const struct device *dev) } memcpy(buf_out->data, data_out, data_out_size); - data_fifo_block_free(fifo_tx, &data_out); + data_fifo_block_free(fifo_tx, data_out); if (data_out_size == usb_audio_get_in_frame_size(dev)) { ret = usb_audio_send(dev, buf_out, data_out_size); @@ -99,7 +99,7 @@ static void data_received(const struct device *dev, struct net_buf *buffer, size ret = data_fifo_pointer_last_filled_get(fifo_rx, &temp, &temp_size, K_NO_WAIT); ERR_CHK(ret); - data_fifo_block_free(fifo_rx, &temp); + data_fifo_block_free(fifo_rx, temp); ret = data_fifo_pointer_first_vacant_get(fifo_rx, &data_in, K_NO_WAIT); } diff --git a/applications/nrf_desktop/CMakeLists.txt b/applications/nrf_desktop/CMakeLists.txt index 7802d49e9250..8fca1ee76972 100644 --- a/applications/nrf_desktop/CMakeLists.txt +++ b/applications/nrf_desktop/CMakeLists.txt @@ -55,6 +55,10 @@ if(NOT SYSBUILD AND NOT CONFIG_NCS_IS_VARIANT_IMAGE) endif() endif() +if (CONFIG_IMG_MANAGER) + zephyr_library_link_libraries(MCUBOOT_BOOTUTIL) +endif() + if(CONFIG_DESKTOP_CONFIG_CHANNEL_ENABLE) zephyr_linker_sources(SECTIONS nrf_desktop.ld) endif() diff --git a/applications/nrf_desktop/Kconfig.defaults b/applications/nrf_desktop/Kconfig.defaults index c37dfb7b3f87..fc1d0452b285 100644 --- a/applications/nrf_desktop/Kconfig.defaults +++ b/applications/nrf_desktop/Kconfig.defaults @@ -15,3 +15,9 @@ config DESKTOP_COMMON_MODULES default y imply DESKTOP_SETTINGS_LOADER imply DESKTOP_POWER_MANAGER + +choice LIBC_IMPLEMENTATION + default MINIMAL_LIBC + help + Use minimal libc implementation to reduce memory footprint. +endchoice diff --git a/applications/nrf_desktop/configuration/nrf52820dongle_nrf52820/child_image/mcuboot/prj_release.conf b/applications/nrf_desktop/configuration/nrf52820dongle_nrf52820/child_image/mcuboot/prj_release.conf index 5a3f05d6ff39..4a876367217f 100644 --- a/applications/nrf_desktop/configuration/nrf52820dongle_nrf52820/child_image/mcuboot/prj_release.conf +++ b/applications/nrf_desktop/configuration/nrf52820dongle_nrf52820/child_image/mcuboot/prj_release.conf @@ -15,7 +15,6 @@ CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h" CONFIG_BOOT_BOOTSTRAP=n -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=n CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private.pem" @@ -34,6 +33,7 @@ CONFIG_UART_INTERRUPT_DRIVEN=y # MCUBoot serial CONFIG_GPIO=y +CONFIG_GPIO_NRFX_INTERRUPT=n CONFIG_MCUBOOT_SERIAL=y CONFIG_BOOT_SERIAL_CDC_ACM=y CONFIG_BOOT_SERIAL_UART=n @@ -49,8 +49,6 @@ CONFIG_USB_DEVICE_PID=0x52DF CONFIG_USB_DEVICE_STACK=y CONFIG_USB_DEVICE_REMOTE_WAKEUP=n CONFIG_USB_CDC_ACM=y -CONFIG_USB_COMPOSITE_DEVICE=n -CONFIG_USB_MASS_STORAGE=n # Decrease memory footprint CONFIG_CBPRINTF_NANO=y @@ -62,3 +60,6 @@ CONFIG_BOOT_BANNER=n CONFIG_ERRNO=n CONFIG_ARM_MPU=n CONFIG_BOOT_SERIAL_IMG_GRP_HASH=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52833dk_nrf52820/child_image/mcuboot/prj_release.conf b/applications/nrf_desktop/configuration/nrf52833dk_nrf52820/child_image/mcuboot/prj_release.conf index ff51b7d3ef7e..6fb19a473b95 100644 --- a/applications/nrf_desktop/configuration/nrf52833dk_nrf52820/child_image/mcuboot/prj_release.conf +++ b/applications/nrf_desktop/configuration/nrf52833dk_nrf52820/child_image/mcuboot/prj_release.conf @@ -15,7 +15,6 @@ CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h" CONFIG_BOOT_BOOTSTRAP=n -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=n CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private.pem" @@ -34,6 +33,7 @@ CONFIG_UART_INTERRUPT_DRIVEN=y # MCUBoot serial CONFIG_GPIO=y +CONFIG_GPIO_NRFX_INTERRUPT=n CONFIG_MCUBOOT_SERIAL=y CONFIG_BOOT_SERIAL_CDC_ACM=y CONFIG_BOOT_SERIAL_UART=n @@ -49,8 +49,6 @@ CONFIG_USB_DEVICE_PID=0x52DF CONFIG_USB_DEVICE_STACK=y CONFIG_USB_DEVICE_REMOTE_WAKEUP=n CONFIG_USB_CDC_ACM=y -CONFIG_USB_COMPOSITE_DEVICE=n -CONFIG_USB_MASS_STORAGE=n # Decrease memory footprint CONFIG_CBPRINTF_NANO=y @@ -66,3 +64,6 @@ CONFIG_BOOT_BANNER=n CONFIG_ERRNO=n CONFIG_ARM_MPU=n CONFIG_BOOT_SERIAL_IMG_GRP_HASH=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52833dk_nrf52833/child_image/mcuboot/prj.conf b/applications/nrf_desktop/configuration/nrf52833dk_nrf52833/child_image/mcuboot/prj.conf index c6ecb379befa..c8ef04e1c00e 100644 --- a/applications/nrf_desktop/configuration/nrf52833dk_nrf52833/child_image/mcuboot/prj.conf +++ b/applications/nrf_desktop/configuration/nrf52833dk_nrf52833/child_image/mcuboot/prj.conf @@ -15,7 +15,6 @@ CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h" CONFIG_BOOT_BOOTSTRAP=n -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=n CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private.pem" @@ -34,6 +33,7 @@ CONFIG_UART_INTERRUPT_DRIVEN=y # MCUBoot serial CONFIG_GPIO=y +CONFIG_GPIO_NRFX_INTERRUPT=n CONFIG_MCUBOOT_SERIAL=y CONFIG_BOOT_SERIAL_CDC_ACM=y CONFIG_BOOT_SERIAL_UART=n @@ -49,8 +49,6 @@ CONFIG_USB_DEVICE_PID=0x52DF CONFIG_USB_DEVICE_STACK=y CONFIG_USB_DEVICE_REMOTE_WAKEUP=n CONFIG_USB_CDC_ACM=y -CONFIG_USB_COMPOSITE_DEVICE=n -CONFIG_USB_MASS_STORAGE=n # Logger CONFIG_USE_SEGGER_RTT=y @@ -63,3 +61,6 @@ CONFIG_LOG_MODE_IMMEDIATE=y CONFIG_LOG_BACKEND_SHOW_COLOR=n CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP=n CONFIG_BOOT_BANNER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52833dk_nrf52833/child_image/mcuboot/prj_release.conf b/applications/nrf_desktop/configuration/nrf52833dk_nrf52833/child_image/mcuboot/prj_release.conf index f9cb5e20967d..ad1009efaeed 100644 --- a/applications/nrf_desktop/configuration/nrf52833dk_nrf52833/child_image/mcuboot/prj_release.conf +++ b/applications/nrf_desktop/configuration/nrf52833dk_nrf52833/child_image/mcuboot/prj_release.conf @@ -15,7 +15,6 @@ CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h" CONFIG_BOOT_BOOTSTRAP=n -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=n CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private.pem" @@ -36,6 +35,7 @@ CONFIG_UART_INTERRUPT_DRIVEN=y # MCUBoot serial CONFIG_GPIO=y +CONFIG_GPIO_NRFX_INTERRUPT=n CONFIG_MCUBOOT_SERIAL=y CONFIG_BOOT_SERIAL_CDC_ACM=y CONFIG_BOOT_SERIAL_UART=n @@ -51,8 +51,6 @@ CONFIG_USB_DEVICE_PID=0x52DF CONFIG_USB_DEVICE_STACK=y CONFIG_USB_DEVICE_REMOTE_WAKEUP=n CONFIG_USB_CDC_ACM=y -CONFIG_USB_COMPOSITE_DEVICE=n -CONFIG_USB_MASS_STORAGE=n # Decrease memory footprint CONFIG_CBPRINTF_NANO=y @@ -60,3 +58,6 @@ CONFIG_UART_USE_RUNTIME_CONFIGURE=n CONFIG_UART_LINE_CTRL=n CONFIG_TIMESLICING=n CONFIG_BOOT_BANNER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52833dongle_nrf52833/child_image/mcuboot/prj.conf b/applications/nrf_desktop/configuration/nrf52833dongle_nrf52833/child_image/mcuboot/prj.conf index c6ecb379befa..c8ef04e1c00e 100644 --- a/applications/nrf_desktop/configuration/nrf52833dongle_nrf52833/child_image/mcuboot/prj.conf +++ b/applications/nrf_desktop/configuration/nrf52833dongle_nrf52833/child_image/mcuboot/prj.conf @@ -15,7 +15,6 @@ CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h" CONFIG_BOOT_BOOTSTRAP=n -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=n CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private.pem" @@ -34,6 +33,7 @@ CONFIG_UART_INTERRUPT_DRIVEN=y # MCUBoot serial CONFIG_GPIO=y +CONFIG_GPIO_NRFX_INTERRUPT=n CONFIG_MCUBOOT_SERIAL=y CONFIG_BOOT_SERIAL_CDC_ACM=y CONFIG_BOOT_SERIAL_UART=n @@ -49,8 +49,6 @@ CONFIG_USB_DEVICE_PID=0x52DF CONFIG_USB_DEVICE_STACK=y CONFIG_USB_DEVICE_REMOTE_WAKEUP=n CONFIG_USB_CDC_ACM=y -CONFIG_USB_COMPOSITE_DEVICE=n -CONFIG_USB_MASS_STORAGE=n # Logger CONFIG_USE_SEGGER_RTT=y @@ -63,3 +61,6 @@ CONFIG_LOG_MODE_IMMEDIATE=y CONFIG_LOG_BACKEND_SHOW_COLOR=n CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP=n CONFIG_BOOT_BANNER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52833dongle_nrf52833/child_image/mcuboot/prj_release.conf b/applications/nrf_desktop/configuration/nrf52833dongle_nrf52833/child_image/mcuboot/prj_release.conf index aaf987581895..74bc334342d2 100644 --- a/applications/nrf_desktop/configuration/nrf52833dongle_nrf52833/child_image/mcuboot/prj_release.conf +++ b/applications/nrf_desktop/configuration/nrf52833dongle_nrf52833/child_image/mcuboot/prj_release.conf @@ -15,7 +15,6 @@ CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h" CONFIG_BOOT_BOOTSTRAP=n -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=n CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private.pem" @@ -34,6 +33,7 @@ CONFIG_UART_INTERRUPT_DRIVEN=y # MCUBoot serial CONFIG_GPIO=y +CONFIG_GPIO_NRFX_INTERRUPT=n CONFIG_MCUBOOT_SERIAL=y CONFIG_BOOT_SERIAL_CDC_ACM=y CONFIG_BOOT_SERIAL_UART=n @@ -49,8 +49,6 @@ CONFIG_USB_DEVICE_PID=0x52DF CONFIG_USB_DEVICE_STACK=y CONFIG_USB_DEVICE_REMOTE_WAKEUP=n CONFIG_USB_CDC_ACM=y -CONFIG_USB_COMPOSITE_DEVICE=n -CONFIG_USB_MASS_STORAGE=n # Decrease memory footprint CONFIG_CBPRINTF_NANO=y @@ -59,3 +57,6 @@ CONFIG_UART_LINE_CTRL=n CONFIG_TIMESLICING=n CONFIG_PRINTK=n CONFIG_BOOT_BANNER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj.conf b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj.conf index c98738ce9a68..a3ee72771a61 100644 --- a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj.conf +++ b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj.conf @@ -34,3 +34,6 @@ CONFIG_UART_CONSOLE=n CONFIG_SERIAL=n CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_dongle.conf b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_dongle.conf index c98738ce9a68..a3ee72771a61 100644 --- a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_dongle.conf +++ b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_dongle.conf @@ -34,3 +34,6 @@ CONFIG_UART_CONSOLE=n CONFIG_SERIAL=n CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_keyboard.conf b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_keyboard.conf index c98738ce9a68..a3ee72771a61 100644 --- a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_keyboard.conf +++ b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_keyboard.conf @@ -34,3 +34,6 @@ CONFIG_UART_CONSOLE=n CONFIG_SERIAL=n CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_release.conf b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_release.conf index c98738ce9a68..a3ee72771a61 100644 --- a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_release.conf +++ b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_release.conf @@ -34,3 +34,6 @@ CONFIG_UART_CONSOLE=n CONFIG_SERIAL=n CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_wwcb.conf b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_wwcb.conf index db9483159121..58405ded7bec 100644 --- a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_wwcb.conf +++ b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/b0/prj_wwcb.conf @@ -34,3 +34,6 @@ CONFIG_UART_CONSOLE=n CONFIG_SERIAL=n CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/mcuboot/prj_fast_pair.conf b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/mcuboot/prj_fast_pair.conf index 7b9e2d511045..f521215e567a 100644 --- a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/mcuboot/prj_fast_pair.conf +++ b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/mcuboot/prj_fast_pair.conf @@ -19,7 +19,6 @@ CONFIG_BOOT_BOOTSTRAP=n CONFIG_BOOT_DIRECT_XIP=y CONFIG_BOOT_VERSION_CMP_USE_BUILD_NUMBER=y -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=n CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private_fast_pair.pem" @@ -37,3 +36,6 @@ CONFIG_CONSOLE=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_NORDIC_QSPI_NOR=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/mcuboot/prj_mcuboot_qspi.conf b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/mcuboot/prj_mcuboot_qspi.conf index fbca16a96674..3d7776f69ef9 100644 --- a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/mcuboot/prj_mcuboot_qspi.conf +++ b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/mcuboot/prj_mcuboot_qspi.conf @@ -15,7 +15,6 @@ CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h" CONFIG_BOOT_BOOTSTRAP=n -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=n CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private.pem" @@ -43,3 +42,6 @@ CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP=n CONFIG_TIMESLICING=n CONFIG_CBPRINTF_NANO=y CONFIG_BOOT_BANNER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/mcuboot/prj_mcuboot_smp.conf b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/mcuboot/prj_mcuboot_smp.conf index 025d02232925..a91b75629210 100644 --- a/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/mcuboot/prj_mcuboot_smp.conf +++ b/applications/nrf_desktop/configuration/nrf52840dk_nrf52840/child_image/mcuboot/prj_mcuboot_smp.conf @@ -16,7 +16,6 @@ CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h" CONFIG_BOOT_MAX_IMG_SECTORS=256 CONFIG_BOOT_BOOTSTRAP=n -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=n CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private.pem" @@ -35,3 +34,6 @@ CONFIG_LOG_MODE_IMMEDIATE=y CONFIG_LOG_BACKEND_SHOW_COLOR=n CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP=n CONFIG_BOOT_BANNER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj.conf b/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj.conf index 546b65ee9495..6ee3750dd862 100644 --- a/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj.conf +++ b/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj.conf @@ -40,3 +40,6 @@ CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n CONFIG_BOARD_HAS_NRF5_BOOTLOADER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_3bleconn.conf b/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_3bleconn.conf index 546b65ee9495..6ee3750dd862 100644 --- a/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_3bleconn.conf +++ b/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_3bleconn.conf @@ -40,3 +40,6 @@ CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n CONFIG_BOARD_HAS_NRF5_BOOTLOADER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_4llpmconn.conf b/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_4llpmconn.conf index 546b65ee9495..6ee3750dd862 100644 --- a/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_4llpmconn.conf +++ b/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_4llpmconn.conf @@ -40,3 +40,6 @@ CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n CONFIG_BOARD_HAS_NRF5_BOOTLOADER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_release.conf b/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_release.conf index 546b65ee9495..6ee3750dd862 100644 --- a/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_release.conf +++ b/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_release.conf @@ -40,3 +40,6 @@ CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n CONFIG_BOARD_HAS_NRF5_BOOTLOADER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_release_4llpmconn.conf b/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_release_4llpmconn.conf index 546b65ee9495..6ee3750dd862 100644 --- a/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_release_4llpmconn.conf +++ b/applications/nrf_desktop/configuration/nrf52840dongle_nrf52840/child_image/b0/prj_release_4llpmconn.conf @@ -40,3 +40,6 @@ CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n CONFIG_BOARD_HAS_NRF5_BOOTLOADER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/b0/prj.conf b/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/b0/prj.conf index c98738ce9a68..a3ee72771a61 100644 --- a/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/b0/prj.conf +++ b/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/b0/prj.conf @@ -34,3 +34,6 @@ CONFIG_UART_CONSOLE=n CONFIG_SERIAL=n CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/b0/prj_release.conf b/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/b0/prj_release.conf index c98738ce9a68..a3ee72771a61 100644 --- a/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/b0/prj_release.conf +++ b/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/b0/prj_release.conf @@ -34,3 +34,6 @@ CONFIG_UART_CONSOLE=n CONFIG_SERIAL=n CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/mcuboot/prj_fast_pair.conf b/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/mcuboot/prj_fast_pair.conf index d201287e5893..ba545b2ddf9d 100644 --- a/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/mcuboot/prj_fast_pair.conf +++ b/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/mcuboot/prj_fast_pair.conf @@ -19,7 +19,6 @@ CONFIG_BOOT_BOOTSTRAP=n CONFIG_BOOT_DIRECT_XIP=y CONFIG_BOOT_VERSION_CMP_USE_BUILD_NUMBER=y -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=n CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private_fast_pair.pem" @@ -31,3 +30,6 @@ CONFIG_SOC_FLASH_NRF_EMULATE_ONE_BYTE_WRITE_ACCESS=y # Reduce memory consumption CONFIG_BOOT_BANNER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/mcuboot/prj_mcuboot_smp.conf b/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/mcuboot/prj_mcuboot_smp.conf index 8ab64fbfea7b..89196cf3715c 100644 --- a/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/mcuboot/prj_mcuboot_smp.conf +++ b/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/mcuboot/prj_mcuboot_smp.conf @@ -14,7 +14,6 @@ CONFIG_MAIN_STACK_SIZE=10240 CONFIG_BOOT_BOOTSTRAP=n -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=y CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private.pem" @@ -37,3 +36,6 @@ CONFIG_CBPRINTF_NANO=y CONFIG_TIMESLICING=n CONFIG_ARM_MPU=n CONFIG_THREAD_STACK_INFO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/mcuboot/prj_release_fast_pair.conf b/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/mcuboot/prj_release_fast_pair.conf index d201287e5893..ba545b2ddf9d 100644 --- a/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/mcuboot/prj_release_fast_pair.conf +++ b/applications/nrf_desktop/configuration/nrf52840gmouse_nrf52840/child_image/mcuboot/prj_release_fast_pair.conf @@ -19,7 +19,6 @@ CONFIG_BOOT_BOOTSTRAP=n CONFIG_BOOT_DIRECT_XIP=y CONFIG_BOOT_VERSION_CMP_USE_BUILD_NUMBER=y -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=n CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private_fast_pair.pem" @@ -31,3 +30,6 @@ CONFIG_SOC_FLASH_NRF_EMULATE_ONE_BYTE_WRITE_ACCESS=y # Reduce memory consumption CONFIG_BOOT_BANNER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52kbd_nrf52832/child_image/b0/prj_release.conf b/applications/nrf_desktop/configuration/nrf52kbd_nrf52832/child_image/b0/prj_release.conf index c98738ce9a68..a3ee72771a61 100644 --- a/applications/nrf_desktop/configuration/nrf52kbd_nrf52832/child_image/b0/prj_release.conf +++ b/applications/nrf_desktop/configuration/nrf52kbd_nrf52832/child_image/b0/prj_release.conf @@ -34,3 +34,6 @@ CONFIG_UART_CONSOLE=n CONFIG_SERIAL=n CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf52kbd_nrf52832/child_image/mcuboot/prj_release_fast_pair.conf b/applications/nrf_desktop/configuration/nrf52kbd_nrf52832/child_image/mcuboot/prj_release_fast_pair.conf index d201287e5893..ba545b2ddf9d 100644 --- a/applications/nrf_desktop/configuration/nrf52kbd_nrf52832/child_image/mcuboot/prj_release_fast_pair.conf +++ b/applications/nrf_desktop/configuration/nrf52kbd_nrf52832/child_image/mcuboot/prj_release_fast_pair.conf @@ -19,7 +19,6 @@ CONFIG_BOOT_BOOTSTRAP=n CONFIG_BOOT_DIRECT_XIP=y CONFIG_BOOT_VERSION_CMP_USE_BUILD_NUMBER=y -CONFIG_BOOT_ENCRYPT_RSA=n CONFIG_BOOT_SIGNATURE_TYPE_RSA=y CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=n CONFIG_BOOT_SIGNATURE_KEY_FILE="mcuboot_private_fast_pair.pem" @@ -31,3 +30,6 @@ CONFIG_SOC_FLASH_NRF_EMULATE_ONE_BYTE_WRITE_ACCESS=y # Reduce memory consumption CONFIG_BOOT_BANNER=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/b0/prj.conf b/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/b0/prj.conf index e438ca1fd7d1..569e6cec4c7d 100644 --- a/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/b0/prj.conf +++ b/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/b0/prj.conf @@ -35,5 +35,8 @@ CONFIG_SERIAL=n CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y + # The anomaly 160 workaround is not needed for the bootloader. CONFIG_SOC_NRF53_ANOMALY_160_WORKAROUND_NEEDED=n diff --git a/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/b0/prj_release.conf b/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/b0/prj_release.conf index e438ca1fd7d1..569e6cec4c7d 100644 --- a/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/b0/prj_release.conf +++ b/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/b0/prj_release.conf @@ -35,5 +35,8 @@ CONFIG_SERIAL=n CONFIG_UART_INTERRUPT_DRIVEN=n CONFIG_ASSERT=n +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y + # The anomaly 160 workaround is not needed for the bootloader. CONFIG_SOC_NRF53_ANOMALY_160_WORKAROUND_NEEDED=n diff --git a/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/hci_rpmsg/prj.conf b/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/hci_rpmsg/prj.conf index 9a594427abc6..bf0d0e351d10 100644 --- a/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/hci_rpmsg/prj.conf +++ b/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/hci_rpmsg/prj.conf @@ -33,3 +33,6 @@ CONFIG_BT_CTLR_SDC_MAX_CONN_EVENT_LEN_DEFAULT=3000 CONFIG_ASSERT=y CONFIG_DEBUG_INFO=y CONFIG_EXCEPTION_STACK_TRACE=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/hci_rpmsg/prj_release.conf b/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/hci_rpmsg/prj_release.conf index 6acbafc8ddce..7a49453f731f 100644 --- a/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/hci_rpmsg/prj_release.conf +++ b/applications/nrf_desktop/configuration/nrf5340dk_nrf5340_cpuapp/child_image/hci_rpmsg/prj_release.conf @@ -29,3 +29,6 @@ CONFIG_BT_BUF_ACL_RX_SIZE=69 CONFIG_BT_BUF_ACL_TX_SIZE=35 CONFIG_BT_CTLR_DATA_LENGTH_MAX=35 CONFIG_BT_CTLR_SDC_MAX_CONN_EVENT_LEN_DEFAULT=3000 + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/applications/nrf_desktop/src/modules/Kconfig.dfu_mcumgr b/applications/nrf_desktop/src/modules/Kconfig.dfu_mcumgr index d6684c83c707..20be006809e9 100644 --- a/applications/nrf_desktop/src/modules/Kconfig.dfu_mcumgr +++ b/applications/nrf_desktop/src/modules/Kconfig.dfu_mcumgr @@ -20,6 +20,7 @@ menuconfig DESKTOP_DFU_MCUMGR_ENABLE select ZCBOR select CRC select IMG_MANAGER + select MCUBOOT_BOOTUTIL_LIB select STREAM_FLASH select FLASH_MAP select FLASH diff --git a/applications/serial_lte_modem/src/slm_uart_handler.c b/applications/serial_lte_modem/src/slm_uart_handler.c index 6a7bd30af1d7..77f7335fb479 100644 --- a/applications/serial_lte_modem/src/slm_uart_handler.c +++ b/applications/serial_lte_modem/src/slm_uart_handler.c @@ -110,7 +110,7 @@ static void rx_buf_unref(void *buf) /* ref_counter is the uart_buf->ref_counter value prior to decrement */ if (ref_counter == 1) { - k_mem_slab_free(&rx_slab, (void **)&uart_buf); + k_mem_slab_free(&rx_slab, (void *)uart_buf); } } diff --git a/cmake/sysbuild/partition_manager.cmake b/cmake/sysbuild/partition_manager.cmake index c7d7e8ad3c72..1f354979fd8c 100644 --- a/cmake/sysbuild/partition_manager.cmake +++ b/cmake/sysbuild/partition_manager.cmake @@ -37,11 +37,11 @@ function(partition_manager) cmake_parse_arguments(PM "" "DOMAIN" "IN_FILES;REGIONS" ${ARGN}) if(DEFINED PM_DOMAIN) - set(image_name ${DOMAIN_APP_${PM_DOMAIN}}) + get_property(image_name GLOBAL PROPERTY DOMAIN_APP_${PM_DOMAIN}) set(user_def_pm_static ${${image_name}_PM_STATIC_YML_FILE}) else() set(user_def_pm_static ${PM_STATIC_YML_FILE}) - set(image_name ${DOMAIN_APP_APP}) + get_property(image_name GLOBAL PROPERTY DOMAIN_APP_APP) endif() sysbuild_get(${image_name}_APPLICATION_CONFIG_DIR IMAGE ${image_name} VAR APPLICATION_CONFIG_DIR CACHE) @@ -174,7 +174,7 @@ function(partition_manager) foreach(part ${PM_ALL_BY_SIZE}) if(${part} STREQUAL "app") if(DEFINED PM_DOMAIN) - set(part "${DOMAIN_APP_${PM_DOMAIN}}") + get_property(part GLOBAL PROPERTY DOMAIN_APP_${PM_DOMAIN}) else() set(part "${DEFAULT_IMAGE}") endif() @@ -268,7 +268,8 @@ function(partition_manager) ) if (DEFINED PM_DOMAIN) - update_runner(IMAGE ${DOMAIN_APP_${PM_DOMAIN}} HEX ${PROJECT_BINARY_DIR}/${container}.hex) + get_property(image_name GLOBAL PROPERTY DOMAIN_APP_${PM_DOMAIN}) + update_runner(IMAGE ${image_name} HEX ${PROJECT_BINARY_DIR}/${container}.hex) endif() if ("${container}" STREQUAL "merged") @@ -311,6 +312,7 @@ endfunction() # APP is a special domain which is handled differently. # Remove it from the list. +get_property(PM_DOMAINS GLOBAL PROPERTY PM_DOMAINS) list(REMOVE_ITEM PM_DOMAINS APP) ## Check if current image is the dynamic partition in its domain. @@ -327,7 +329,6 @@ list(REMOVE_ITEM PM_DOMAINS APP) get_property(PM_IMAGES GLOBAL PROPERTY PM_IMAGES) get_property(PM_SUBSYS_PREPROCESSED GLOBAL PROPERTY PM_SUBSYS_PREPROCESSED) -#get_property(PM_DOMAINS GLOBAL PROPERTY PM_DOMAINS) # This file is executed once per domain. # @@ -392,6 +393,7 @@ foreach (image ${IMAGES}) # Special handling of `app_image` as this must be added as `:app` for historic reasons. # `:app` is handled below. foreach (d ${PM_DOMAINS}) + get_property(PM_${d}_IMAGES GLOBAL PROPERTY PM_${d}_IMAGES) if(${image} IN_LIST PM_${d}_IMAGES) set(domain ${d}) break() @@ -405,7 +407,8 @@ foreach (image ${IMAGES}) list(APPEND prefixed_images ${domain}:${image}) list(APPEND images ${image}) list(APPEND header_files ${${image}_binary_dir}/${generated_path}/pm_config.h) - if(NOT DEFINED domain OR "${DOMAIN_APP_${domain}}" STREQUAL "${image}") + get_property(domain_app GLOBAL PROPERTY DOMAIN_APP_${domain}) + if(NOT DEFINED domain OR "${domain_app}" STREQUAL "${image}") list(APPEND input_files ${${image}_input_files}) endif() endif() @@ -425,7 +428,9 @@ endforeach() list(APPEND input_files ${${DEFAULT_IMAGE}_binary_dir}/${generated_path}/pm.yml) foreach (d ${PM_DOMAINS}) + get_property(PM_${d}_IMAGES GLOBAL PROPERTY PM_${d}_IMAGES) foreach (image ${PM_${d}_IMAGES}) + get_property(DOMAIN_APP_${d} GLOBAL PROPERTY DOMAIN_APP_${d}) if(NOT "${DOMAIN_APP_${d}}" STREQUAL "${image}") list(APPEND ${d}_input_files ${${image}_input_files}) list(APPEND ${d}_header_files ${${image}_binary_dir}/${generated_path}/pm_config.h) @@ -442,7 +447,7 @@ list(APPEND input_files ${PM_SUBSYS_PREPROCESSED}) foreach(d APP ${PM_DOMAINS}) # CPUNET - set(image_name ${DOMAIN_APP_${d}}) + get_property(image_name GLOBAL PROPERTY DOMAIN_APP_${d}) if(${d} STREQUAL "APP") set(d) endif() @@ -561,7 +566,7 @@ endif() # Do per domain, end with main app domain. partition_manager(IN_FILES ${input_files} REGIONS ${regions}) foreach(d ${PM_DOMAINS}) - set(image_name ${DOMAIN_APP_${d}}) + get_property(image_name GLOBAL PROPERTY DOMAIN_APP_${d}) partition_manager(DOMAIN ${d} IN_FILES ${${d}_input_files} REGIONS ${${d}_regions}) # foreach(d ${PM_DOMAINS}) diff --git a/doc/nrf/test_and_optimize/optimizing/memory.rst b/doc/nrf/test_and_optimize/optimizing/memory.rst index 2587ff008ef1..78b263633290 100644 --- a/doc/nrf/test_and_optimize/optimizing/memory.rst +++ b/doc/nrf/test_and_optimize/optimizing/memory.rst @@ -244,7 +244,7 @@ Besides applying `General recommendations`_, you can also complete the following The following configuration options affect the stack sizes of the Thread threads: * :kconfig:option:`CONFIG_OPENTHREAD_THREAD_STACK_SIZE` - * :kconfig:option:`CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE` + * :kconfig:option:`CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE` * :kconfig:option:`CONFIG_NET_RX_STACK_SIZE` * :kconfig:option:`CONFIG_NET_TX_STACK_SIZE` * :kconfig:option:`CONFIG_NET_MGMT_EVENT_STACK_SIZE` diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index cfef5d532d1d..c9acffdfddf7 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -11,6 +11,7 @@ if HAS_SEGGER_RTT menuconfig ETH_RTT select USE_SEGGER_RTT select NET_L2_ETHERNET + select CRC bool "Ethernet over RTT driver" help This option enables network interface driver that sends and receives diff --git a/ext/iperf3/iperf_api.c b/ext/iperf3/iperf_api.c index 4c567c8370d9..865b492a69ac 100644 --- a/ext/iperf3/iperf_api.c +++ b/ext/iperf3/iperf_api.c @@ -5745,6 +5745,7 @@ static int diskfile_recv(struct iperf_stream *sp) } #endif /* !defined(CONFIG_NRF_IPERF3_INTEGRATION) */ +#if !defined(CONFIG_NRF_IPERF3_INTEGRATION) /* No support for signals or setjmp */ void iperf_catch_sigend(void (*handler)(int)) { #ifdef SIGINT @@ -5757,6 +5758,7 @@ void iperf_catch_sigend(void (*handler)(int)) signal(SIGHUP, handler); #endif } +#endif /** * Called as a result of getting a signal. diff --git a/include/data_fifo.h b/include/data_fifo.h index ee2046d02a5a..ea5b33bb3ff5 100644 --- a/include/data_fifo.h +++ b/include/data_fifo.h @@ -122,9 +122,9 @@ int data_fifo_pointer_last_filled_get(struct data_fifo *data_fifo, void **data, * Read has finished in the given data block. * * @param data_fifo Pointer to the data_fifo structure. - * @param data Double pointer to the memory area which is to be freed. + * @param data Pointer to the memory area which is to be freed. */ -void data_fifo_block_free(struct data_fifo *data_fifo, void **data); +void data_fifo_block_free(struct data_fifo *data_fifo, void *data); /** * @brief See how many alloced and locked blocks are in the system. diff --git a/include/net/l2_wifi_connect.h b/include/net/l2_wifi_connect.h index c39414e01797..a2b6d6d211e4 100644 --- a/include/net/l2_wifi_connect.h +++ b/include/net/l2_wifi_connect.h @@ -7,7 +7,7 @@ #ifndef L2_WIFI_CONNECT_H__ #define L2_WIFI_CONNECT_H__ -#include +#include #define L2_CONN_WLAN0_CTX_TYPE void * CONN_MGR_CONN_DECLARE_PUBLIC(L2_CONN_WLAN0); diff --git a/lib/data_fifo/data_fifo.c b/lib/data_fifo/data_fifo.c index 560624d12a51..e137c274d852 100644 --- a/lib/data_fifo/data_fifo.c +++ b/lib/data_fifo/data_fifo.c @@ -103,7 +103,7 @@ int data_fifo_pointer_last_filled_get(struct data_fifo *data_fifo, void **data, return 0; } -void data_fifo_block_free(struct data_fifo *data_fifo, void **data) +void data_fifo_block_free(struct data_fifo *data_fifo, void *data) { __ASSERT_NO_MSG(data_fifo != NULL); __ASSERT_NO_MSG(data_fifo->initialized); @@ -153,7 +153,7 @@ int data_fifo_empty(struct data_fifo *data_fifo) return ret; } - data_fifo_block_free(data_fifo, &old_data); + data_fifo_block_free(data_fifo, old_data); } /* Re-init k_mem_slab to reset the number of alloced slabs */ diff --git a/lib/date_time/date_time_core.c b/lib/date_time/date_time_core.c index dbdfed883ae9..1c974b7f85c9 100644 --- a/lib/date_time/date_time_core.c +++ b/lib/date_time/date_time_core.c @@ -5,7 +5,6 @@ */ #include -#include #include #include #include @@ -14,6 +13,12 @@ #include "date_time_modem.h" #include "date_time_ntp.h" +#if defined(CONFIG_ARCH_POSIX) && defined(CONFIG_EXTERNAL_LIBC) +#include +#else +#include +#endif + LOG_MODULE_DECLARE(date_time, CONFIG_DATE_TIME_LOG_LEVEL); BUILD_ASSERT(CONFIG_DATE_TIME_TOO_OLD_SECONDS <= CONFIG_DATE_TIME_UPDATE_INTERVAL_SECONDS); diff --git a/lib/edge_impulse/CMakeLists.txt b/lib/edge_impulse/CMakeLists.txt index 06ce819e6c9b..26c96916ff6e 100644 --- a/lib/edge_impulse/CMakeLists.txt +++ b/lib/edge_impulse/CMakeLists.txt @@ -20,7 +20,10 @@ if(CONFIG_EDGE_IMPULSE_URI STREQUAL "") message(FATAL_ERROR "CONFIG_EDGE_IMPULSE_URI must be specified") endif() -set(EI_URI ${CONFIG_EDGE_IMPULSE_URI}) +set(EI_URIx ${CONFIG_EDGE_IMPULSE_URI}) + +string(CONCAT EI_URI ${EI_URIx}) + if(NOT ${EI_URI} MATCHES "^[a-z]+://") string(CONFIGURE ${EI_URI} EI_URI) diff --git a/lib/location/location_utils.c b/lib/location/location_utils.c index 77bc970e3566..d45d219c243d 100644 --- a/lib/location/location_utils.c +++ b/lib/location/location_utils.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Nordic Semiconductor ASA + * Copyright (c) 2021-2023 Nordic Semiconductor ASA * * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ @@ -10,7 +10,11 @@ #include #include +#if defined(CONFIG_ARCH_POSIX) && defined(CONFIG_EXTERNAL_LIBC) +#include +#else #include +#endif #include #include diff --git a/lib/nrf_modem_lib/lte_connectivity/lte_connectivity.c b/lib/nrf_modem_lib/lte_connectivity/lte_connectivity.c index e39aeb2fb4f1..18ff971d00cc 100644 --- a/lib/nrf_modem_lib/lte_connectivity/lte_connectivity.c +++ b/lib/nrf_modem_lib/lte_connectivity/lte_connectivity.c @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include #include @@ -28,9 +28,9 @@ LOG_MODULE_REGISTER(lte_connectivity, CONFIG_LTE_CONNECTIVITY_LOG_LEVEL); */ BUILD_ASSERT(IS_ENABLED(CONFIG_NET_IPV6) && IS_ENABLED(CONFIG_NET_IPV4), "IPv6 and IPv4 required"); -BUILD_ASSERT((CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE >= 1024), +BUILD_ASSERT((CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE >= 1024), "Stack size of the connection manager internal thread is too low. " - "Increase CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE to a minimum of 1024"); + "Increase CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE to a minimum of 1024"); /* Forward declarations */ static void connection_timeout_work_fn(struct k_work *work); diff --git a/lib/nrf_modem_lib/lte_connectivity/lte_connectivity.h b/lib/nrf_modem_lib/lte_connectivity/lte_connectivity.h index e5287af52150..b45df7fc20cc 100644 --- a/lib/nrf_modem_lib/lte_connectivity/lte_connectivity.h +++ b/lib/nrf_modem_lib/lte_connectivity/lte_connectivity.h @@ -8,7 +8,7 @@ #define LTE_CONNECTIVITY_H__ #include -#include +#include /** * @defgroup lte_connectivity LTE Connectivity layer diff --git a/modules/mcuboot/fih_low_enable.conf b/modules/mcuboot/fih_low_enable.conf index 5635b0e6d943..d83b354ac2f7 100644 --- a/modules/mcuboot/fih_low_enable.conf +++ b/modules/mcuboot/fih_low_enable.conf @@ -1 +1,4 @@ CONFIG_BOOT_FIH_PROFILE_LOW=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/modules/mcuboot/hw_counters.conf b/modules/mcuboot/hw_counters.conf index b23b575c6477..7ce6d780c817 100644 --- a/modules/mcuboot/hw_counters.conf +++ b/modules/mcuboot/hw_counters.conf @@ -9,3 +9,6 @@ CONFIG_MCUBOOT_HW_DOWNGRADE_PREVENTION=y # them through this KConfig fragment simultaneously as we do here. CONFIG_SECURE_BOOT_STORAGE=y CONFIG_SECURE_BOOT_CRYPTO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/modules/mcuboot/tfm.conf b/modules/mcuboot/tfm.conf index 4380e18d90f4..a8403eb609d4 100644 --- a/modules/mcuboot/tfm.conf +++ b/modules/mcuboot/tfm.conf @@ -14,3 +14,6 @@ CONFIG_MCUBOOT_NRF_CLEANUP_PERIPHERAL=y # are required to be privileged. But in an IPC application there exist # both privileged and unprivileged accesses. CONFIG_ARM_MPU=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/bluetooth/mesh/dfu/distributor/src/main.c b/samples/bluetooth/mesh/dfu/distributor/src/main.c index 618693b064ab..1ab4bb779ecd 100644 --- a/samples/bluetooth/mesh/dfu/distributor/src/main.c +++ b/samples/bluetooth/mesh/dfu/distributor/src/main.c @@ -128,7 +128,7 @@ static void bt_ready(int err) dfu_target_image_confirm(); } -void main(void) +int main(void) { int err; @@ -138,7 +138,7 @@ void main(void) 0); if (err) { printk("Failed to init BLOB IO Flash module: %d\n", err); - return; + return 1; } k_work_init_delayable(&attention_blink_work, attention_blink); @@ -148,6 +148,7 @@ void main(void) err = bt_enable(bt_ready); if (err) { printk("Bluetooth init failed (err %d)\n", err); - return; + return 2; } + return 0; } diff --git a/samples/bluetooth/mesh/dfu/target/src/main.c b/samples/bluetooth/mesh/dfu/target/src/main.c index 205bd832ab47..a56eda5fdb53 100644 --- a/samples/bluetooth/mesh/dfu/target/src/main.c +++ b/samples/bluetooth/mesh/dfu/target/src/main.c @@ -117,7 +117,7 @@ static void bt_ready(int err) dfu_target_image_confirm(); } -void main(void) +int main(void) { int err; @@ -127,7 +127,7 @@ void main(void) 0); if (err) { printk("Failed to init BLOB IO Flash module: %d\n", err); - return; + return 1; } k_work_init_delayable(&attention_blink_work, attention_blink); @@ -136,5 +136,8 @@ void main(void) err = bt_enable(bt_ready); if (err) { printk("Bluetooth init failed (err %d)\n", err); + return 1; } + + return 0; } diff --git a/samples/bluetooth/peripheral_mds/prj.conf b/samples/bluetooth/peripheral_mds/prj.conf index b5473c4350a7..6c560ff29566 100644 --- a/samples/bluetooth/peripheral_mds/prj.conf +++ b/samples/bluetooth/peripheral_mds/prj.conf @@ -22,7 +22,7 @@ CONFIG_BT_BUF_ACL_TX_SIZE=251 CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 CONFIG_LOG=y -CONFIG_LOG_PRINTK=y +CONFIG_LOG_PRINTK=n CONFIG_LOG_DEFAULT_LEVEL=2 CONFIG_LOG_MODE_DEFERRED=y CONFIG_LOG_MODE_OVERFLOW=y diff --git a/samples/cellular/modem_trace_backend/prj.conf b/samples/cellular/modem_trace_backend/prj.conf index 14e5f72ce4c9..4ce94c65b715 100644 --- a/samples/cellular/modem_trace_backend/prj.conf +++ b/samples/cellular/modem_trace_backend/prj.conf @@ -15,8 +15,10 @@ CONFIG_LTE_LINK_CONTROL=y # Modem trace CONFIG_NRF_MODEM_LIB_TRACE=y CONFIG_NRF_MODEM_LIB_TRACE_BACKEND_CUSTOM=y +CONFIG_NRF_MODEM_LIB_TRACE_BACKEND_UART=n CONFIG_CUSTOM_BACKEND_PRINT_PERIOD_MSEC=500 CONFIG_CPU_LOAD=y CONFIG_FPU=y +CONFIG_NEWLIB_LIBC=y CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y diff --git a/samples/cellular/nrf_cloud_multi_service/child_image/mcuboot/boards/nrf9160dk_nrf9160.conf b/samples/cellular/nrf_cloud_multi_service/child_image/mcuboot/boards/nrf9160dk_nrf9160.conf index fc6cd8598225..5ae99cb48aae 100644 --- a/samples/cellular/nrf_cloud_multi_service/child_image/mcuboot/boards/nrf9160dk_nrf9160.conf +++ b/samples/cellular/nrf_cloud_multi_service/child_image/mcuboot/boards/nrf9160dk_nrf9160.conf @@ -35,3 +35,6 @@ CONFIG_MULTITHREADING=y CONFIG_LOG=y CONFIG_LOG_MODE_MINIMAL=y CONFIG_LOG_DEFAULT_LEVEL=0 + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/cellular/nrf_cloud_multi_service/overlay_nrf7002ek_wifi_no_lte.conf b/samples/cellular/nrf_cloud_multi_service/overlay_nrf7002ek_wifi_no_lte.conf index bd71abaa4b63..3c0ddefa1252 100644 --- a/samples/cellular/nrf_cloud_multi_service/overlay_nrf7002ek_wifi_no_lte.conf +++ b/samples/cellular/nrf_cloud_multi_service/overlay_nrf7002ek_wifi_no_lte.conf @@ -53,7 +53,7 @@ CONFIG_WIFI_NRF700X=y ## Enable Wi-Fi conn_mgr bindings CONFIG_L2_WIFI_CONNECTIVITY=y -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=4096 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=4096 ## Enable WIFI_MGMT_EXT and WIFI_CREDENTIALS for simplified Wi-Fi connection setup CONFIG_WIFI_CREDENTIALS=y diff --git a/samples/cellular/nrf_cloud_multi_service/prj.conf b/samples/cellular/nrf_cloud_multi_service/prj.conf index c6c3e6285a4a..980160156aba 100644 --- a/samples/cellular/nrf_cloud_multi_service/prj.conf +++ b/samples/cellular/nrf_cloud_multi_service/prj.conf @@ -44,7 +44,7 @@ CONFIG_NETWORKING=y CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS_OFFLOAD=y CONFIG_NET_MGMT_EVENT_STACK_SIZE=2048 -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=1024 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024 CONFIG_MAIN_STACK_SIZE=2048 # Enable LTE Connectivity using Connection Manager diff --git a/samples/debug/memfault/boards/nrf7002dk_nrf5340_cpuapp.conf b/samples/debug/memfault/boards/nrf7002dk_nrf5340_cpuapp.conf index 92025e6d201b..e16eb1c591ff 100644 --- a/samples/debug/memfault/boards/nrf7002dk_nrf5340_cpuapp.conf +++ b/samples/debug/memfault/boards/nrf7002dk_nrf5340_cpuapp.conf @@ -105,4 +105,4 @@ CONFIG_PM_SINGLE_IMAGE=y CONFIG_L2_WIFI_CONNECTIVITY=y CONFIG_L2_WIFI_CONNECTIVITY_AUTO_DOWN=n -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=4096 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=4096 diff --git a/samples/debug/memfault/prj.conf b/samples/debug/memfault/prj.conf index 55d1a488ab4d..c679cbf4e101 100644 --- a/samples/debug/memfault/prj.conf +++ b/samples/debug/memfault/prj.conf @@ -52,5 +52,5 @@ CONFIG_STREAM_FLASH=y CONFIG_HEAP_MEM_POOL_SIZE=8192 CONFIG_MAIN_STACK_SIZE=8192 CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=1024 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024 CONFIG_NET_MGMT_EVENT_STACK_SIZE=1024 diff --git a/samples/debug/memfault/src/main.c b/samples/debug/memfault/src/main.c index 0948b85b2594..0d500e216ccf 100644 --- a/samples/debug/memfault/src/main.c +++ b/samples/debug/memfault/src/main.c @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/samples/event_manager_proxy/sysbuild.cmake b/samples/event_manager_proxy/sysbuild.cmake index 297a019144d0..35d89c42525b 100644 --- a/samples/event_manager_proxy/sysbuild.cmake +++ b/samples/event_manager_proxy/sysbuild.cmake @@ -10,12 +10,12 @@ ExternalZephyrProject_Add( SOURCE_DIR ${APP_DIR}/remote BOARD ${SB_CONFIG_REMOTE_BOARD} ) -list(APPEND PM_DOMAINS CPUNET) -set(PM_CPUNET_IMAGES remote) -set(DOMAIN_APP_CPUNET remote) +set_property(GLOBAL APPEND PROPERTY PM_DOMAINS CPUNET) +set_property(GLOBAL APPEND PROPERTY PM_CPUNET_IMAGES remote) +set_property(GLOBAL PROPERTY DOMAIN_APP_CPUNET remote) set(CPUNET_PM_DOMAIN_DYNAMIC_PARTITION remote CACHE INTERNAL "") # Add a dependency so that the remote sample will be built and flashed first add_dependencies(event_manager_proxy remote) -# Place remote image first in the image list -set(IMAGES "remote" ${IMAGES}) +# Add dependency so that the remote image is flashed first. +sysbuild_add_dependencies(FLASH event_manager_proxy remote) diff --git a/samples/ipc/ipc_service/sysbuild.cmake b/samples/ipc/ipc_service/sysbuild.cmake index 986641951227..8b98dfe986a7 100644 --- a/samples/ipc/ipc_service/sysbuild.cmake +++ b/samples/ipc/ipc_service/sysbuild.cmake @@ -10,12 +10,12 @@ ExternalZephyrProject_Add( SOURCE_DIR ${APP_DIR}/remote BOARD ${SB_CONFIG_REMOTE_BOARD} ) -list(APPEND PM_DOMAINS CPUNET) -set(PM_CPUNET_IMAGES remote) -set(DOMAIN_APP_CPUNET remote) +set_property(GLOBAL APPEND PROPERTY PM_DOMAINS CPUNET) +set_property(GLOBAL APPEND PROPERTY PM_CPUNET_IMAGES remote) +set_property(GLOBAL PROPERTY DOMAIN_APP_CPUNET remote) set(CPUNET_PM_DOMAIN_DYNAMIC_PARTITION remote CACHE INTERNAL "") # Add a dependency so that the remote sample will be built and flashed first add_dependencies(ipc_service remote) -# Place remote image first in the image list -set(IMAGES "remote" ${IMAGES}) +# Add dependency so that the remote image is flashed first. +sysbuild_add_dependencies(FLASH ipc_service remote) diff --git a/samples/matter/common/src/dfu_over_smp.cpp b/samples/matter/common/src/dfu_over_smp.cpp index 43fd7e11411b..d275871233e1 100644 --- a/samples/matter/common/src/dfu_over_smp.cpp +++ b/samples/matter/common/src/dfu_over_smp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Nordic Semiconductor ASA + * Copyright (c) 2021-2023 Nordic Semiconductor ASA * * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ @@ -19,6 +19,7 @@ #include #include #include +#include using namespace ::chip; using namespace ::chip::DeviceLayer; diff --git a/samples/matter/light_bulb/CMakeLists.txt b/samples/matter/light_bulb/CMakeLists.txt index 57d0798e5478..55e558cd18ef 100644 --- a/samples/matter/light_bulb/CMakeLists.txt +++ b/samples/matter/light_bulb/CMakeLists.txt @@ -52,6 +52,7 @@ if(CONFIG_CHIP_OTA_REQUESTOR OR CONFIG_MCUMGR_TRANSPORT_BT) endif() if(CONFIG_MCUMGR_TRANSPORT_BT) + zephyr_library_link_libraries(MCUBOOT_BOOTUTIL) target_sources(app PRIVATE ${COMMON_ROOT}/src/dfu_over_smp.cpp) endif() diff --git a/samples/matter/light_bulb/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf b/samples/matter/light_bulb/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf index 32719daee55b..6a64998f00bc 100644 --- a/samples/matter/light_bulb/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf +++ b/samples/matter/light_bulb/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf @@ -5,3 +5,6 @@ # CONFIG_GPIO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/light_bulb/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf b/samples/matter/light_bulb/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf index 32719daee55b..6a64998f00bc 100644 --- a/samples/matter/light_bulb/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf +++ b/samples/matter/light_bulb/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf @@ -5,3 +5,6 @@ # CONFIG_GPIO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/light_bulb/child_image/mcuboot/prj.conf b/samples/matter/light_bulb/child_image/mcuboot/prj.conf index 18ca225d90ae..259b2ca89b22 100644 --- a/samples/matter/light_bulb/child_image/mcuboot/prj.conf +++ b/samples/matter/light_bulb/child_image/mcuboot/prj.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/light_bulb/child_image/mcuboot/prj_release.conf b/samples/matter/light_bulb/child_image/mcuboot/prj_release.conf index 18ca225d90ae..259b2ca89b22 100644 --- a/samples/matter/light_bulb/child_image/mcuboot/prj_release.conf +++ b/samples/matter/light_bulb/child_image/mcuboot/prj_release.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/light_switch/CMakeLists.txt b/samples/matter/light_switch/CMakeLists.txt index 1bdd882ba9f1..dd3233b45cf8 100644 --- a/samples/matter/light_switch/CMakeLists.txt +++ b/samples/matter/light_switch/CMakeLists.txt @@ -55,6 +55,7 @@ if(CONFIG_CHIP_OTA_REQUESTOR OR CONFIG_MCUMGR_TRANSPORT_BT) endif() if(CONFIG_MCUMGR_TRANSPORT_BT) + zephyr_library_link_libraries(MCUBOOT_BOOTUTIL) target_sources(app PRIVATE ${COMMON_ROOT}/src/dfu_over_smp.cpp) endif() diff --git a/samples/matter/light_switch/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf b/samples/matter/light_switch/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf index 32719daee55b..6a64998f00bc 100644 --- a/samples/matter/light_switch/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf +++ b/samples/matter/light_switch/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf @@ -5,3 +5,6 @@ # CONFIG_GPIO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/light_switch/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf b/samples/matter/light_switch/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf index 32719daee55b..6a64998f00bc 100644 --- a/samples/matter/light_switch/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf +++ b/samples/matter/light_switch/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf @@ -5,3 +5,6 @@ # CONFIG_GPIO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/light_switch/child_image/mcuboot/prj.conf b/samples/matter/light_switch/child_image/mcuboot/prj.conf index 18ca225d90ae..259b2ca89b22 100644 --- a/samples/matter/light_switch/child_image/mcuboot/prj.conf +++ b/samples/matter/light_switch/child_image/mcuboot/prj.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/light_switch/child_image/mcuboot/prj_release.conf b/samples/matter/light_switch/child_image/mcuboot/prj_release.conf index 18ca225d90ae..259b2ca89b22 100644 --- a/samples/matter/light_switch/child_image/mcuboot/prj_release.conf +++ b/samples/matter/light_switch/child_image/mcuboot/prj_release.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/lock/CMakeLists.txt b/samples/matter/lock/CMakeLists.txt index 29efcef7dde2..e6fc8ec1b37a 100644 --- a/samples/matter/lock/CMakeLists.txt +++ b/samples/matter/lock/CMakeLists.txt @@ -58,6 +58,7 @@ if(CONFIG_CHIP_NUS) endif() if(CONFIG_MCUMGR_TRANSPORT_BT) + zephyr_library_link_libraries(MCUBOOT_BOOTUTIL) target_sources(app PRIVATE ${COMMON_ROOT}/src/dfu_over_smp.cpp) endif() diff --git a/samples/matter/lock/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf b/samples/matter/lock/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf index 32719daee55b..6a64998f00bc 100644 --- a/samples/matter/lock/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf +++ b/samples/matter/lock/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf @@ -5,3 +5,6 @@ # CONFIG_GPIO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/lock/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf b/samples/matter/lock/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf index 32719daee55b..6a64998f00bc 100644 --- a/samples/matter/lock/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf +++ b/samples/matter/lock/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf @@ -5,3 +5,6 @@ # CONFIG_GPIO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/lock/child_image/mcuboot/prj.conf b/samples/matter/lock/child_image/mcuboot/prj.conf index 18ca225d90ae..259b2ca89b22 100644 --- a/samples/matter/lock/child_image/mcuboot/prj.conf +++ b/samples/matter/lock/child_image/mcuboot/prj.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/lock/child_image/mcuboot/prj_release.conf b/samples/matter/lock/child_image/mcuboot/prj_release.conf index 18ca225d90ae..259b2ca89b22 100644 --- a/samples/matter/lock/child_image/mcuboot/prj_release.conf +++ b/samples/matter/lock/child_image/mcuboot/prj_release.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/lock/child_image/mcuboot/prj_thread_wifi_switched.conf b/samples/matter/lock/child_image/mcuboot/prj_thread_wifi_switched.conf index 18ca225d90ae..259b2ca89b22 100644 --- a/samples/matter/lock/child_image/mcuboot/prj_thread_wifi_switched.conf +++ b/samples/matter/lock/child_image/mcuboot/prj_thread_wifi_switched.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/template/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf b/samples/matter/template/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf index 32719daee55b..6a64998f00bc 100644 --- a/samples/matter/template/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf +++ b/samples/matter/template/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf @@ -5,3 +5,6 @@ # CONFIG_GPIO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/template/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf b/samples/matter/template/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf index 32719daee55b..6a64998f00bc 100644 --- a/samples/matter/template/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf +++ b/samples/matter/template/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf @@ -5,3 +5,6 @@ # CONFIG_GPIO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/template/child_image/mcuboot/prj.conf b/samples/matter/template/child_image/mcuboot/prj.conf index 18ca225d90ae..259b2ca89b22 100644 --- a/samples/matter/template/child_image/mcuboot/prj.conf +++ b/samples/matter/template/child_image/mcuboot/prj.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/template/child_image/mcuboot/prj_release.conf b/samples/matter/template/child_image/mcuboot/prj_release.conf index 18ca225d90ae..259b2ca89b22 100644 --- a/samples/matter/template/child_image/mcuboot/prj_release.conf +++ b/samples/matter/template/child_image/mcuboot/prj_release.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/thermostat/CMakeLists.txt b/samples/matter/thermostat/CMakeLists.txt index 8713ee62af45..c8f55da75ee2 100644 --- a/samples/matter/thermostat/CMakeLists.txt +++ b/samples/matter/thermostat/CMakeLists.txt @@ -55,6 +55,7 @@ if(CONFIG_CHIP_OTA_REQUESTOR OR CONFIG_MCUMGR_TRANSPORT_BT) endif() if(CONFIG_MCUMGR_TRANSPORT_BT) + zephyr_library_link_libraries(MCUBOOT_BOOTUTIL) target_sources(app PRIVATE ${COMMON_ROOT}/src/dfu_over_smp.cpp) endif() diff --git a/samples/matter/thermostat/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf b/samples/matter/thermostat/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf index d14cd09ad00b..9091233e06d2 100644 --- a/samples/matter/thermostat/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf +++ b/samples/matter/thermostat/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf @@ -5,3 +5,6 @@ # CONFIG_GPIO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/thermostat/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf b/samples/matter/thermostat/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf index d14cd09ad00b..9091233e06d2 100644 --- a/samples/matter/thermostat/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf +++ b/samples/matter/thermostat/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp_release.conf @@ -5,3 +5,6 @@ # CONFIG_GPIO=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/thermostat/child_image/mcuboot/prj.conf b/samples/matter/thermostat/child_image/mcuboot/prj.conf index 7f8f9361297f..1c9498c103c5 100644 --- a/samples/matter/thermostat/child_image/mcuboot/prj.conf +++ b/samples/matter/thermostat/child_image/mcuboot/prj.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/thermostat/child_image/mcuboot/prj_release.conf b/samples/matter/thermostat/child_image/mcuboot/prj_release.conf index 7f8f9361297f..1c9498c103c5 100644 --- a/samples/matter/thermostat/child_image/mcuboot/prj_release.conf +++ b/samples/matter/thermostat/child_image/mcuboot/prj_release.conf @@ -18,3 +18,6 @@ CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n CONFIG_GPIO=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/window_covering/CMakeLists.txt b/samples/matter/window_covering/CMakeLists.txt index 438937ebf5e2..903d2eb6e5d5 100644 --- a/samples/matter/window_covering/CMakeLists.txt +++ b/samples/matter/window_covering/CMakeLists.txt @@ -52,6 +52,7 @@ if(CONFIG_CHIP_OTA_REQUESTOR OR CONFIG_MCUMGR_TRANSPORT_BT) endif() if(CONFIG_MCUMGR_TRANSPORT_BT) + zephyr_library_link_libraries(MCUBOOT_BOOTUTIL) target_sources(app PRIVATE ${COMMON_ROOT}/src/dfu_over_smp.cpp) endif() diff --git a/samples/matter/window_covering/child_image/mcuboot/prj.conf b/samples/matter/window_covering/child_image/mcuboot/prj.conf index e1f5b1d3da4b..f26c95b0b2c8 100644 --- a/samples/matter/window_covering/child_image/mcuboot/prj.conf +++ b/samples/matter/window_covering/child_image/mcuboot/prj.conf @@ -18,3 +18,6 @@ CONFIG_CONSOLE=n CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/matter/window_covering/child_image/mcuboot/prj_release.conf b/samples/matter/window_covering/child_image/mcuboot/prj_release.conf index e1f5b1d3da4b..f26c95b0b2c8 100644 --- a/samples/matter/window_covering/child_image/mcuboot/prj_release.conf +++ b/samples/matter/window_covering/child_image/mcuboot/prj_release.conf @@ -18,3 +18,6 @@ CONFIG_CONSOLE=n CONFIG_SERIAL=n CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/multicore/hello_world/sysbuild.cmake b/samples/multicore/hello_world/sysbuild.cmake index cba9e758f7be..320b01763296 100644 --- a/samples/multicore/hello_world/sysbuild.cmake +++ b/samples/multicore/hello_world/sysbuild.cmake @@ -10,12 +10,12 @@ ExternalZephyrProject_Add( SOURCE_DIR ${APP_DIR}/remote BOARD ${SB_CONFIG_REMOTE_BOARD} ) -list(APPEND PM_DOMAINS CPUNET) -set(PM_CPUNET_IMAGES remote) -set(DOMAIN_APP_CPUNET remote) +set_property(GLOBAL APPEND PROPERTY PM_DOMAINS CPUNET) +set_property(GLOBAL APPEND PROPERTY PM_CPUNET_IMAGES remote) +set_property(GLOBAL PROPERTY DOMAIN_APP_CPUNET remote) set(CPUNET_PM_DOMAIN_DYNAMIC_PARTITION remote CACHE INTERNAL "") # Add a dependency so that the remote sample will be built and flashed first add_dependencies(hello_world remote) -# Place remote image first in the image list -set(IMAGES "remote" ${IMAGES}) +# Add dependency so that the remote image is flashed first. +sysbuild_add_dependencies(FLASH hello_world remote) diff --git a/samples/net/aws_iot/boards/nrf9160dk_nrf9160_ns.conf b/samples/net/aws_iot/boards/nrf9160dk_nrf9160_ns.conf index 4ec80433bc2f..b9e8e63b33fc 100644 --- a/samples/net/aws_iot/boards/nrf9160dk_nrf9160_ns.conf +++ b/samples/net/aws_iot/boards/nrf9160dk_nrf9160_ns.conf @@ -34,7 +34,7 @@ CONFIG_NET_IPV6_NBR_CACHE=n CONFIG_NET_IPV6_MLD=n # Zephyr NET Connection Manager and Connectivity layer. -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=1024 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024 CONFIG_LTE_CONNECTIVITY=y CONFIG_LTE_CONNECTIVITY_AUTO_DOWN=n diff --git a/samples/net/aws_iot/boards/nrf9161dk_nrf9161_ns.conf b/samples/net/aws_iot/boards/nrf9161dk_nrf9161_ns.conf index 900a3d985529..fcad49dc7ba3 100644 --- a/samples/net/aws_iot/boards/nrf9161dk_nrf9161_ns.conf +++ b/samples/net/aws_iot/boards/nrf9161dk_nrf9161_ns.conf @@ -34,7 +34,7 @@ CONFIG_NET_IPV6_NBR_CACHE=n CONFIG_NET_IPV6_MLD=n # Zephyr NET Connection Manager and Connectivity layer. -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=1024 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024 CONFIG_LTE_CONNECTIVITY=y CONFIG_LTE_CONNECTIVITY_AUTO_DOWN=n diff --git a/samples/net/aws_iot/boards/thingy91_nrf9160_ns.conf b/samples/net/aws_iot/boards/thingy91_nrf9160_ns.conf index 5038c7cf4567..4dbdbd68b07e 100644 --- a/samples/net/aws_iot/boards/thingy91_nrf9160_ns.conf +++ b/samples/net/aws_iot/boards/thingy91_nrf9160_ns.conf @@ -34,7 +34,7 @@ CONFIG_NET_IPV6_NBR_CACHE=n CONFIG_NET_IPV6_MLD=n # Zephyr NET Connection Manager and Connectivity layer. -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=1024 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024 CONFIG_LTE_CONNECTIVITY=y CONFIG_LTE_CONNECTIVITY_AUTO_DOWN=n diff --git a/samples/net/aws_iot/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf b/samples/net/aws_iot/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf index e321e5d72f65..739cbaab6e79 100644 --- a/samples/net/aws_iot/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf +++ b/samples/net/aws_iot/child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf @@ -23,3 +23,6 @@ CONFIG_PM_PARTITION_SIZE_MCUBOOT=0x10000 CONFIG_BOOT_MAX_IMG_SECTORS=256 CONFIG_BOOT_ERASE_PROGRESSIVELY=y CONFIG_SOC_FLASH_NRF_EMULATE_ONE_BYTE_WRITE_ACCESS=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/net/aws_iot/src/main.c b/samples/net/aws_iot/src/main.c index d5d88211a0a6..8ae6c4839f3d 100644 --- a/samples/net/aws_iot/src/main.c +++ b/samples/net/aws_iot/src/main.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include #include @@ -395,7 +395,7 @@ int main(void) * appropriate handler l4_event_handler() is registered. */ if (IS_ENABLED(CONFIG_BOARD_QEMU_X86)) { - conn_mgr_resend_status(); + conn_mgr_mon_resend_status(); } return 0; diff --git a/samples/net/azure_iot_hub/boards/nrf9160dk_nrf9160_ns.conf b/samples/net/azure_iot_hub/boards/nrf9160dk_nrf9160_ns.conf index fc5b7387de4e..2020e6012ec5 100644 --- a/samples/net/azure_iot_hub/boards/nrf9160dk_nrf9160_ns.conf +++ b/samples/net/azure_iot_hub/boards/nrf9160dk_nrf9160_ns.conf @@ -24,7 +24,7 @@ CONFIG_NET_IPV6_MLD=n # Connection Manager and Connectivity layer CONFIG_LTE_CONNECTIVITY=y -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=2048 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=2048 CONFIG_NRF_MODEM_LIB_ON_FAULT_APPLICATION_SPECIFIC=y # Turn off automatic behavior to give more control to the application diff --git a/samples/net/azure_iot_hub/boards/nrf9161dk_nrf9161_ns.conf b/samples/net/azure_iot_hub/boards/nrf9161dk_nrf9161_ns.conf index fc5b7387de4e..2020e6012ec5 100644 --- a/samples/net/azure_iot_hub/boards/nrf9161dk_nrf9161_ns.conf +++ b/samples/net/azure_iot_hub/boards/nrf9161dk_nrf9161_ns.conf @@ -24,7 +24,7 @@ CONFIG_NET_IPV6_MLD=n # Connection Manager and Connectivity layer CONFIG_LTE_CONNECTIVITY=y -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=2048 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=2048 CONFIG_NRF_MODEM_LIB_ON_FAULT_APPLICATION_SPECIFIC=y # Turn off automatic behavior to give more control to the application diff --git a/samples/net/azure_iot_hub/src/main.c b/samples/net/azure_iot_hub/src/main.c index af6c0dd569cc..5405b33f5ace 100644 --- a/samples/net/azure_iot_hub/src/main.c +++ b/samples/net/azure_iot_hub/src/main.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Nordic Semiconductor ASA + * Copyright (c) 2020-2023 Nordic Semiconductor ASA * * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include #include @@ -571,7 +571,7 @@ int main(void) * appropriate handler l4_event_handler() is registered. */ if (IS_ENABLED(CONFIG_BOARD_QEMU_X86)) { - conn_mgr_resend_status(); + conn_mgr_mon_resend_status(); } k_sem_take(&network_connected_sem, K_FOREVER); diff --git a/samples/net/mqtt/boards/nrf9160dk_nrf9160_ns.conf b/samples/net/mqtt/boards/nrf9160dk_nrf9160_ns.conf index 20ecb13a3fe8..6a37092c11c0 100644 --- a/samples/net/mqtt/boards/nrf9160dk_nrf9160_ns.conf +++ b/samples/net/mqtt/boards/nrf9160dk_nrf9160_ns.conf @@ -30,7 +30,7 @@ CONFIG_NET_IPV6_NBR_CACHE=n CONFIG_NET_IPV6_MLD=n # Zephyr NET Connection Manager and Connectivity layer. -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=1024 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024 CONFIG_LTE_CONNECTIVITY=y CONFIG_LTE_CONNECTIVITY_AUTO_DOWN=n CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_START=n diff --git a/samples/net/mqtt/boards/nrf9161dk_nrf9161_ns.conf b/samples/net/mqtt/boards/nrf9161dk_nrf9161_ns.conf index 5b77e404c69f..0fb82e04dd5d 100644 --- a/samples/net/mqtt/boards/nrf9161dk_nrf9161_ns.conf +++ b/samples/net/mqtt/boards/nrf9161dk_nrf9161_ns.conf @@ -30,7 +30,7 @@ CONFIG_NET_IPV6_NBR_CACHE=n CONFIG_NET_IPV6_MLD=n # Zephyr NET Connection Manager and Connectivity layer. -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=1024 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024 CONFIG_LTE_CONNECTIVITY=y CONFIG_LTE_CONNECTIVITY_AUTO_DOWN=n CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_START=n diff --git a/samples/net/mqtt/boards/thingy91_nrf9160_ns.conf b/samples/net/mqtt/boards/thingy91_nrf9160_ns.conf index b21763879f51..2d0e97ba36d1 100644 --- a/samples/net/mqtt/boards/thingy91_nrf9160_ns.conf +++ b/samples/net/mqtt/boards/thingy91_nrf9160_ns.conf @@ -30,7 +30,7 @@ CONFIG_NET_IPV6_NBR_CACHE=n CONFIG_NET_IPV6_MLD=n # Zephyr NET Connection Manager and Connectivity layer. -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=1024 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024 CONFIG_LTE_CONNECTIVITY=y CONFIG_LTE_CONNECTIVITY_AUTO_DOWN=n CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_START=n diff --git a/samples/net/mqtt/src/modules/network/network.c b/samples/net/mqtt/src/modules/network/network.c index a5155daa0eee..8f8fded6221b 100644 --- a/samples/net/mqtt/src/modules/network/network.c +++ b/samples/net/mqtt/src/modules/network/network.c @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include "message_channel.h" @@ -95,7 +95,7 @@ static void network_task(void) * appropriate handler l4_event_handler() is registered. */ if (IS_ENABLED(CONFIG_BOARD_NATIVE_POSIX)) { - conn_mgr_resend_status(); + conn_mgr_mon_resend_status(); } } diff --git a/samples/nfc/shell/src/main.c b/samples/nfc/shell/src/main.c index 4aea364acd7f..7aa874c6aa17 100644 --- a/samples/nfc/shell/src/main.c +++ b/samples/nfc/shell/src/main.c @@ -14,7 +14,7 @@ #define STATUS_LED_INTERVAL K_MSEC(1000) -void main(void) +int main(void) { uint32_t blink_status = 0; int err; @@ -24,13 +24,14 @@ void main(void) err = dk_leds_init(); if (err) { printk("LEDs init failed (err %d)\n", err); - return; + return 1; } for (;;) { dk_set_led(RUN_STATUS_LED, (++blink_status) % 2); k_sleep(STATUS_LED_INTERVAL); } + return 0; } static int led_on_handler(const struct shell *shell, size_t argc, char **argv) diff --git a/samples/peripheral/lpuart/src/main.c b/samples/peripheral/lpuart/src/main.c index 0a0a9a9571de..9f9e0b3d895a 100644 --- a/samples/peripheral/lpuart/src/main.c +++ b/samples/peripheral/lpuart/src/main.c @@ -82,7 +82,7 @@ static void uart_callback(const struct device *dev, } case UART_RX_BUF_RELEASED: - k_mem_slab_free(&uart_slab, (void **)&evt->data.rx_buf.buf); + k_mem_slab_free(&uart_slab, (void *)evt->data.rx_buf.buf); break; case UART_RX_DISABLED: diff --git a/samples/tfm/tfm_psa_template/child_image/mcuboot/prj.conf b/samples/tfm/tfm_psa_template/child_image/mcuboot/prj.conf index cba90232e588..3be9e0a19b4d 100644 --- a/samples/tfm/tfm_psa_template/child_image/mcuboot/prj.conf +++ b/samples/tfm/tfm_psa_template/child_image/mcuboot/prj.conf @@ -2,9 +2,6 @@ CONFIG_MAIN_STACK_SIZE=10240 CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h" CONFIG_BOOT_SWAP_SAVE_ENCTLV=n -CONFIG_BOOT_ENCRYPT_RSA=n -CONFIG_BOOT_ENCRYPT_EC256=n -CONFIG_BOOT_ENCRYPT_X25519=n CONFIG_BOOT_UPGRADE_ONLY=y # changed from default MCUboot CONFIG_BOOT_BOOTSTRAP=n @@ -25,3 +22,5 @@ CONFIG_BOOT_FIH_PROFILE_MEDIUM=y ### Enable ECDSA P256 signing/verification CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=y CONFIG_BOOT_SIGNATURE_TYPE_RSA=n +### Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/samples/wifi/twt/src/main.c b/samples/wifi/twt/src/main.c index 502aefb6abc4..05cdd7d27557 100644 --- a/samples/wifi/twt/src/main.c +++ b/samples/wifi/twt/src/main.c @@ -115,9 +115,9 @@ static int teardown_twt(void) ret = net_mgmt(NET_REQUEST_WIFI_TWT, iface, ¶ms, sizeof(params)); if (ret) { LOG_ERR("%s with %s failed, reason : %s", - wifi_twt_operation2str[params.operation], - wifi_twt_negotiation_type2str[params.negotiation_type], - get_twt_err_code_str(params.fail_reason)); + wifi_twt_operation_txt(params.operation), + wifi_twt_negotiation_type_txt(params.negotiation_type), + wifi_twt_get_err_code_str(params.fail_reason)); return ret; } @@ -221,7 +221,7 @@ static void print_twt_params(uint8_t dialog_token, uint8_t flow_id, LOG_INF("TWT flow ID: %d", flow_id); LOG_INF("TWT negotiation type: %s", - wifi_twt_negotiation_type2str[negotiation_type]); + wifi_twt_negotiation_type_txt(negotiation_type)); LOG_INF("TWT responder: %s", responder ? "true" : "false"); LOG_INF("TWT implicit: %s", @@ -251,7 +251,7 @@ static void handle_wifi_twt_event(struct net_mgmt_event_callback *cb) if (resp->resp_status == WIFI_TWT_RESP_RECEIVED) { twt_resp_received = 1; LOG_INF("TWT response: %s", - wifi_twt_setup_cmd2str[resp->setup_cmd]); + wifi_twt_setup_cmd_txt(resp->setup_cmd)); LOG_INF("== TWT negotiated parameters =="); print_twt_params(resp->dialog_token, resp->flow_id, diff --git a/samples/zigbee/light_switch/child_image/mcuboot/boards/nrf5340dk_nrf5340_cpuapp_fota.conf b/samples/zigbee/light_switch/child_image/mcuboot/boards/nrf5340dk_nrf5340_cpuapp_fota.conf index 5b6ccbd6b95d..af220f02bb2c 100644 --- a/samples/zigbee/light_switch/child_image/mcuboot/boards/nrf5340dk_nrf5340_cpuapp_fota.conf +++ b/samples/zigbee/light_switch/child_image/mcuboot/boards/nrf5340dk_nrf5340_cpuapp_fota.conf @@ -38,3 +38,6 @@ CONFIG_FPROTECT=y CONFIG_NORDIC_QSPI_NOR=y CONFIG_NORDIC_QSPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096 CONFIG_NORDIC_QSPI_NOR_STACK_WRITE_BUFFER_SIZE=16 + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/scripts/quarantine.yaml b/scripts/quarantine.yaml index f3cbc86625f5..26d91dbebf4a 100644 --- a/scripts/quarantine.yaml +++ b/scripts/quarantine.yaml @@ -2,14 +2,7 @@ # will be skipped if quarantine is used. More details here: # https://docs.zephyrproject.org/latest/guides/test/twister.html#quarantine # To have an empty list use: -# - scenarios: -# - None -# platforms: -# - all - - scenarios: - - applications.nrf_desktop.zrelease + - edge_impulse.ei_wrapper platforms: - - nrf52833dk_nrf52820 - - nrf52820dongle_nrf52820 - comment: "Temporary disabled due to flash overflow" + - qemu_cortex_m3 diff --git a/subsys/bluetooth/conn_ctx.c b/subsys/bluetooth/conn_ctx.c index 6ef801cc3fc9..8272f28c22a8 100644 --- a/subsys/bluetooth/conn_ctx.c +++ b/subsys/bluetooth/conn_ctx.c @@ -11,7 +11,7 @@ LOG_MODULE_REGISTER(bt_conn_ctx, CONFIG_BT_CONN_CTX_LOG_LEVEL); static void bt_conn_ctx_mem_free(struct k_mem_slab *mem_slab, void **data) { - k_mem_slab_free(mem_slab, data); + k_mem_slab_free(mem_slab, *data); *data = NULL; } @@ -95,7 +95,7 @@ void bt_conn_ctx_free_all(struct bt_conn_ctx_lib *ctx_lib) struct bt_conn_ctx *ctx = &ctx_lib->ctx[i]; if (ctx->data != NULL) { - k_mem_slab_free(ctx_lib->mem_slab, &ctx->data); + k_mem_slab_free(ctx_lib->mem_slab, (void *)ctx->data); ctx->conn = NULL; ctx->data = NULL; } diff --git a/subsys/bluetooth/rpc/client/bt_rpc_conn_client.c b/subsys/bluetooth/rpc/client/bt_rpc_conn_client.c index 934aab7fbe05..a2172140cce3 100644 --- a/subsys/bluetooth/rpc/client/bt_rpc_conn_client.c +++ b/subsys/bluetooth/rpc/client/bt_rpc_conn_client.c @@ -148,7 +148,7 @@ NRF_RPC_CBOR_CMD_DECODER(bt_rpc_grp, bt_conn_foreach_cb_callback, BT_CONN_FOREACH_CB_CALLBACK_RPC_CMD, bt_conn_foreach_cb_callback_rpc_handler, NULL); -void bt_conn_foreach(int type, void (*func)(struct bt_conn *conn, void *data), +void bt_conn_foreach(enum bt_conn_type type, void (*func)(struct bt_conn *conn, void *data), void *data) { struct nrf_rpc_cbor_ctx ctx; diff --git a/subsys/bluetooth/rpc/host/bt_rpc_gap_host.c b/subsys/bluetooth/rpc/host/bt_rpc_gap_host.c index 4b35846bf26e..09f73230fe0d 100644 --- a/subsys/bluetooth/rpc/host/bt_rpc_gap_host.c +++ b/subsys/bluetooth/rpc/host/bt_rpc_gap_host.c @@ -819,7 +819,7 @@ static void bt_le_ext_adv_create_rpc_handler(const struct nrf_rpc_group *group, adv_index = bt_le_ext_adv_get_index(adv_data); ext_adv_cb_cache_map[adv_index] = cb; } else { - k_mem_slab_free(&bt_rpc_ext_adv_cb_cache, (void **)&cb); + k_mem_slab_free(&bt_rpc_ext_adv_cb_cache, (void *)cb); } { @@ -838,7 +838,7 @@ static void bt_le_ext_adv_create_rpc_handler(const struct nrf_rpc_group *group, report_decoding_error(BT_LE_EXT_ADV_CREATE_RPC_CMD, handler_data); if (result == 0) { - k_mem_slab_free(&bt_rpc_ext_adv_cb_cache, (void **)&cb); + k_mem_slab_free(&bt_rpc_ext_adv_cb_cache, (void *)cb); } } @@ -1002,7 +1002,7 @@ static void bt_le_ext_adv_delete_rpc_handler(const struct nrf_rpc_group *group, if (adv_index <= CONFIG_BT_EXT_ADV_MAX_ADV_SET) { cb = ext_adv_cb_cache_map[adv_index]; - k_mem_slab_free(&bt_rpc_ext_adv_cb_cache, (void **)&cb); + k_mem_slab_free(&bt_rpc_ext_adv_cb_cache, (void *)cb); } ser_rsp_send_int(group, result); diff --git a/subsys/bluetooth/services/hogp.c b/subsys/bluetooth/services/hogp.c index 3ed0ec67df27..884d55675678 100644 --- a/subsys/bluetooth/services/hogp.c +++ b/subsys/bluetooth/services/hogp.c @@ -85,7 +85,7 @@ static struct bt_hogp_rep_info *rep_alloc(void) */ static void rep_free(struct bt_hogp_rep_info **repp) { - k_mem_slab_free(&bt_hogp_reports_mem, (void **)repp); + k_mem_slab_free(&bt_hogp_reports_mem, (void *)*repp); *repp = NULL; } diff --git a/subsys/bootloader/bl_boot/bl_boot.c b/subsys/bootloader/bl_boot/bl_boot.c index 4e2caf2cc0b1..f2f49023c882 100644 --- a/subsys/bootloader/bl_boot/bl_boot.c +++ b/subsys/bootloader/bl_boot/bl_boot.c @@ -11,22 +11,29 @@ #include #include #ifdef CONFIG_UART_NRFX -#ifdef CONFIG_UART_0_NRF_UART +#ifdef CONFIG_UART_NRFX_UART #include -#else +#endif +#if CONFIG_UART_NRFX_UARTE #include #endif #endif static void uninit_used_peripherals(void) { -#ifdef CONFIG_UART_0_NRF_UART +#if defined(HAS_HW_NRF_UART0) nrf_uart_disable(NRF_UART0); -#elif defined(CONFIG_UART_0_NRF_UARTE) +#elif defined(HAS_HW_NRF_UARTE0) nrf_uarte_disable(NRF_UARTE0); -#elif defined(CONFIG_UART_1_NRF_UARTE) +#endif +#if defined(HAS_HW_NRF_UART1) + nrf_uart_disable(NRF_UART1); +#elif defined(HAS_HW_NRF_UARTE1) nrf_uarte_disable(NRF_UARTE1); -#elif defined(CONFIG_UART_2_NRF_UARTE) +#endif +#if defined(HAS_HW_NRF_UART2) + nrf_uart_disable(NRF_UART2); +#elif defined(HAS_HW_NRF_UARTE2) nrf_uarte_disable(NRF_UARTE2); #endif nrf_clock_int_disable(NRF_CLOCK, 0xFFFFFFFF); diff --git a/subsys/bootloader/cmake/provision_hex.cmake b/subsys/bootloader/cmake/provision_hex.cmake index cc124a088b7e..4c1e5ab3b5cd 100644 --- a/subsys/bootloader/cmake/provision_hex.cmake +++ b/subsys/bootloader/cmake/provision_hex.cmake @@ -11,7 +11,7 @@ set_ifndef(partition_manager_target partition_manager) if(NCS_SYSBUILD_PARTITION_MANAGER) # Get the main app of the domain that secure boot should handle. - set(main_app ${DOMAIN_APP_${SB_CONFIG_SECURE_BOOT_DOMAIN}}) + get_property(main_app GLOBAL PROPERTY DOMAIN_APP_${SB_CONFIG_SECURE_BOOT_DOMAIN}) ExternalProject_Get_Property(${main_app} BINARY_DIR) import_kconfig(CONFIG_ ${BINARY_DIR}/zephyr/.config) sysbuild_get(APPLICATION_CONFIG_DIR IMAGE ${main_app} VAR APPLICATION_CONFIG_DIR CACHE) diff --git a/subsys/bootloader/cmake/sign.cmake b/subsys/bootloader/cmake/sign.cmake index 38a40da8c579..03215a8f45b2 100644 --- a/subsys/bootloader/cmake/sign.cmake +++ b/subsys/bootloader/cmake/sign.cmake @@ -67,7 +67,8 @@ if (CONFIG_SECURE_BOOT AND CONFIG_SOC_NRF5340_CPUNET AND NOT NCS_SYSBUILD_PARTIT endif() if(NCS_SYSBUILD_PARTITION_MANAGER AND "${SB_CONFIG_SECURE_BOOT_DOMAIN}" STREQUAL "CPUNET") - set(slots ${DOMAIN_APP_${SB_CONFIG_SECURE_BOOT_DOMAIN}}) + get_property(domain_app GLOBAL PROPERTY DOMAIN_APP_${SB_CONFIG_SECURE_BOOT_DOMAIN}) + set(slots ${domain_app}) endif() if (CONFIG_BUILD_S1_VARIANT) diff --git a/sysbuild/CMakeLists.txt b/sysbuild/CMakeLists.txt index 8e8ed999fd34..c34496610c4b 100644 --- a/sysbuild/CMakeLists.txt +++ b/sysbuild/CMakeLists.txt @@ -30,7 +30,7 @@ endfunction(${SYSBUILD_CURRENT_MODULE_NAME}_pre_cmake) function(${SYSBUILD_CURRENT_MODULE_NAME}_post_cmake) cmake_parse_arguments(POST_CMAKE "" "" "IMAGES" ${ARGN}) - set(DOMAIN_APP_APP ${DEFAULT_IMAGE}) + set_property(GLOBAL PROPERTY DOMAIN_APP_APP ${DEFAULT_IMAGE}) # Run partition manager for each image before running CMake. set(domain ${SB_CONFIG_SECURE_BOOT_DOMAIN}) diff --git a/sysbuild/netcore.cmake b/sysbuild/netcore.cmake index a8244d196344..c541ff92a325 100644 --- a/sysbuild/netcore.cmake +++ b/sysbuild/netcore.cmake @@ -4,28 +4,25 @@ # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # Include hci_rpmsg if enabled. +get_property(PM_DOMAINS GLOBAL PROPERTY PM_DOMAINS) if(SB_CONFIG_NETCORE_HCI_RPMSG) ExternalZephyrProject_Add( APPLICATION ${SB_CONFIG_NETCORE_HCI_RPMSG_NAME} SOURCE_DIR ${ZEPHYR_BASE}/samples/bluetooth/hci_rpmsg BOARD ${SB_CONFIG_NETCORE_HCI_RPMSG_BOARD} ) - list(APPEND IMAGES "${SB_CONFIG_NETCORE_HCI_RPMSG_NAME}") if(NOT "${SB_CONFIG_NETCORE_HCI_RPMSG_DOMAIN}" IN_LIST PM_DOMAINS) list(APPEND PM_DOMAINS ${SB_CONFIG_NETCORE_HCI_RPMSG_DOMAIN}) endif() - list(APPEND PM_${SB_CONFIG_NETCORE_HCI_RPMSG_DOMAIN}_IMAGES - "${SB_CONFIG_NETCORE_HCI_RPMSG_NAME}" - ) - set(PM_${SB_CONFIG_NETCORE_HCI_RPMSG_DOMAIN}_IMAGES - ${PM_${SB_CONFIG_NETCORE_HCI_RPMSG_DOMAIN}_IMAGES} - PARENT_SCOPE + set_property(GLOBAL APPEND PROPERTY + PM_${SB_CONFIG_NETCORE_HCI_RPMSG_DOMAIN}_IMAGES + "${SB_CONFIG_NETCORE_HCI_RPMSG_NAME}" ) if(SB_CONFIG_NETCORE_HCI_RPMSG_DOMAIN_APP) - set(DOMAIN_APP_${SB_CONFIG_NETCORE_HCI_RPMSG_DOMAIN} - "${SB_CONFIG_NETCORE_HCI_RPMSG_NAME}" PARENT_SCOPE + set_property(GLOBAL PROPERTY DOMAIN_APP_${SB_CONFIG_NETCORE_HCI_RPMSG_DOMAIN} + "${SB_CONFIG_NETCORE_HCI_RPMSG_NAME}" ) endif() set(${SB_CONFIG_NETCORE_HCI_RPMSG_DOMAIN}_PM_DOMAIN_DYNAMIC_PARTITION @@ -40,7 +37,6 @@ if(SB_CONFIG_NETCORE_802154_RPMSG) SOURCE_DIR ${ZEPHYR_BASE}/samples/boards/nrf/ieee802154/802154_rpmsg BOARD ${SB_CONFIG_NETCORE_802154_RPMSG_BOARD} ) - list(APPEND IMAGES "${SB_CONFIG_NETCORE_802154_RPMSG_NAME}") if(NOT "${SB_CONFIG_NETCORE_802154_RPMSG_DOMAIN}" IN_LIST PM_DOMAINS) list(APPEND PM_DOMAINS ${SB_CONFIG_NETCORE_802154_RPMSG_DOMAIN}) @@ -48,14 +44,14 @@ if(SB_CONFIG_NETCORE_802154_RPMSG) list(APPEND PM_${SB_CONFIG_NETCORE_802154_RPMSG_DOMAIN}_IMAGES "${SB_CONFIG_NETCORE_802154_RPMSG_NAME}" ) - set(PM_${SB_CONFIG_NETCORE_802154_RPMSG_DOMAIN}_IMAGES + set_property(GLOBAL APPEND PROPERTY + PM_${SB_CONFIG_NETCORE_802154_RPMSG_DOMAIN}_IMAGES ${PM_${SB_CONFIG_NETCORE_802154_RPMSG_DOMAIN}_IMAGES} - PARENT_SCOPE ) if(SB_CONFIG_NETCORE_802154_RPMSG_DOMAIN_APP) - set(DOMAIN_APP_${SB_CONFIG_NETCORE_802154_RPMSG_DOMAIN} - "${SB_CONFIG_NETCORE_802154_RPMSG_NAME}" PARENT_SCOPE + set_property(GLOBAL PROPERTY DOMAIN_APP_${SB_CONFIG_NETCORE_802154_RPMSG_DOMAIN} + "${SB_CONFIG_NETCORE_802154_RPMSG_NAME}" ) endif() set(${SB_CONFIG_NETCORE_802154_RPMSG_DOMAIN}_PM_DOMAIN_DYNAMIC_PARTITION @@ -63,5 +59,4 @@ if(SB_CONFIG_NETCORE_802154_RPMSG) ) endif() -set(PM_DOMAINS ${PM_DOMAINS} PARENT_SCOPE) -set(IMAGES ${IMAGES} PARENT_SCOPE) +set_property(GLOBAL PROPERTY PM_DOMAINS ${PM_DOMAINS}) diff --git a/sysbuild/secureboot.cmake b/sysbuild/secureboot.cmake index 7201691a5c98..f31cdfa75a39 100644 --- a/sysbuild/secureboot.cmake +++ b/sysbuild/secureboot.cmake @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +get_property(PM_DOMAINS GLOBAL PROPERTY PM_DOMAINS) if(SB_CONFIG_SECURE_BOOT) if(SB_CONFIG_SECURE_BOOT_NETCORE) set(secure_boot_source_dir ${ZEPHYR_NRF_MODULE_DIR}/samples/nrf5340/netboot) @@ -15,7 +16,6 @@ if(SB_CONFIG_SECURE_BOOT) SOURCE_DIR ${secure_boot_source_dir} BOARD ${SB_CONFIG_SECURE_BOOT_BOARD} ) - list(APPEND IMAGES "${SB_CONFIG_SECURE_BOOT_IMAGE_NAME}") set_target_properties(${SB_CONFIG_SECURE_BOOT_IMAGE_NAME} PROPERTIES IMAGE_CONF_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/image_configurations/b0_image_default.cmake ) @@ -26,18 +26,16 @@ if(SB_CONFIG_SECURE_BOOT) if(NOT "${SB_CONFIG_SECURE_BOOT_DOMAIN}" IN_LIST PM_DOMAINS) list(APPEND PM_DOMAINS ${SB_CONFIG_SECURE_BOOT_DOMAIN}) endif() - list(APPEND PM_${SB_CONFIG_SECURE_BOOT_DOMAIN}_IMAGES + set_property(GLOBAL APPEND PROPERTY + PM_${SB_CONFIG_SECURE_BOOT_DOMAIN}_IMAGES "${SB_CONFIG_SECURE_BOOT_IMAGE_NAME}" ) - set(PM_${SB_CONFIG_SECURE_BOOT_DOMAIN}_IMAGES - ${PM_${SB_CONFIG_SECURE_BOOT_DOMAIN}_IMAGES} - PARENT_SCOPE - ) if(SB_CONFIG_SECURE_BOOT_DOMAIN_APP) - set(DOMAIN_APP_${SB_CONFIG_SECURE_BOOT_DOMAIN} "${SB_CONFIG_SECURE_BOOT_IMAGE_NAME}" PARENT_SCOPE) + set_property(GLOBAL PROPERTY DOMAIN_APP_${SB_CONFIG_SECURE_BOOT_DOMAIN} + "${SB_CONFIG_SECURE_BOOT_IMAGE_NAME}" + ) endif() endif() -set(PM_DOMAINS ${PM_DOMAINS} PARENT_SCOPE) -set(IMAGES ${IMAGES} PARENT_SCOPE) +set_property(GLOBAL PROPERTY PM_DOMAINS ${PM_DOMAINS}) diff --git a/tests/lib/data_fifo/src/main.c b/tests/lib/data_fifo/src/main.c index 5b16a0304888..35334ebaac8b 100644 --- a/tests/lib/data_fifo/src/main.c +++ b/tests/lib/data_fifo/src/main.c @@ -99,7 +99,7 @@ ZTEST(suite_data_fifo, test_data_fifo_data_put_get_ok) internal_test_remaining_elements(&data_fifo, 2, 1, __LINE__); - data_fifo_block_free(&data_fifo, &data_ptr_read); + data_fifo_block_free(&data_fifo, data_ptr_read); internal_test_remaining_elements(&data_fifo, 1, 1, __LINE__); @@ -111,7 +111,7 @@ ZTEST(suite_data_fifo, test_data_fifo_data_put_get_ok) internal_test_remaining_elements(&data_fifo, 1, 0, __LINE__); - data_fifo_block_free(&data_fifo, &data_ptr_read); + data_fifo_block_free(&data_fifo, data_ptr_read); internal_test_remaining_elements(&data_fifo, 0, 0, __LINE__); } diff --git a/tests/lib/nrf_modem_lib/lte_connectivity/prj.conf b/tests/lib/nrf_modem_lib/lte_connectivity/prj.conf index d46e29b4ad33..0f772ad27272 100644 --- a/tests/lib/nrf_modem_lib/lte_connectivity/prj.conf +++ b/tests/lib/nrf_modem_lib/lte_connectivity/prj.conf @@ -13,7 +13,7 @@ CONFIG_NET_IPV4=y CONFIG_NET_IPV6=y CONFIG_NET_TEST=y CONFIG_NET_CONNECTION_MANAGER=y -CONFIG_NET_CONNECTION_MANAGER_STACK_SIZE=1024 +CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024 # Disable auto-down to make test-case expectations simpler CONFIG_NET_CONNECTION_MANAGER_AUTO_IF_DOWN=n diff --git a/tests/modules/mcuboot/external_flash/child_image/mcuboot/prj.conf b/tests/modules/mcuboot/external_flash/child_image/mcuboot/prj.conf index 9da1cb003635..944f3c8b6f9d 100644 --- a/tests/modules/mcuboot/external_flash/child_image/mcuboot/prj.conf +++ b/tests/modules/mcuboot/external_flash/child_image/mcuboot/prj.conf @@ -21,3 +21,6 @@ CONFIG_BOOT_MAX_IMG_SECTORS=256 CONFIG_UART_CONSOLE=n CONFIG_MCUBOOT_SERIAL=y CONFIG_MCUBOOT_SERIAL_DIRECT_IMAGE_UPLOAD=y + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/tests/subsys/dfu/dfu_target/mcuboot/prj.conf b/tests/subsys/dfu/dfu_target/mcuboot/prj.conf index 4cf762157fae..5610e58b21ef 100644 --- a/tests/subsys/dfu/dfu_target/mcuboot/prj.conf +++ b/tests/subsys/dfu/dfu_target/mcuboot/prj.conf @@ -5,3 +5,5 @@ # CONFIG_ZTEST=y CONFIG_ZTEST_NEW_API=y +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y diff --git a/tests/subsys/emds/emds_flash/prj.conf b/tests/subsys/emds/emds_flash/prj.conf index a64a2e8d6969..574532de120f 100644 --- a/tests/subsys/emds/emds_flash/prj.conf +++ b/tests/subsys/emds/emds_flash/prj.conf @@ -12,3 +12,4 @@ CONFIG_PM_SINGLE_IMAGE=y CONFIG_DK_LIBRARY=y CONFIG_EMDS=y CONFIG_BT=y +CONFIG_CRC=y diff --git a/tests/subsys/event_manager_proxy/prj_icmsg.conf b/tests/subsys/event_manager_proxy/prj_icmsg.conf index 557144a96295..0440679b9957 100644 --- a/tests/subsys/event_manager_proxy/prj_icmsg.conf +++ b/tests/subsys/event_manager_proxy/prj_icmsg.conf @@ -18,7 +18,6 @@ CONFIG_HEAP_MEM_POOL_SIZE=2048 CONFIG_IPC_SERVICE=y CONFIG_MBOX=y -CONFIG_IPC_SERVICE_ICMSG_CB_BUF_SIZE=288 CONFIG_EVENT_MANAGER_PROXY_SEND_RETRIES=100 diff --git a/tests/subsys/event_manager_proxy/remote/prj_icmsg.conf b/tests/subsys/event_manager_proxy/remote/prj_icmsg.conf index 164314c38704..8503b85ea235 100644 --- a/tests/subsys/event_manager_proxy/remote/prj_icmsg.conf +++ b/tests/subsys/event_manager_proxy/remote/prj_icmsg.conf @@ -21,7 +21,6 @@ CONFIG_PRINTK=y CONFIG_IPC_SERVICE=y CONFIG_MBOX=y -CONFIG_IPC_SERVICE_ICMSG_CB_BUF_SIZE=288 CONFIG_EVENT_MANAGER_PROXY_SEND_RETRIES=100 diff --git a/tests/subsys/net/lib/nrf_provisioning/src/coap.c b/tests/subsys/net/lib/nrf_provisioning/src/coap.c index 7dbfb52811d8..7f2cd8bfa50b 100644 --- a/tests/subsys/net/lib/nrf_provisioning/src/coap.c +++ b/tests/subsys/net/lib/nrf_provisioning/src/coap.c @@ -1011,7 +1011,9 @@ void test_provisioning_schedule_no_nw_time_valid(void) extern int unity_main(void); -void main(void) +int main(void) { (void)unity_main(); + + return 0; } diff --git a/tests/subsys/net/lib/nrf_provisioning/src/http_jwt.c b/tests/subsys/net/lib/nrf_provisioning/src/http_jwt.c index 576fa80a36c1..7513b0d0e906 100644 --- a/tests/subsys/net/lib/nrf_provisioning/src/http_jwt.c +++ b/tests/subsys/net/lib/nrf_provisioning/src/http_jwt.c @@ -102,7 +102,9 @@ void test_http_commands_auth_hdr_valid(void) extern int unity_main(void); -void main(void) +int main(void) { (void)unity_main(); + + return 0; } diff --git a/tests/subsys/net/lib/nrf_provisioning/src/main.c b/tests/subsys/net/lib/nrf_provisioning/src/main.c index 13af8ad4ec44..fca3ee40866a 100644 --- a/tests/subsys/net/lib/nrf_provisioning/src/main.c +++ b/tests/subsys/net/lib/nrf_provisioning/src/main.c @@ -1320,7 +1320,9 @@ void test_provisioning_schedule_no_nw_time_valid(void) extern int unity_main(void); -void main(void) +int main(void) { (void)unity_main(); + + return 0; } diff --git a/west.yml b/west.yml index d47509aafdb1..2e51fe6bf213 100644 --- a/west.yml +++ b/west.yml @@ -61,7 +61,7 @@ manifest: # https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/modules.html - name: zephyr repo-path: sdk-zephyr - revision: b9253f60e83c046fa432d49b157e1536af1f1ab2 + revision: edf807fd47cd6c3ab71c020363888fe73f2cc776 import: # In addition to the zephyr repository itself, NCS also # imports the contents of zephyr/west.yml at the above @@ -128,7 +128,7 @@ manifest: compare-by-default: true - name: mcuboot repo-path: sdk-mcuboot - revision: 8fba4db81dc9aefa6b7481b3b9a6c5589214e13e + revision: 6b106c1f30af4da74675e688f9f918ab7d46023a path: bootloader/mcuboot - name: qcbor url: https://github.com/laurencelundblade/QCBOR.git @@ -189,13 +189,13 @@ manifest: compare-by-default: false - name: sidewalk repo-path: sdk-sidewalk - revision: b18450c92e9bb4c3e8c1b9eeea1bcd2108addf75 + revision: b93c923af304bc1979927dd433f3628d522ddc41 submodules: true groups: - sidewalk - name: homekit repo-path: sdk-homekit - revision: 036ab556318835618e2666852b24fa49dbb3a6c9 + revision: 4422395de47b29c6d86f78d0b34fcbf07c4dd1c7 groups: - homekit - name: find-my @@ -239,7 +239,7 @@ manifest: remote: throwtheswitch - name: memfault-firmware-sdk path: modules/lib/memfault-firmware-sdk - revision: 0.43.3 + revision: 1.2.4 remote: memfault - name: ant repo-path: sdk-ant