Hi Nordic Support Team,
I’m working on an application running on a custom nRF5340 board with nRF Connect SDK 3.0.2.
My goal is to perform BLE DFU only on the Application Core, using an external flash memory.
Is there a way to improve the BLE DFU performance, i.e., increase the maximum transfer rate (kB/s)?
Currently, I’m achieving around 5 kB/s on both Android and iOS.
My configuration:
prj.conf
# Enable Hardware CONFIG_SPI=y CONFIG_SPI_NOR=y CONFIG_LED=y CONFIG_PWM=y CONFIG_ADC=y CONFIG_GPIO=y CONFIG_ADC_ASYNC=y CONFIG_NRFX_SAADC=y CONFIG_PWM_NRFX=y CONFIG_WATCHDOG=y CONFIG_NFCT_PINS_AS_GPIOS=y CONFIG_I2C=y CONFIG_I2C_TARGET=y # BT CONFIG_BT=y CONFIG_BT_CENTRAL=y CONFIG_BT_PERIPHERAL=y CONFIG_BT_SCAN=y CONFIG_BT_SCAN_FILTER_ENABLE=y CONFIG_BT_SCAN_NAME_CNT=1 CONFIG_BT_SCAN_MANUFACTURER_DATA_CNT=1 CONFIG_BT_SCAN_WITH_IDENTITY=y CONFIG_BT_ID_MAX=1 CONFIG_BT_EXT_ADV=y CONFIG_BT_DEVICE_NAME="AURA_LR_TAG" CONFIG_BT_DDFS=y CONFIG_BT_RX_STACK_SIZE=8192 CONFIG_MPSL=y CONFIG_MPSL_TIMESLOT_SESSION_COUNT=1 # Distance Measurement CONFIG_DM_MODULE=y CONFIG_DM_TIMESLOT_RESCHEDULE=y CONFIG_DM_GPIO_DEBUG=n CONFIG_DM_MODULE_LOG_LEVEL_DBG=n CONFIG_DM_HIGH_PRECISION_CALC=n # Debug CONFIG_DEBUG=y CONFIG_DEBUG_THREAD_INFO=y CONFIG_DEBUG_OPTIMIZATIONS=y # LOG and RTT CONFIG_LOG=y CONFIG_CONSOLE=y CONFIG_RTT_CONSOLE=y CONFIG_USE_SEGGER_RTT=y CONFIG_LOG_BACKEND_RTT=y CONFIG_LOG_MODE_IMMEDIATE=y # Power Management CONFIG_PM=y CONFIG_PM_DEVICE=y CONFIG_PM_DEVICE_RUNTIME=y CONFIG_PM_POLICY_DEFAULT=y # Enable FOTA over Bluetooth LE CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
sysbuild/ipc_radio/prj.conf:
CONFIG_HEAP_MEM_POOL_SIZE=2048 CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 CONFIG_MBOX=y CONFIG_IPC_SERVICE=y CONFIG_BT=y CONFIG_BT_HCI_RAW=y CONFIG_BT_MAX_CONN=8 # Enable and adjust the below value as necessary CONFIG_BT_BUF_EVT_RX_COUNT=16 CONFIG_BT_BUF_EVT_RX_SIZE=255 CONFIG_BT_BUF_ACL_RX_SIZE=255 CONFIG_BT_BUF_ACL_TX_SIZE=251 CONFIG_BT_BUF_CMD_TX_SIZE=255 CONFIG_IPC_RADIO_BT=y CONFIG_IPC_RADIO_BT_HCI_IPC=y # Distance Measurement CONFIG_DM_MODULE=y CONFIG_DM_MODULE_RPC=y CONFIG_DM_MODULE_RPC_HOST=y CONFIG_MPSL=y CONFIG_MPSL_TIMESLOT_SESSION_COUNT=1 CONFIG_DM_GPIO_DEBUG=n # BT CONFIG_BT_EXT_ADV=y # NRF RPC CONFIG_NRF_RPC_THREAD_POOL_SIZE=4
Best regards,