cancel
Showing results for 
Search instead for 
Did you mean: 

STLink doesn't detect WB55 on custom board

LW.1
Associate II

Hi everyone,

My group has made a custom board for the STM32WB55RG and included a 6-pin configuration for connecting it to a STLink V2 via SWD (target: VCC, SWO, SWDIO, SWCLK, NRST, GND). However in STLink Utility we keep getting an error message when trying to connect (it also happens when using CubeProgrammer):

    Can not connect to target!
     
    Please select "Connect Under Reset" mode from Target->Settings menu and try again.
     
    If you're trying to connect to a low frequency application , please select a lower SWD Frequency mode from Target->Settings menu.

The Utility settings are SWD port at 4.0 MHz, Normal mode, and Hardware Reset mode. The firmware on the STLink has also been updated.

These are our MCU and programming pin schematics:

0690X00000DYbbsQAD.png

0690X00000DYbbxQAD.png

We're really unsure of what the problem could be; from our past projects and looking at what other people have done online, we can't find anything wrong with our schematic. We've also short tested the SWD pins and verified the MCU voltage is at 3.3V several times.

Furthermore, we soldered another MCU onto another of our boards by itself - so the BOOT0 pin is floating and there aren't any decoupling caps, which we don't think should be an issue unless the BOOT0 pin is supposed to be pulled down - and powered it with 3.3V. Here too we can't get STLink to connect and our short testing doesn't turn up anything.

The only thing we can think of right now is that our short testing gave us a false positive and thus something somewhere is soldered poorly. What else could we check, and is there an error in our schematics after all? Thanks for any suggestions you may have.

13 REPLIES 13
LW.1
Associate II

An update: turns out the NRST wasn't going high, so for now we've soldered a new board with just the MCU and the BOOT0. On this we see NRST go high after powering on the board with 3.3V, and BOOT0 is low, but STLink still doesn't recognize it. The debugger pins are also connected properly, all the VDD/VDDA/VSSA are powered properly, and the MCU is oriented correctly. Does the board need anything else? What else could possibly be wrong?

For a standalone ST-LINK make sure pin 1 is powered by the Target VDD and the voltage correctly reported in ST-LINK Utilities.

For a NUCLEO or DISCO base ST-LINK make sure you have fully disconnected the on board target device.

A secondary signs of life method is to pull BOOT0 high and try to ping the system loader UART directly, ie at 9600 8E1 sending 0x7F pattern, look for 0x79 response.​

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
LW.1
Associate II

Another update: on our Nucleo board, when it powers on, we see NRST go high, SWDIO go high, and SWCLK remain low. However on our board we only see NRST go high; SWDIO stays low. Should it be the same behaviour as the Nucleo? What could cause SWDIO to stay low in this case?

LW.1
Associate II

Okay, we finally got it working. The reason SWDIO wasn't going high was because we hadn't soldered on the buck converter for it; once that was on and the MCU connections double-checked, we can connect to it now. Thanks @clive1 for your time!