Shop OBEX P1 Docs P2 Docs Learn Events
ARM SWD Programmer — Parallax Forums

ARM SWD Programmer

KyeKye Posts: 2,200
edited 2015-06-23 13:53 in Propeller 1
I was able to successful deploy a propeller chip as a parallel SWD programmer for ARM cores. The project is here: https://github.com/OpenMV/openmv-swd

With the propeller chip, I was able to use my file system driver to open 5 files at once, launch 5 separate SWD programming threads, and flash firmware onto five STM32F427 processors at the same time. The propeller is able to do a erase+program+verify operation of 512KB in about 30 seconds for 5 boards at a time. This is much faster than what the ST debuggers can do. With the propeller SWD programmer, an operator can program 1500 boards in about a day (working non-stop of course).

Thanks Parallax!

Comments

  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2015-06-21 07:13
    Kye wrote: »
    I was able to successful deploy a propeller chip as a parallel SWD programmer for ARM cores. The project is here: https://github.com/OpenMV/openmv-swd

    With the propeller chip, I was able to use my file system driver to open 5 files at once, launch 5 separate SWD programming threads, and flash firmware onto five STM32F427 processors at the same time. The propeller is able to do a erase+program+verify operation of 512KB in about 30 seconds for 5 boards at a time. This is much faster than what the ST debuggers can do. With the propeller SWD programmer, an operator can program 1500 boards in about a day (working non-stop of course).

    Thanks Parallax!

    Well done Kye, sounds like you're chuffed. Go the Prop!!! (and Parallax)
  • tonyp12tonyp12 Posts: 1,951
    edited 2015-06-21 07:22
    Can it do debugging or is just a firmware uploader?
    I bought this $8.50 that I think will be completely compatible with IAR (should get it anyday now to test)
    http://www.ebay.com/itm/1pcs-J-Link-OB-ARM-Debugger-Programmer-Downloader-replace-v8-SWD-M74-/351235114957?ssPageName=STRK:MERWX:ACTPNL:LNLK:ITM
  • KyeKye Posts: 2,200
    edited 2015-06-21 11:56
    Technically, yeah, but, debugging an ARM core requires you to make your code able to plug into some debugging API. I just needed a firmware loader. My code handles the low level connection processes however. It can be extended to do processor register reads and writes.
  • Heater.Heater. Posts: 21,230
    edited 2015-06-21 13:14
    Kye, that is cool. Totally the opposite of what I have been doing, programming Props from ARMs.
  • Cluso99Cluso99 Posts: 18,069
    edited 2015-06-21 19:05
    Congratulations Kye. Found a use for the prop in there at last :)
  • User NameUser Name Posts: 1,451
    edited 2015-06-21 19:08
    I've been working up the courage to tackle the programming of Cypress PSoC4 chips via SWD. Cypress even makes an app note to help such a cause. http://www.cypress.com/?docID=48768

    The Propeller was the chip I wanted to use but I much prefer to program the Propeller in PASM vs. C - and the app note is entirely oriented toward C. Gratefully, it looks like you've already taken care of the entire situation!
  • evanhevanh Posts: 15,918
    edited 2015-06-22 05:49
    Pictures, or it didn't happen! :P
  • KyeKye Posts: 2,200
    edited 2015-06-22 19:07
    All I have is the test rig at home:

    attachment.php?attachmentid=114529&d=1435025230
    attachment.php?attachmentid=114530&d=1435025230
    attachment.php?attachmentid=114531&d=1435025230

    I tested by loading some blink LED firmware onto four boards at once. The firmware was 130KB.
    640 x 360 - 206K
    640 x 360 - 226K
    640 x 360 - 243K
  • evanhevanh Posts: 15,918
    edited 2015-06-22 20:45
    Oh, how cool. I was expecting a custom board but you've happily used a project board. Kind of obvious now, given it's just a few data plugs required. It wouldn't be hard to clean that up heaps still without a custom board design.
  • KyeKye Posts: 2,200
    edited 2015-06-23 13:53
    The custom board is at the manufacturer. I had to verify before green lighting.
Sign In or Register to comment.