Skip to content
/ ecpprog Public
forked from gregdavill/ecpprog

Programmer for the Lattice ECP5 series, making use of FTDI based adaptors

License

Notifications You must be signed in to change notification settings

josuah/ecpprog

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ecpprog

A basic driver for FTDI based JTAG probes (FT232H, FT2232H, FT4232H), to program Lattice ECP5/Nexus FPGAs.

Features:

  • SPI Flash programing via JTAG link to ECP5/NX part.
  • Validate ECP5/NX IDCODEs
  • Read/Decode ECP5/NX status register

Prerequisites

sudo apt-get install libftdi-dev

Building

git clone https://github.com/gregdavill/ecpprog ecpprog
cd ecpprog/ecpprog
make
sudo make install

Usage

Verify JTAG connection

$ ecpprog -t
  init..
  IDCODE: 0x41111043 (LFE5U-25)
  ECP5 Status Register: 0x00200000
  flash ID: 0xEF 0x40 0x18 0x00
  Bye.

Flash a bitstream

$ ecpprog /path/to/bitstream.bit
  init..
  IDCODE: 0x41111043 (LFE5U-25)
  ECP5 Status Register: 0x00200000
  reset..
  flash ID: 0xEF 0x40 0x18 0x00
  file size: 99302
  erase 64kB sector at 0x000000..
  erase 64kB sector at 0x010000..
  programming..  99302/99302
  verify..       99302/99302  VERIFY OK
  Bye.

Flash User/SoC code

$ ecpprog -o 1M firmware.bin 
  init..
  IDCODE: 0x41111043 (LFE5U-25)
  ECP5 Status Register: 0x00200000
  reset..
  flash ID: 0xEF 0x40 0x18 0x00
  file size: 294312
  erase 64kB sector at 0x100000..
  erase 64kB sector at 0x110000..
  erase 64kB sector at 0x120000..
  erase 64kB sector at 0x130000..
  erase 64kB sector at 0x140000..
  programming..  294312/294312
  verify..       294312/294312  VERIFY OK
  Bye.

About

Programmer for the Lattice ECP5 series, making use of FTDI based adaptors

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.3%
  • Makefile 2.7%