Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. Hi @whitequark I'm trying to use a Glasgow to program an STM32F205RG that has been flashed with a bad firmware

Hi @whitequark I'm trying to use a Glasgow to program an STM32F205RG that has been flashed with a bad firmware

Scheduled Pinned Locked Moved Uncategorized
12 Posts 2 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R rogandawes@infosec.exchange

    Hi @whitequark I'm trying to use a Glasgow to program an STM32F205RG that has been flashed with a bad firmware.
    I was trying to make a cdcacm gadget, and flashed with a libopencm3-based firmware, having selected the HSE clock as 8MHz. Turns out the board has a 26MHz crystal, and now it is not responding to st-info or BMDA, via an ST-Linkv2 probe.
    Hoping the Glasgow big gun may have more luck, but it seems that the swd-probe applet doesn't have an option to configure a reset pin?

    whitequark@social.treehouse.systemsW This user is from outside of this forum
    whitequark@social.treehouse.systemsW This user is from outside of this forum
    whitequark@social.treehouse.systems
    wrote last edited by
    #2

    @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

    R 1 Reply Last reply
    0
    • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

      @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

      R This user is from outside of this forum
      R This user is from outside of this forum
      rogandawes@infosec.exchange
      wrote last edited by
      #3

      @whitequark I'm just trying everything to get control of the chip again 🙂 Am busy installing probe-rs currently

      R 1 Reply Last reply
      0
      • R rogandawes@infosec.exchange

        @whitequark I'm just trying everything to get control of the chip again 🙂 Am busy installing probe-rs currently

        R This user is from outside of this forum
        R This user is from outside of this forum
        rogandawes@infosec.exchange
        wrote last edited by
        #4

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

        whitequark@social.treehouse.systemsW 1 Reply Last reply
        0
        • R rogandawes@infosec.exchange

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

          whitequark@social.treehouse.systemsW This user is from outside of this forum
          whitequark@social.treehouse.systemsW This user is from outside of this forum
          whitequark@social.treehouse.systems
          wrote last edited by
          #5

          @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

          R 1 Reply Last reply
          0
          • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

            @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

            R This user is from outside of this forum
            R This user is from outside of this forum
            rogandawes@infosec.exchange
            wrote last edited by
            #6

            @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?

            R whitequark@social.treehouse.systemsW 2 Replies Last reply
            0
            • R rogandawes@infosec.exchange

              @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?

              R This user is from outside of this forum
              R This user is from outside of this forum
              rogandawes@infosec.exchange
              wrote last edited by
              #7

              @whitequark I used `glasgow run swd-probe -V A=3.3 dump-memory 0x08000000 4096`

              1 Reply Last reply
              0
              • R rogandawes@infosec.exchange

                @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@social.treehouse.systemsW This user is from outside of this forum
                whitequark@social.treehouse.systemsW This user is from outside of this forum
                whitequark@social.treehouse.systems
                wrote last edited by
                #8

                @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

                R 1 Reply Last reply
                0
                • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                  @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

                  R This user is from outside of this forum
                  R This user is from outside of this forum
                  rogandawes@infosec.exchange
                  wrote last edited by
                  #9

                  @whitequark Ok, thanks for your help. I'll give that a go. Much appreciated. Have a great evening.

                  whitequark@social.treehouse.systemsW 1 Reply Last reply
                  0
                  • R rogandawes@infosec.exchange

                    @whitequark Ok, thanks for your help. I'll give that a go. Much appreciated. Have a great evening.

                    whitequark@social.treehouse.systemsW This user is from outside of this forum
                    whitequark@social.treehouse.systemsW This user is from outside of this forum
                    whitequark@social.treehouse.systems
                    wrote last edited by
                    #10

                    @RoganDawes hope it works! if it still fails to establish SWD comms, try the following:

                    1. lower SWD frequency (as low as 1 MHz should be enough)
                    2. produce a verbose log (glasgow -vv) and upload it
                    R 1 Reply Last reply
                    0
                    • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                      @RoganDawes hope it works! if it still fails to establish SWD comms, try the following:

                      1. lower SWD frequency (as low as 1 MHz should be enough)
                      2. produce a verbose log (glasgow -vv) and upload it
                      R This user is from outside of this forum
                      R This user is from outside of this forum
                      rogandawes@infosec.exchange
                      wrote last edited by
                      #11

                      @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 1 Reply Last reply
                      1
                      0
                      • R relay@relay.infosec.exchange shared this topic
                      • R rogandawes@infosec.exchange

                        @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 This user is from outside of this forum
                        R This user is from outside of this forum
                        rogandawes@infosec.exchange
                        wrote last edited by
                        #12

                        @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.

                        1 Reply Last reply
                        1
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups