I started encountering a problem when calling bt_enable(ReturnCallBack)
. The ReturnCallBack
function returns the error ENOBUFF (105)
. I assume it's a memory allocation issue in the Bluetooth stack. How can I solve this? How and where is the Bluetooth stack memory managed?
void ReturnCallBack( int err ) { if ( err ) { LOG_WRN( "ReturnCallBack err %d", err ); return; } k_sem_give( &bluetoothReady ); } [...] bt_enable( ReturnCallBack )
my prj.conf
################################################ ### SYSTEM CONFIGURATION ####################### ################################################ CONFIG_LOG=y CONFIG_LOG_MAX_LEVEL=4 CONFIG_USE_SEGGER_RTT=y CONFIG_RTT_CONSOLE=y CONFIG_RING_BUFFER=y CONFIG_HEAP_MEM_POOL_SIZE=8192 CONFIG_REBOOT=y CONFIG_KERNEL_BIN_NAME="xxxxxx" # CONFIG_DISABLE_FLASH_PATCH=y CONFIG_POWEROFF=y CONFIG_PM_DEVICE=y # printf floats support CONFIG_CBPRINTF_LIBC_SUBSTS=y CONFIG_CBPRINTF_FP_SUPPORT=y # time library support CONFIG_NEWLIB_LIBC=y CONFIG_POSIX_API=y CONFIG_THREAD_NAME=y CONFIG_TRACING=y CONFIG_SEGGER_SYSTEMVIEW=y CONFIG_TRACING_CONDVAR=n CONFIG_TRACING_CTF_TIMESTAMP=y CONFIG_TRACING_EVENT=y CONFIG_TRACING_FIFO=y CONFIG_TRACING_HEAP=n CONFIG_TRACING_ISR=n CONFIG_TRACING_LIFO=n CONFIG_TRACING_MAILBOX=n CONFIG_TRACING_MEMORY_SLAB=n CONFIG_TRACING_MESSAGE_QUEUE=n CONFIG_TRACING_MUTEX=y CONFIG_TRACING_PIPE=n CONFIG_TRACING_PM=n CONFIG_TRACING_POLLING=n CONFIG_TRACING_QUEUE=n CONFIG_TRACING_SEMAPHORE=y CONFIG_TRACING_STACK=y CONFIG_TRACING_SYSCALL=n CONFIG_TRACING_THREAD=y CONFIG_TRACING_TIMER=n CONFIG_TRACING_WORK=n ################################################ ### SOC'S PERIPHERALS CONFIGURATION ############ ################################################ CONFIG_GPIO=y CONFIG_PWM=y CONFIG_LED=y CONFIG_I2C=y CONFIG_SPI=y CONFIG_USB_DEVICE_STACK=y CONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=n CONFIG_NRFX_SPIM2=y # CONFIG_NRFX_TIMER1=y CONFIG_NRFX_GPIOTE0=y CONFIG_NRFX_GPIOTE1=y CONFIG_NRFX_PPI=y CONFIG_NRFX_QSPI=y CONFIG_NORDIC_QSPI_NOR=y CONFIG_NORDIC_QSPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096 CONFIG_USB_DEVICE_MANUFACTURER="xxxxxxxx" CONFIG_USB_DEVICE_PRODUCT="xxxxxxxx" CONFIG_USB_DEVICE_SN="xxxxxxxxx" CONFIG_USB_DEVICE_PID=0x0002 CONFIG_USB_DEVICE_VID=0xAD5A ################################################ ### NVS MEMORY CONFIGURATION ################### ################################################ CONFIG_NVS=y ################################################ ### FLASH MEMORY SUPPORT CONFIGURATION ######### ################################################ CONFIG_FLASH=y CONFIG_FLASH_PAGE_LAYOUT=y CONFIG_MPU_ALLOW_FLASH_WRITE=y CONFIG_FLASH_MAP=y ################################################ ### BLE CONFIGURATION ########################## ################################################ CONFIG_BT=y CONFIG_BT_PERIPHERAL=y CONFIG_BT_DEVICE_NAME="xxxxxx" # CONFIG_BT_SMP=y CONFIG_BT_DEVICE_APPEARANCE=1345 CONFIG_BT_MAX_CONN=1 CONFIG_BT_LL_SOFTDEVICE=y CONFIG_BT_BUF_ACL_RX_SIZE=502 CONFIG_BT_ATT_PREPARE_COUNT=2 # CONFIG_BT_L2CAP_TX_BUF_COUNT=10 CONFIG_BT_L2CAP_TX_MTU=498 # CONFIG_BT_L2CAP_DYNAMIC_CHANNEL=y CONFIG_BT_CONN_TX_MAX=10 CONFIG_BT_BUF_ACL_TX_COUNT=10 CONFIG_BT_BUF_ACL_TX_SIZE=502 CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 CONFIG_BT_CTLR_PHY_2M=y CONFIG_BT_CTLR_RX_BUFFERS=2 CONFIG_BT_CTLR_SDC_MAX_CONN_EVENT_LEN_DEFAULT=4000000 CONFIG_BT_CTLR_ADVANCED_FEATURES=y CONFIG_BT_CTLR_CONN_RSSI=y CONFIG_BT_USER_DATA_LEN_UPDATE=y CONFIG_BT_USER_PHY_UPDATE=y CONFIG_BT_PERIPHERAL_PREF_MIN_INT=6 CONFIG_BT_PERIPHERAL_PREF_MAX_INT=80 CONFIG_BT_PERIPHERAL_PREF_LATENCY=0 CONFIG_BT_PERIPHERAL_PREF_TIMEOUT=400 CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS=n ################################################ ### MASS STORAGE CONFIGURATION ################# ################################################ CONFIG_USB_MASS_STORAGE=y CONFIG_MASS_STORAGE_DISK_NAME="NAND" ################################################ ### FILE SYSTEMFS CONFIGURATION ################ ################################################ CONFIG_DISK_DRIVER_FLASH=y CONFIG_FILE_SYSTEM=y CONFIG_FAT_FILESYSTEM_ELM=y CONFIG_FS_FATFS_LFN=y ################################################ ### DFU CONFIGURATION ########################## ################################################ CONFIG_NET_BUF=y CONFIG_ZCBOR=y CONFIG_CRC=y CONFIG_MCUMGR=y CONFIG_STREAM_FLASH=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_MAIN_STACK_SIZE=4096 CONFIG_THREAD_MONITOR=y CONFIG_MCUMGR_GRP_OS_TASKSTAT=y CONFIG_STATS=y CONFIG_STATS_NAMES=y CONFIG_IMG_MANAGER=y CONFIG_MCUMGR_GRP_IMG=y CONFIG_MCUMGR_GRP_OS=y CONFIG_MCUMGR_GRP_STAT=y CONFIG_MCUBOOT_UTIL_LOG_LEVEL_WRN=y CONFIG_SERIAL=y CONFIG_UART_LINE_CTRL=y CONFIG_CONSOLE=y CONFIG_MCUMGR_TRANSPORT_UART=y CONFIG_BASE64=y