Hello community,
I am trying to develop a custom bluetooth HCI_USB code for the BL5340PA BLE controller board. The Liard Connectivity's(now Ezurio) BL5340PA : https://www.ezurio.com/wireless-modules/bluetooth-modules/bl5340pa-series-long-range-bluetooth-module
These are the following that I want to do in my project:
1. Generate separate binaries for the application core and the network core
2. Enable serial recovery feature so that upon each reset of the device, it goes into recovery mode and a new firmware can be uploaded using mcumgr commands.
To implement the above I have taken reference of the Serial Recovery examples by Hellesvik which is shared on his Github: https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/serial_recovery/mcuboot_serial_recovery_cdc_acm
Based on the examples above I have modified the following files of my project :
Contents of the prj.conf file :
Since I want to perform serial recovery over cdc_acm I have also added a pm_static.yml file that increases the partition for MCUBOOT to fit the cdc_acm drivers.
The contents of the partition manager yml file are as follows :
I have also created a child_image folder where I have created a mcuboot.conf file to configure the binary generation for the network core.
The contents of the mcuboot.conf are as follows :
There is also a hci_rpmsg file that is being used to disable the SPI communication with the network core and set the gain to a fixed value because of stability issues while the HCI_USB code works for scanning devices.
Contents of hci_rpmsg file:
While the code compiles successfully when I select the build for nrf5340_dvk_cpuapp but I get an error when I select the board as bl5340pa_dvk_cpuapp. I am utilizing the Zephyr/nrf SDK version 2.4.1 (received from Laird for updated TX power setting rules: GitHub - LairdCP/bl5340pa_manifest: Manifest for the Laird Connectivity fork of the nRF Connect SDK with support for the BL5340PA).
I get the following error while building the code:
I can kind of figure it out that it has something to do with the flash partitions not being of correct size in order to accomodate certain sections of the code but I do not have an idea on how to resolve it.
Any help to solve this issue would be of great help!