I have a working build for the nRF5340 DK that implements a custom service and communicates over BLE. As I add features, the binary for the Application Core changes; the binary for the Network Core remains the same. I have increased the MTU size to 185 to increase BLE throughput. That is also working. However, I am having issues with certain added configuration parameters within prj.conf, specifically CONFIG_BT_L2CAP_DYNAMIC_CHANNEL=y and CONFIG_BT_CTLR_DATA_LENGTH_MAX=251. Apparently, I am missing dependencies for these to become active. I believe there are configuration changes required within the Remote Core build (hci_rpmsg) in order for the configurations with prj.conf to work. There is discussion about a "child_image" folder that might address this, but it is very unclear to me how to add a child_image folder into the project.
My CMakeLists.txt has the following entries:
# SPDX-License-Identifier: Apache-2.0
cmake_minimum_required(VERSION 3.20.0)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(veris_chemo_port)
target_sources(app PRIVATE src/main.c)
# Custom files and folders
target_sources(app PRIVATE
src/bluetooth/ble_interface.c
src/bluetooth/vcp_service.c
)
zephyr_library_include_directories(src/bluetooth)
zephyr_library_include_directories(${ZEPHYR_BASE}/samples/bluetooth)
My prj.conf has the following entries: