[nRF5340] BLE DFU – Increase transfer rate kB/s

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,

Parents Reply Children
No Data
Related