-
Notifications
You must be signed in to change notification settings - Fork 26
Firmware
There are multiple ways to program the board; select from the below;
- I just want to use the device - Entirely Open Source
- I just want to use the device - Digilent Tools
- I'm using the Xilinx development environment
The HDMI2USB device has two different firmware, one for the FPGA and one for the Cypress FPGA chip.
- Step 0 - Progam the Cypress FX2 chip with firmware suitable for flashing the FPGA
- Step 1 - Program the Xilinx Spartan-6 FPGA with HDMI2USB firmware
- Step 2 - Program the Cypress FX2 chip with HDMI2USB firmware
Step 0 is not needed if using the Digilent tools.
To use this method you must have the Adept 2.XX.XX Utilities installed and Adept 2.XX.XX Runtime installed.
- Step 1 - Plug the power from your power pack into the POWER port.
- Step 2 - Plug the micro-USB cable from your computer into the PROG port.
- Step 3 - Run djtgcfg enum, output should be as follows;
$ djtgcfg enum
No devices found
$
- Step 4 - Toggle the POWER switch to the ON position
- Step 5 - Run djtcfg enum, output should be as follows; If it doesn't, see the Troubleshooting Digilent Adept tools section
$ djtgcfg enum
Found 1 device(s)
Device: Atlys
Product Name: Atlys
User Name: Atlys
Serial Number: 210178440327
$
- Step 6 - Run
djtcfg init -d Atlys
, output should be as follows; If it doesn't, see the Troubleshooting Digilent Adept tools section
$ djtgcfg init -d Atlys
Initializing scan chain...
Found Device ID: 44008093
Found 1 device(s):
Device 0: XC6SLX45
- Step 7 - Run ``djcfg prog -d Atlys -i 0 -f hdmi2usb.bit`, output should be as follows; If it doesn't, see the Troubleshooting Digilent Adept tools section
$ djtgcfg prog -d Atlys -i 0 -f hdmi2usb.bit
Programming device. Do not touch your board. This may take a few minutes...
Programming succeeded.
$
- Step 8 - The DONE light near the red RESET button should light up.
You have now completed Stage 1 - continue to Stage 2 to program the Cypress FX2 chip.
libusb fxload comes from https://github.com/pbatard/fxload
./fxload -vvv -t fx2 -D 1443:0007 -I uvc_bulk.hex
Note: the fxload version that ships with Ubuntu, Debian and possibly other Linux distributions (0.0.20081013-1) does not support the -D
syntax as above.
You should also be able to use http://www.makestuff.eu/wordpress/software/fx2tools/
./fx2loader --vidpid=1443:0007 uvc.hex ram
Once programmed, you'll need to unplug the USB and plug it back in for the computer to see the new UVC camera device.
!!!WARNING!!! - Only program to RAM. Programming to Flash/EEPROM will cause you to lose the ability to program to the FPGA permanently!
Once you program the Cypress Firmware you will be unable to program the FPGA without a power cycle.
- Step 0 - Turn on the power to the FPGA board
- Step 1 - Program the Xilinx FPGA board (using the PROG port)
- Step 2 - Program the FX2 chip1, this program runs instantly but nothing changes until you complete the following steps;
- Step 3 - Pull USB plug out of the computer
- Step 4 - Push the USB plug back into the computer, the device should appear as a UVC camera.
1 - You are programming the FX2 chip which runs the PROG port on the board. This means that you won't be able to reprogram the FPGA until power-cycle the FPGA board.
Use impact to program the hdmi2usb_onboard.bit device to the FPGA.
Impact must be installed, along with the Digilent ADEPT tools. To avoid having to use the Impact GUI, the following script can be used https://gist.github.com/shenki/5387626
impact -batch download.cmd