[abc80] DE1 flash application; Quartus II on Linux

H. Peter Anvin hpa at zytor.com
Tis Juni 7 10:09:25 PDT 2011

[Sorry Scandinavians for doing this in English ;)]

Hi all,

I was rather pleased that Quartus II 11.0 Web Edition worked *almost*
out of the box on a modern Linux system... the *only* thing I had to do
was to run it under "linux32" in order for JTAG to work (due to a bug in
their wrapper scripts... I filed a bug report with Altera on that one.)

Given that, I really didn't want to continue to have to use the rather
sucky Terasic Control Panel application to flash the ROM on my DE1
board, so I wrote a command-line application to flash the board over
JTAG, using Altera's "virtual JTAG" interface.

In addition to not needing a bunch of GUI clicks (and an annoying beep),
this application is *much* faster for writes than the Control Panel,
mostly due to application of the trick "don't erase bits of the flash
that don't need erasing."  Even when a full-chip erase is necessary it
takes 1:09 on my machine to write the entire flash.

For reading, it is surprisingly slow (3 minutes to read the whole
flash); this appears to be due to delays in the Altera stack.

This application is currently specific to the DE1 board, but it should
be easy enough to port to any other board with an Altera FPGA and a
parallel NOR flash.

Zipfile with everything including a precompiled .sof:


Git tree, for development:



More information about the ABC80 mailing list