source: trunk/FirmwareFX2/readme.txt@ 4

Last change on this file since 4 was 4, checked in by demin, 15 years ago

initial commit

File size: 2.9 KB
Line 
1usb_jtag using Cypress FX2 chip
2===============================
3
4The code in this directory is for Cypress FX2 (e.g. CY7C68013A) and can be compiled with
5the SDCC compiler (I tried version 2.6 as shipped with Ubuntu 6.10). Once I had a version
6that could be compiled with Keil tools (until early 2007), but switched to SDCC because I
7usually develop on a Linux host.
8
9No logic beside the FX2 itself and only a few external components are required for a basic
10JTAG adapter. I don't have detailed schematics available; my test setup consists of a FX2
11on a custom board where it's directly connected to a Cyclone FPGA.
12
13 ____________
14 | |
15 | Cypress |
16 USB__| EZ-USB FX2 |__JTAG(TDI,TDO,TCK,TMS)
17 | CY7C68013A |
18 |____________|
19 __|__________
20 | |
21 | 24 MHz XTAL |
22 |_____________|
23
24
25Similar eval boards are now available from fpga4fun.com - the boards named
26"Saxo-L" and "Xylo-EM" are pre-wired for use with an adapted version of my
27code, while "Saxo" and "Xylo" can be used after soldering 4 extra wires:
28
29 http://www.fpga4fun.com/board_Xylo.html
30
31
32As is, the code assumes the following pin assignment:
33
34 Port C.0: TDI
35 Port C.1: TDO
36 Port C.2: TCK
37 Port C.3: TMS
38
39Other assignments are possible; you'll have to adapt the definitions in hardware.h and maybe
40in hardware.c, too.
41
42The USB identification data (vendor/product ID, strings, ...) can be modified in dscr.a51. My
43firmware emulates the 128 byte EEPROM that usually holds configuration data for the FT245 and
44which can be read from the host; its content is computed from the data in dscr.a51 as well.
45
46The WAKEUP pin should be high for the re-numeration to work reliably (thanks Jean/fpga4fun!)
47
48From this release on, there is new code to support running in the "Xilinx
49Platform Cable USB". If you select HARDWARE=hw_xpcu_i or hw_xpcu_x at the top
50of the Makefile, a firmware for the XPCU will be built. I've tested this only
51with unmodified CPLD version 18 (0x12) on a Spartan-3E starter kit, as it was
52programmed by my WebPack 8.2i. The code needs optimization; yet it is merely a
53proof of concept.
54
55 hw_xpcu_i: Access "internal" chain (the XPCU CPLD, IC3, itself)
56 hw_xpcu_x: Access "external" chain (the Spartan 3E, PROM, etc.)
57
58Changes since previous release on 2007-01-28:
59 - Initial suppport for running on Xilinx XPCU.
60 - New FX2 code, based on USRP2 from the GNU Radio Project;
61 - Firmware can now be compiled using SDCC 2.6. No more Keil support.
62 - EEPROM content is automatically computed from descriptors, including checksum.
63
64Changes since initial release on 2006-04-23:
65 - added this readme.txt
66 - reorganized my project folder: diff is now created from Subversion repository
67 - stripped *.dist extension from eeprom.c and dscr.a51
68 - added unique proper product and vendor ID (thanks to Antti Lukats!)
69 - fixed checksum in eeprom.c
70 - added comments about AS/PS mode pins in usbjtag.c
71
72
73
74
Note: See TracBrowser for help on using the repository browser.