on
2022-11-08
09:05 AM
- edited on
2024-01-03
09:17 AM
by
Laurids_PETERSE
Onboard, the NUCLEO-WB55RG includes a ST-LINK/V2-1 debugger/programmer with USB reenumeration capability: mass storage, virtual COM port and debug port.
The ST-LINK/V2 is an in-circuit debugger and programmer for the STM8 and STM32 microcontrollers. The JTAG/serial wire debugging (SWD) interfaces are used to communicate with any STM8 or STM32 microcontroller located on an application board. STM32 applications use the USB-full speed interface to communicate with the STM32CubeProgrammer, STM32CubeIDE software tool, or with integrated development environments from third parties.
For quick and easy application prototyping and debugging, out of the box users can easily connect and use the on-board ST-LINK/V2 or with a few on-board modifications users can easily use another debugger interface such as Segger’s J-link.
In today’s article, we will discuss the modifications required to disconnect the NUCLEO-WB55RG’s on-board STLINK V2-1 and instead take advantage of the capability to use and connect the board’s STM32WB55RG to a Segger J-link.
Step 1. On the NUCLEO-WB55RG board, keep jumper JP2 ON. This is necessary as it allows the MCU to be powered from the user USB port, in which we configure in step 2 below. Note that there are multiple ways to provide the STM32WB55 with 3.3V, but this is one of the easiest ways to do so.
Step 2. On the NUCLEO-WB55RG board, on JP1 (5V source), relocate the jumper from USB_STL or whichever other position that the jumper was previously placed, to USB_MCU.
Step 3. On the NUCLEO-WB55RG’s, connect the STM32WB55’s debug pins (left-hand side of JP5) to the following pins on the J-Link debug probe to establish the necessary connections:
Signal | NUCLEO-WB55RG (JP5) | J-Link Debugger |
SWCLK | Pin 7 – SWCLK | Pin 9 – SWCLK / TCK |
GND | Pin 1 – GND | Pin 4 – GND |
SWDIO | Pin 5 – SWDIO | Pin 7 – SWDIO / TMS |
NRST | Pin 3 – NRST | Pin 15 – NRST |
SWO | Pin 9 – SWO | Pin 13 – SWO / TDO |
Target’s VDD | Pin 11 – VDD_MCU | Pin 1 – VTREF |
In this case, the printing of the signals on the board accurately corresponds to the pins’ location, so you can just go ahead and connect to the pins as appropriate.
Step 4. Now, power the J-Link debug probe and power the NUCLEO-WB55RG by connecting a micro-B USB to the NUCLEO-WB55RG’s on-board user USB port.
Launch J-Flash and connect. Congratulations! Now, you have successfully established a connection between the STM32WB55RG on the Nucleo board and Segger’s J-Link debug probe.
The Segger J-link debug probe can also be extended to connect to other STM32 Nucleo boards. For more information on this, and the connection details please see Segger’s Wiki article on Connecting to STM32 Nucleo Boards.
The STM32WB Nucleo-64 boards are Bluetooth® Low Energy (Bluetooth® Low Energy) wireless and ultra-low-power devices embedding a powerful and ultra-low-power radio compliant with the Bluetooth® Low Energy (Bluetooth® Low Energy) SIG specification v5.2. In addition, NUCLEO-WB55RG also offers a radio compliant with IEEE 802.15.4-2011 standard and allows a simple and quick evaluation of STM32WB55x and STM32WB35xx devices.
Nice one. As mentionned there are multiple ways to provide 3.3V but my prefereed one when using a segger J-Link is by getting it from the probe itself (5V supply) to the Nucleo VIN sparing a USB cable. The only thing needed is a "Target.PowerOn (BP_STATE_ON);" directive in jlink/ozone project.