cancel
Showing results for 
Search instead for 
Did you mean: 

Problems to connect to bootloader on NucleoWB55 board and custom board

YSart.830
Associate II

Hi,

My problem is the following, I cannot connect to bootloader mode of nucleo board and my custom pcb with wb55rgv6.

For Nucleo wb55 board, I do exactly as precised in the documentation, I connect CN7.5 and CN7.7 to put BOOT0 to VDD. I connect JP1 to USB MCU and finally, I connect USB cable to USB_USER. I run STM32CubeProgrammer, I switch to USB connection and there I do not see any device in DFU mode. If I do it in command line, I execute the following command "STM32_Programmer_CLI.exe -l" to list all peripherals that I can connect to but it sys me that there is nothing. I precise that I can do both ways with USB dongle in Bootloader/DFU mode and that driver is up to date, it is the 2018 version delivered with last version of STM32CubeProgrammer.

Because of those problems, my development is stuck, I cannot know FUS and Wireless Firmware states and I can not update it.

On my custom board, coprocessor never sends me the signal that it is ready to handle commands coming from Cortex M4 ("p_sys_event->subevtcode == SHCI_SUB_EVT_CODE_READY" line 202 of BLE_OTA example never reached on my custom board), so I never starts BLE application. I concluded that it is the wireless firmware is not present or not activated but I cannot connect to DFU mode on my custom board neither to investigate more ...

Here is where I am stuck, please any advices or material that could help would be much appreciated.

Thank you in advance !

Yannick.

7 REPLIES 7
Remi QUINTIN
ST Employee

​Your HW settings are correct.

Be sure to close the Cube Programmer (graphical version) before sending any command with the command line interface.

Then run the command STM32_Programmer_CLI.exe -l.

Are you using the last Cube Programmer version V2.2?

YSart.830
Associate II

Hi Remi,

I just updated my Cube Programmer version and it is the same result.

0690X00000Aqf48QAB.png

Remi QUINTIN
ST Employee

​Could you show me the list of command you are using to update your FW in CLI mode?

But I must admit that if you can do it correctly with your dongle, those commands should not be the cause of this issue.

Can you try the STLINK configuration  (Move the JP1 jumper to the USB STL position and switch to the UB STLINK connector) and launch only the STM32_Programmer_CLI.exe -l command. Just to check if it could be a kind of HW issue.

If it is detected, I recommend to use this SWD interface to upgrade your FW and application. With Cube Programmer V2.2, you can do,  via this SWD interface, all the update operations you could do via the USB-DFU interface.

YSart.830
Associate II

With Cube Programmer V2.2 with SWD and with BOOT0 to 0, I succeeded in flashing successfuly FUS and BLE Stack from 1.3 release firmware package.

But there is still a problem, I can not see FUS version like with USB Dongle with the following command (usb1 is usb dongle connected and SWD is Nucleowb55 connected) :

0690X00000AqgB0QAJ.png

And when I try to execute "STM32_Programmer_CLI.exe -c port=SWD -fusgetstate", it says me that this command is still not available with SWD, but if I am not wrong, I succeeded to activate FUS in USB Dongle by launching this command twice, but there I cannot so no activation of FUS and then no activation of Wireless stack. Am I doing something wrong ?

Remi QUINTIN
ST Employee

​>I can not see FUS version like with USB Dongle

  • When reading version returns 0x000 using the SWD interface?
  • In order to read the version, you need two actions:
    • Enable the CM0+ core
    • Prepare the data structure for the System table addresses in line with IPCCDBA option bytes offset value.
  • When you connect through SWD (under reset most of the time), these two steps are not done and so no version isavailable.

>this command (-fusgetstate) is still not available with SWD

  • -fusgetstate is not available with JTAG operator. It supports only two commands: fwupgrade and fwdelete.

YSart.830
Associate II

Thanks to support team by email, we found the solution to connect to DFU Mode. Via STLink and STM32CubeProgrammer, I configured user configurations like the following :

0690X00000ArT1sQAF.png

That way, it does not rely on PH3 pin and I can connect to custom board and eval board in DFU Mode !

But I still have a problem, if I run the BLE_OTA example (or any custom ble application), after starting the CMO+ core, I never get the signal that it is ready to handle commands coming from Cortex M4 ("p_sys_event->subevtcode == SHCI_SUB_EVT_CODE_READY" line 202 of BLE_OTA example), so it never starts BLE application on my custom board but it works perfectly with nucleo board.

Remi QUINTIN
ST Employee

​Back to basics: What are the obtion  bytes => SFSA, SBRV, ...