1 |
22 |
wfjm |
.\" -*- nroff -*-
|
2 |
|
|
.\" $Id: fx2load_wrapper.1 550 2014-02-03 08:16:57Z mueller $
|
3 |
|
|
.\"
|
4 |
|
|
.\" Copyright 2013- by Walter F.J. Mueller
|
5 |
|
|
.\"
|
6 |
|
|
.\" ------------------------------------------------------------------
|
7 |
|
|
.
|
8 |
|
|
.TH FX2LOAD_WRAPPER 1 2013-01-05 "Retro Project" "Retro Project Manual"
|
9 |
|
|
.\" ------------------------------------------------------------------
|
10 |
|
|
.SH NAME
|
11 |
|
|
fx2load_wrapper \- auto-load firmware into Cypress FX2 USB controller
|
12 |
|
|
.\" ------------------------------------------------------------------
|
13 |
|
|
.SH SYNOPSIS
|
14 |
|
|
.
|
15 |
|
|
.SY fx2load_wrapper
|
16 |
|
|
.OP \-\-board=\fIb\fP
|
17 |
|
|
.OP \-\-file=\fIf\fP
|
18 |
|
|
.OP \-\-ihx_path=\fIp\fP
|
19 |
|
|
.OP \-\-cycfx2prog
|
20 |
|
|
.OP \-\-force
|
21 |
|
|
.OP \-\-dry_run
|
22 |
|
|
.
|
23 |
|
|
.SY fx2load_wrapper
|
24 |
|
|
.B \-\-help
|
25 |
|
|
.YS
|
26 |
|
|
.
|
27 |
|
|
.\" ------------------------------------------------------------------
|
28 |
|
|
.SH DESCRIPTION
|
29 |
|
|
Checks firmware state of a Cypress FX2 USB controller and re-loads the
|
30 |
|
|
firmware in case of a mismatch of currently active and desired firmware.
|
31 |
|
|
|
32 |
|
|
The command locates a USB device with a USB path defined by the environment
|
33 |
|
|
variables RETRO_FX2_VID and RETRO_FX2_PID, or default vid=16c0 and pid=03ef.
|
34 |
|
|
It inquires with \fBlsusb\fP(1) the 'iProduct' attribute of the currently
|
35 |
|
|
active USB descriptor. If this attribute is defined and equals the basename
|
36 |
|
|
of the firmware image given with \fB-\-file\fP it is assumed the the proper
|
37 |
|
|
firmware is already active. Otherwise the firmware image is loaded with
|
38 |
|
|
either \fBfxload\fP(1) or \fBcycfx2prog\fP.
|
39 |
|
|
|
40 |
|
|
\fBNote:\fP after a firmware load the Cypress FX2 USB controller restarts.
|
41 |
|
|
This causes a USB re-numeratation, the USB device disconnects and reconnects
|
42 |
|
|
with a new device descriptor. It can take some time till the Linux USB stack
|
43 |
|
|
shows the new device descriptor. The command sleeps for 1.5 seconds, this is
|
44 |
|
|
usually enough to ensure that subsequent commands see the new state.
|
45 |
|
|
.
|
46 |
|
|
.\" ------------------------------------------------------------------
|
47 |
|
|
.SH OPTIONS
|
48 |
|
|
.
|
49 |
|
|
.\" ----------------------------------------------
|
50 |
|
|
.IP \fB\-\-board=\fIb\fR
|
51 |
|
|
determines the type of board to be configured. The default is 'nexys2',
|
52 |
|
|
currently supported boards are:
|
53 |
|
|
.RS
|
54 |
|
|
.PD 0
|
55 |
|
|
.IP \fBnexys2\fP
|
56 |
|
|
Digilent Nexys2. Default file: nexys2_jtag_2fifo_as.ihx
|
57 |
|
|
.IP \fBnexys3\fP
|
58 |
|
|
Digilent Nexys3. Default file: nexys3_jtag_2fifo_as.ihx
|
59 |
|
|
.IP \fBatlys\fP
|
60 |
|
|
Digilent Atlys. Default file: nexys3_jtag_2fifo_as.ihx
|
61 |
|
|
.RE
|
62 |
|
|
.PD
|
63 |
|
|
.
|
64 |
|
|
.\" ----------------------------------------------
|
65 |
|
|
.IP \fB\-\-file=\fIf\fR
|
66 |
|
|
specifies the firmware image to be loaded. Must be in \fI.ihx\fP format
|
67 |
|
|
and located in the path defined with the \fB\-\-ihx_path\fP option.
|
68 |
|
|
.
|
69 |
|
|
.\" ----------------------------------------------
|
70 |
|
|
.IP \fB\-\-ihx_path=\fIp\fR
|
71 |
|
|
specifies the directory were firmware image files are searched. The default
|
72 |
|
|
is \fI$RETROBASE/tools/fx2/bin\fP.
|
73 |
|
|
.
|
74 |
|
|
.\" ----------------------------------------------
|
75 |
|
|
.IP \fB\-\-cycfx2prog\fP
|
76 |
|
|
Use \fBcycfx2prog\fP instead of \fBfxload\fP(1) to load the firmware.
|
77 |
|
|
.
|
78 |
|
|
.\" ----------------------------------------------
|
79 |
|
|
.IP \fB\-\-force\fP
|
80 |
|
|
Unconditionally load the firmware, even when a 'iProduct' attribute match
|
81 |
|
|
is seen. Useful to reset the Cypress FX2 controller.
|
82 |
|
|
.
|
83 |
|
|
.\" ----------------------------------------------
|
84 |
|
|
.IP \fB\-\-dry_run\fP
|
85 |
|
|
Don't load the firmware, display only the command used to do so.
|
86 |
|
|
.
|
87 |
|
|
.\" ----------------------------------------------
|
88 |
|
|
.IP \fB\-\-help\fP
|
89 |
|
|
print help text and exit.
|
90 |
|
|
.
|
91 |
|
|
.\" ------------------------------------------------------------------
|
92 |
|
|
.SH EXIT STATUS
|
93 |
|
|
In case of an error an exit status 1 is returned.
|
94 |
|
|
.
|
95 |
|
|
.\" ------------------------------------------------------------------
|
96 |
|
|
.SH ENVIRONMENT
|
97 |
|
|
.IP "\fBRETRO_FX2_VID, RETRO_FX2_PID\fR" 4
|
98 |
|
|
Define the USB path of the Cypress FX2 USB controller. If not specified
|
99 |
|
|
the defaults vid=16c0 and pid=03ef are used.
|
100 |
|
|
.IP \fBRETROBASE\fR
|
101 |
|
|
Path to current Retro project root directory. Used for the default
|
102 |
|
|
firmware path in case no \fB\-\-ihx_path\fP option given.
|
103 |
|
|
.
|
104 |
|
|
.\" ------------------------------------------------------------------
|
105 |
|
|
.SH EXAMPLES
|
106 |
|
|
.IP "\fBfx2load_wrapper --board=nexys2 --file=nexys2_jtag_2fifo_ic.ihx\fR" 4
|
107 |
|
|
Checks whether the 'nexys2_jtag_2fifo_ic' version of the firmware is loaded
|
108 |
|
|
and in case not loads the firmware image.
|
109 |
|
|
|
110 |
|
|
.\" ------------------------------------------------------------------
|
111 |
|
|
.SH "SEE ALSO"
|
112 |
|
|
.BR fxload (1),
|
113 |
|
|
.BR config_wrapper (1)
|
114 |
|
|
|
115 |
|
|
.\" ------------------------------------------------------------------
|
116 |
|
|
.SH AUTHOR
|
117 |
|
|
Walter F.J. Mueller
|