3 A basic driver for FTDI based JTAG probes (FT232H, FT2232H, FT4232H), to program Lattice ECP5/Nexus FPGAs.
6 - SPI Flash programing via JTAG link to ECP5/NX part.
7 - Validate ECP5/NX IDCODEs
8 - Read/Decode ECP5/NX status register
13 sudo apt-get install libftdi-dev
19 git clone https://github.com/gregdavill/ecpprog ecpprog
27 ### Verify JTAG connection
31 IDCODE: 0x41111043 (LFE5U-25)
32 ECP5 Status Register: 0x00200000
33 flash ID: 0xEF 0x40 0x18 0x00
39 $ ecpprog /path/to/bitstream.bit
41 IDCODE: 0x41111043 (LFE5U-25)
42 ECP5 Status Register: 0x00200000
44 flash ID: 0xEF 0x40 0x18 0x00
46 erase 64kB sector at 0x000000..
47 erase 64kB sector at 0x010000..
48 programming.. 99302/99302
49 verify.. 99302/99302 VERIFY OK
53 ### Flash User/SoC code
55 $ ecpprog -o 1M firmware.bin
57 IDCODE: 0x41111043 (LFE5U-25)
58 ECP5 Status Register: 0x00200000
60 flash ID: 0xEF 0x40 0x18 0x00
62 erase 64kB sector at 0x100000..
63 erase 64kB sector at 0x110000..
64 erase 64kB sector at 0x120000..
65 erase 64kB sector at 0x130000..
66 erase 64kB sector at 0x140000..
67 programming.. 294312/294312
68 verify.. 294312/294312 VERIFY OK