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
Remi QUINTIN
ST Employee

​I am surprised that the NRST pin is not having this kind of 3V3_STLINK pull up as on the picture below.

Could you check this?

Remi QUINTIN
ST Employee
 
Remi QUINTIN
ST Employee

​You can get the schematics of our Nucleo board MB1355 on the st.com site.

Remi QUINTIN
ST Employee

​Could you also check that the following option bytes are correctly set:

If you want to rely on the external PH3/BOOT0 pin value to define the start up , set the nSWBOOT0 option byte to 1.

If you want to rely only on SW values, set the option bytes as follow: nSWboot0=0  nboot1=1  nboot0=1

Good point, we don't have any pullup with the NRST on our board. Is this why the STLink can't detect anything? If so, we only have 10K resistors right now; will that work or does the pullup have to be 100K?

As for setting the option bytes, I assume that step is for after we get STLink to detect the MCU?

Perhaps because you create different expectations in the Data Sheet for the parts? https://www.st.com/resource/en/datasheet/stm32wb55cc.pdf

0690X00000DYiWVQA1.jpg

You shouldn't need R or C parts externally, or any connectivity, for the part to start properly. Here you have a C to give some stickyness to the reset button, and the contact bounce.

The NRST usually gets clamped to ground when the POR circuit detects a brown out, or most often the absence of VDDA in STM32 designs.

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

The device has an internal pull-up on the pin, around 40K per docs. It is basically to ensure that the pin follows the supply ramping, and the pin is internally clamped to zero by the POR/BOR circuit.

Relying on RC time constants for reset circuits on synchronous designs is fraught with issues.

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

I see, so leaving out the external pullup probably isn't what's causing the issue? Is there anything else not soldering-related that we could check?

I didn't walk through the pin list, but nothing in the schematic was jumping out. The NRST shouldn't be driven HIGH externally, and should measure HIGH if the VDDA is present and it resets properly internally.

Soldering or circuit issues are one. Part orientation can be another, some ST parts have mold ejector marks that look like pin 1 designation. Not using the STM32WB part here.

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