Author Topic: Quick hack to get SWO on ST-Link clones  (Read 14928 times)

0 Members and 1 Guest are viewing this topic.

Offline TK

  • Super Contributor
  • ***
  • Posts: 1604
  • Country: us
  • I am a Systems Analyst who plays with Electronics

Offline robca

  • Regular Contributor
  • *
  • Posts: 131
Re: Quick hack to get SWO on ST-Link clones
« Reply #26 on: December 08, 2019, 05:34:14 pm »
Actually if you are in the USA, Digikey at $10.99 + $4.99 shipping is cheaper, even if you have Prime. Any of the Nucleo 64 boards currently seem to have a detachable STLink. Nucleo 144 used to have detachable STLinks, but now are a monolithic PCB, and it's inconvenient to use the whole board as an STLink

Still, a Maple Mini is $3.70. If you live outside of the USA, the Nucleo is even more expensive, while the Maple mini is still $3.70. Chinese STLink 2.0 clones are <$2. It's good to have options

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 5637
  • Country: fr
Re: Quick hack to get SWO on ST-Link clones
« Reply #27 on: December 08, 2019, 05:40:08 pm »
Just keep in mind that both the ST-Link provided with Nucleo boards and the majority of ST-Link clones only support 3.3V for SWD. So if you're using a different Vdd in your particular design, they are useless.

A proper ST-Link V2 does the voltage translation; AFAIR, unfortunately the base ST-Link V3 doesn't! (and I think needs an additional module for this...)

Offline GromBeestje

  • Regular Contributor
  • *
  • Posts: 158
  • Country: nl
  • AndrevS @ IRC
Re: Quick hack to get SWO on ST-Link clones
« Reply #28 on: December 08, 2019, 07:11:30 pm »
From what I recall from schematics I've seen, the ST-Link does have level shifting for the incoming signal, but none for the outgoing signal. Which is fine, as the SWD and JTAG pins on STM32 are FT, so when your STM32Lxxx is running at 1.8 Volts, it  accepts input at 3,3 volts.

When I look at the I/O levels for the STM32F103:
V_IH for standard I/O pins : 0.41*(V_DD -2 V)+1.3 V
V_IH for FT I/O pins: 0.42*(V_DD -2 V)+1 V

When running at 3.3 volts, this gives 1.833 V for normal I/O pins, and 1.546 V for FT I/O pins. So, looking at these numbers, it looks like it should work even without level translations.

Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo