2021-12-02 09:31 AM
Hi,
I have a problem with USB CDC on STM32WB, after calling LL_C1_IPCC_SetFlag_CHx(IPCC, HW_IPCC_SYSTEM_CMD_RSP_CHANNEL). The USB stops working. Data cannot be sent or received via USB and also the USB IRQ is not working. The USB does not work also after finishing MX_APPE_Process() function.
The backtrace of LL_C1_IPCC_SetFlag_CHx call:
MX_APPE_Process() -> UTIL_SEQ_Run (Mask_bm=4294967295) -> shci_user_evt_proc () -> APPE_SysUserEvtRx (pPayload=0x2002ff7c) -> APPE_SysEvtReadyProcessing () -> APP_THREAD_Init () -> SHCI_C2_THREAD_Init () -> shci_send (cmd_code=64615, len_cmd_payload=0 '\000', p_cmd_payload=0x0, p_rsp=0x2002ff1c) -> TL_SYS_SendCmd (buffer=0x0, size=0) -> HW_IPCC_SYS_SendCmd () -> LL_C1_IPCC_SetFlag_CHx(IPCC, HW_IPCC_SYSTEM_CMD_RSP_CHANNEL);
Here is my CubeMX configuration for USB and STM32_WPAN.
2022-01-21 04:55 AM
Hi,
I ran into the same issue with USB and BLE not working together. It requires a semaphore which you need to set yourself.
See : Building wireless applications with STM32WB Series microcontrollers - Application note Chapter Shared peripherals (Figure 9. Algorithm to use USB on CPU1).
If you are able to get it to work i'd like to hear back from you. A workaround could be to use UART instead of USB peripheral.
Good luck!