2025-02-21 01:28 PM
I am using a STM32WB55RCV6 for a BLE project. I did initial development on the NUCLEO-WB55RG development board and it works ok. Ignoring all other functions, the basic feature I am trying to see work is BLE advertising.
After moving that code to a custom designed board, and booting the coprocessor software (that handles BLE wireless functions) the coprocessor seems to get to the WIRELESS_FW_RUNNING state ok, but then hangs when I try to run hci_reset(). I can see the command is sent in, but nothing comes back and the application processor hangs while waiting.
I have checked key clocks on the Custom board as configured by MX and they seem functionally equivalent to the Nucleo board, namely a SYSCLK of 32 MHz on both, and a RF Timeout clock of 31.25 KHz (compared to the Nucleo board which has a RF timeout clock of 32.768 KHz). My assumption is the minor difference in frequency of the RF timeout clock does not matter.
Note I am using the coprocessor binaries for the full BLE stack. (Not Extended). This stack is identical for the Nucleo board and the Custom board. I also loaded the FUS binary file. Both went to the correct locations, and I did press the "START WIRELESS" button. I believe the BLE stack is running because it issues the event WIRELESS_FW_RUNNING.
I am looking for tips on what might cause this problem, and any tips on how to debug it. I have read about turning on debug logging but I am unclear if this will emit debug statements from the coprocessor or just from the main application processor.
One other final point, I have lingering doubts about the transmission network and filter, and antenna connection. I currently doubt that even if antenna components are badly tuned that it could cause the hci_reset() to fail. But I have read this problem might be attributable to antenna problems or power supply problems. Thoughts?
Sincere Thanks in Advance!
--- Eric