cancel
Showing results for 
Search instead for 
Did you mean: 

Issue with BLE Stack Initialization on STM32WB5MM - APPE_SysUserEvtRx() Not Being Reached

majd_sleem
Associate II

Dear ST Support Team,

I hope this message finds you well. I am currently working on a project using the STM32WB5MM module, and I am encountering an issue with the BLE stack initialization in my application.

I have successfully installed the stm32wb5x_BLE_Stack_full_fw.bin wireless firmware using STM32CubeProgrammer, and I am attempting to initialize the BLE stack. However, the function APPE_SysUserEvtRx(void * pPayload), which handles system events from the M0+ core, is not being reached. This suggests that the expected event, such as VS_HCI_C2_Ready, is not being triggered, preventing the BLE stack from fully initializing.

Here is a summary of the steps I have taken:

  1. I have flashed the stm32wb5x_BLE_Stack_full_fw.bin file for BLE functionality using STM32CubeProgrammer.
  2. The transport layer is initialized with appe_Tl_Init(), but the application does not proceed beyond this point as the APPE_SysUserEvtRx() is not called.
  3. I am using FreeRTOS, which is configured through STM32CubeMX, to manage tasks and timing.
  4. I have verified that the M4 core is running and checked that the system initialization functions are correctly called, including shci_init() and power configurations.

Despite these steps, the communication between the M4 and M0+ cores does not seem to be working as expected, and the BLE stack does not proceed beyond initialization.

Could you please advise on potential causes or troubleshooting steps for this issue? Is there a known problem or additional setup required to ensure the M0+ core is properly running and communicating with the M4 core?

Thank you for your assistance.

Best regards,

3 REPLIES 3
STTwo-32
ST Employee

Hello @majd_sleem 

First, have you clicked on the button "start wireless stack" after Stack and FUS upgrade. If no, please re-install both of them using CubeProgrammer and the V1.20.0 of the STM32CUBEWB and don't forget to click on the "Start wireless Stack" button on the Cube Programmer Fus interface.

Ps: please try to test your firmware on the STM32WB5M-DK board so you can make sure that you don't have any design issues. 

Also, if my answer for your last post answered your question, please select it as best answer using the buttoon "accept as solution" so others may find it easier.

Best Regards.

STTwo-32 

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

majd_sleem
Associate II

Hi, 

I have updated the firmware and the FUS and click on "Start wireless Stack" but same problem. 

I've removed the comment from APP_BLE_Init(); in void MX_APPE_Init(void)

the code is stuck in the below section (under void APP_BLE_Init()) and doesn't move forward.

 

/**

* Starts the BLE Stack on CPU2

*/

if (SHCI_C2_BLE_Init( &ble_init_cmd_packet ) != SHCI_Success)

{

Error_Handler();

}

 

Am I doing something wrong ?

 

Hello @majd_sleem 

Could you please try to find the difference between your application and one of our Examples based on FreeRTOS such as https://github.com/STMicroelectronics/STM32CubeWB/tree/master/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_HeartRateFreeRTOS

If you are not able to find it. Please attach your project here.

Best answer.

STTwo-32 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.