aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 44beb0be4a93a93d9d7763d9259f15003c01d91f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
## -----------------------------------------------------------------------
##   
##   Copyright 2011 H. Peter Anvin - All Rights Reserved
##
##   Permission is hereby granted, free of charge, to any person
##   obtaining a copy of this software and associated documentation
##   files (the "Software"), to deal in the Software without
##   restriction, including without limitation the rights to use,
##   copy, modify, merge, publish, distribute, sublicense, and/or
##   sell copies of the Software, and to permit persons to whom
##   the Software is furnished to do so, subject to the following
##   conditions:
##   
##   The above copyright notice and this permission notice shall
##   be included in all copies or substantial portions of the Software.
##   
##   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
##   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
##   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
##   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
##   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
##   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
##   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
##   OTHER DEALINGS IN THE SOFTWARE.
##
## -----------------------------------------------------------------------

This is a combination of a FPGA design and a Tcl program to read and
write the flash part on a Terasic DE1/Altera Cyclone II Starter Kit
FPGA development board.

It should be fairly trivial to port to other boards using parallel
NOR flash with Altera FPGAs; porting to other vendors will require
porting to their specific JTAG solution.

Currently this only supports one file and writing from the start of
the flash; this I hope to fix in the near future:

Usage:

	# First upload the FPGA design
	quartus_pgm -m JTAG -p 'p;de1flash.sof'

	# Second, execute either of these commands
	quartus_stp -t de1flash.tcl read filename [length]
	quartus_stp -t de1flash.tcl write filename [length]
	quartus_stp -t de1flash.tcl eraseall

Note that it is NOT necessary to erase before writing; the utility
will automatically erase any sectors that are being written.