The IPC and bt_enable are turned on at the same time, and the chip is not working

If I initialize the IPC and then turn on the bt_enable, it will lead to the status quo in Figure 2, what is the reason?

If I block k_sem_take (&bound_sem, K_FOREVER) and the application core binds the network core unsuccessfully, the ipc sends back -2003, and the Bluetooth initialization can be enabled

CONFIG_UART_ASYNC_API=y
CONFIG_NRFX_UARTE0=y
CONFIG_SERIAL=y

CONFIG_GPIO=y

# CONFIG_PRINTK=y

CONFIG_HEAP_MEM_POOL_SIZE=8192

CONFIG_BT=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_DEVICE_NAME="Nordic_UART_Service"
CONFIG_BT_MAX_CONN=2
CONFIG_BT_MAX_PAIRED=2

# Enable the NUS service
CONFIG_BT_NUS=y

# Enable bonding
CONFIG_BT_SETTINGS=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_NVS=y
CONFIG_SETTINGS=y

# Enable DK LED and Buttons library
CONFIG_DK_LIBRARY=y

# This example requires more stack
CONFIG_MAIN_STACK_SIZE=1152
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

# Make sure printk is printing to the UART console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=n
# CONFIG_RTT_CONSOLE=y
# Config logger
CONFIG_LOG=y
CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y
CONFIG_LOG_BACKEND_UART=n

CONFIG_LOG_PRINTK=y
CONFIG_LOG_MODE_IMMEDIATE=y

CONFIG_ASSERT=y

#主站
# Enable the BLE stack with GATT Client configuration
CONFIG_BT_CENTRAL=y
CONFIG_BT_SMP=y
CONFIG_BT_GATT_CLIENT=y
# Enable the BLE modules from NCS
CONFIG_BT_NUS_CLIENT=y
CONFIG_BT_SCAN=y
CONFIG_BT_SCAN_FILTER_ENABLE=y
CONFIG_BT_SCAN_UUID_CNT=1

CONFIG_BT_GATT_DM=y

CONFIG_NCS_SAMPLES_DEFAULTS=y

#ADC
CONFIG_ADC=y
#FLASH
CONFIG_STDOUT_CONSOLE=y
CONFIG_FLASH=y
CONFIG_SPI=y

#IPC
CONFIG_MBOX=y
CONFIG_IPC_SERVICE=y
CONFIG_IPC_SERVICE_LOG_LEVEL_INF=y
CONFIG_IPC_SERVICE_BACKEND_ICMSG=y
Here's my config
Parents Reply
  • No, it is possible to establish communication channel between the app and netcore regardless of whether you are running a split stack or full stack configuration. You can run the full Bluetooth stack on the network core, but as mentioned earlier, this configuration is not supported for production. Also, depending on your requirements, it may also be difficult to get everything to fit on the network core due to the memory constraints. 

    I recommend using the well tested and proven split Controller and Host configuration and run your algorithm toghether with the Bluetooth host on the application core, unless there are technical reasons making this impossible.

Children
Related