Hi @whitequark I'm trying to use a Glasgow to program an STM32F205RG that has been flashed with a bad firmware
-
@RoganDawes SWD doesn't really need one (unless your firmware configures SWD pins as something else, but this is not the case here); I suggest using probe-rs applet rather than bare swd-probe unless you want to implement the flashing algo yourself
@whitequark I'm just trying everything to get control of the chip again
Am busy installing probe-rs currently -
@whitequark I'm just trying everything to get control of the chip again
Am busy installing probe-rs currently@whitequark Unfortunately, probe-rs was also unable to control my chip.

-
@whitequark Unfortunately, probe-rs was also unable to control my chip.

@RoganDawes try enumerating the SWD interface with swd-probe, this should return at least one MEM-AP
if this does not work, you could use glasgow to supply a 8 MHz clock
-
@RoganDawes try enumerating the SWD interface with swd-probe, this should return at least one MEM-AP
if this does not work, you could use glasgow to supply a 8 MHz clock
@whitequark swd-probe fails with "communication error".
How would I provide an 8MHz clock? I presume I would need to disable the 26MHz one somehow? Direct connection to the OSC_IN pins on the microcontroller?
-
@whitequark swd-probe fails with "communication error".
How would I provide an 8MHz clock? I presume I would need to disable the 26MHz one somehow? Direct connection to the OSC_IN pins on the microcontroller?
@whitequark I used `glasgow run swd-probe -V A=3.3 dump-memory 0x08000000 4096`
-
@whitequark swd-probe fails with "communication error".
How would I provide an 8MHz clock? I presume I would need to disable the 26MHz one somehow? Direct connection to the OSC_IN pins on the microcontroller?
@RoganDawes
glasgow multi swd-probe ... ++ control-clock ...(see the help for individual applets)yes, lift the OSC_IN pin or cut the trace or remove the crystal, then solder a connection from glasgow to OSC_IN
-
@RoganDawes
glasgow multi swd-probe ... ++ control-clock ...(see the help for individual applets)yes, lift the OSC_IN pin or cut the trace or remove the crystal, then solder a connection from glasgow to OSC_IN
@whitequark Ok, thanks for your help. I'll give that a go. Much appreciated. Have a great evening.
-
@whitequark Ok, thanks for your help. I'll give that a go. Much appreciated. Have a great evening.
@RoganDawes hope it works! if it still fails to establish SWD comms, try the following:
- lower SWD frequency (as low as 1 MHz should be enough)
- produce a verbose log (
glasgow -vv) and upload it
-
@RoganDawes hope it works! if it still fails to establish SWD comms, try the following:
- lower SWD frequency (as low as 1 MHz should be enough)
- produce a verbose log (
glasgow -vv) and upload it
@whitequark I tried running at --freq 1000, in a loop, and noticed that the error changed from "communication error" to "target failed to acknowledge debug power-up request" after a while, and then stayed with that error.
btw, I'm gobsmacked by glasgow running in the browser. That's a monumental achievement! Well done!

-
R relay@relay.infosec.exchange shared this topic
-
@whitequark I tried running at --freq 1000, in a loop, and noticed that the error changed from "communication error" to "target failed to acknowledge debug power-up request" after a while, and then stayed with that error.
btw, I'm gobsmacked by glasgow running in the browser. That's a monumental achievement! Well done!

@whitequark think I’m going to have to give this one up. That crystal is a little too confined for my abilities with an iron.
