1
0
mirror of https://github.com/wfjm/w11.git synced 2026-02-03 07:31:13 +00:00
Files
wfjm.w11/doc/INSTALL_fx2_support.md
2018-05-27 11:19:30 +02:00

79 lines
2.8 KiB
Markdown

# Install Cypress FX2 Support
The Nexys2 and Nexys3 board feature a Cypress FX2 USB interface. It allows
to configure the FPGA and to transfer between FPGA and a PC. The retro
project uses a custom firmware in the FX2, this writeup describes the
installation of tools, environment setup and generation of the FX2 firmware.
### Table of content
- [System requirements](#user-content-sysreq)
- [Setup environment variables](#user-content-envvar)
- [Setup USB access](#user-content-usb-access)
- [Rebuild Cypress FX2 firmware](#user-content-fx2-firmware)
### <a id="sysreq">System requirements</a>
the download contains pre-build firmware images for the Cypress FX2
USB Interface. Re-building them requires
- Small Device C Compiler -> package: `sdcc` `sdcc-ucsim`
- for FX2 firmware download and jtag programming over USB one needs
- fxload -> package: `fxload`
- urjtag -> package: `urjtag` for Ubuntu 12.04 or 14.04,
is **broken in Ubuntu 16.04**.
See [INSTALL_urjtag.md](INSTALL_urjtag.md) for installation from sources !!
### <a id="envvar">Setup environment variables</a>
The default USB VID and PID is defined by two environment variables.
For internal lab use one can use
export RETRO_FX2_VID=16c0
export RETRO_FX2_PID=03ef
> **Carefully read the disclaimer about usage of USB VID/PID numbers
> in the file [README_USB-VID-PID.md](README_USB-VID-PID.md). You'll be responsible for a
> misuse of the defaults provided with the project sources.
> Usage of this VID/PID in any commercial product is forbidden.**
### <a id="usb-access">Setup USB access</a>
For using the Cypress FX2 USB interface on Digilent Nexys2, Nexys3 and
Atlys boards `udev` rules must be setup to allow user level access to
these devices. A set of rules is provided under
$RETROBASE/tools/fx2/sys
Follow the [README.md](../tools/fx2/sys/README.md) file in this directory.
Notes:
- the provided udev rules use the VID/PID for **internal lab use** as
described above. If a different VID/PID is used the file must be modified.
- your user account must be in group `plugdev` (should be the default).
### <a id="fx2-firmware">Rebuild Cypress FX2 firmware</a>
The download includes pre-build firmware images for the Cypress FX2
USB interface used on the Digilent Nexys2, Nexys3 and Atlys Boards.
These firmware images are under
$RETROBASE/tools/fx2/bin
To re-build them, e.g. because a different USB VID/PID is to be used
cd $RETROBASE/tools/fx2/src
make clean
make
make install
Note: The default build assumes that sdcc with a version 3.x is installed.
In case sdcc 2.x is installed use
make SDCC29=1
instead. See also tools/fx2/src/README.txt.
Please read [README_USB_VID-PID.md](README_USB_VID-PID.md) carefully to
understand the usage of USB VID and PID.