Home

Awesome

Notes for Colorlight-5A-75B

Colorlight 5A-75B pinout

|-------|------|
| J30   | TDO  |
| ...   | TDI  |
| ...   | TMS  |
| J27   | TCK  |

FPGA pinout

Image Credit: Anton Blanchard.

Programming Colorlight-5A-75B using Bus Pirate with OpenOCD:

sudo openocd -s /usr/local/share/openocd -f buspirate-flash.cfg

Programming Colorlight-5A-75B using STM32 + DirtyJTAG with UrJTAG:

Programming Colorlight 5A-75B (15$ ECP5 FPGA board) with 2$ STM32 "Blue Pill" based JTAG adapter is fun. Thanks to DirtyJTAG and UrJTAG! The Blue Pill might be the cheapest JTAG programmer around (< 2 USD on AliExpress)?

Flash DirtyJTAG firmware to Blue Pill (STM32F103C8T6):

st-flash write dirtyjtag.bluepill.bin 0x8000000

DirtyJTAG Pinout:

The bluepill build of DirtyJTAG has the following pinout:

STM32JTAG
PA0TDI
PA1TDO
PA2TCK
PA3TMS
PA4TRST
PA5SRST

Run blinky example on the FPGA:

$ sudo jtag

UrJTAG 2019.12 #ae2cacce
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors

UrJTAG is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for UrJTAG.

warning: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.

jtag> bsdl path .
jtag> cable dirtyjtag
jtag> detect
IR length: 8
Chain length: 1
Device Id: 01000001000100010001000001000011 (0x41111043)
  Filename:     ./BSDLLFE5U25FCABGA256.bsm
jtag> svf /tmp/blink.svf ref_freq=100000

Done ;)

This works but I have no idea what many of these things are. Time to learn... ;)

References