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
  • Do you mean that if you put the Bluetooth function in the network core, you can turn on the IPC function?My Bluetooth function has master and slave functions, I put these two functions on the application core how to communicate with the network and the core, on the contrary, I put these two functions on the network core how to communicate with the application core

Children
  • 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.

  • hi Vidar Berg.

    I verified today that peripheral_uart example doesn't work on the network core, the lbs routine is ok, can't the network core run bluetooth with this type of service?

Related