Overview, Features and Copyright
Schematics and Eagle CAD files
How to program the EEPROM
- USB Drivers
Additional resources in the Web
Turtelizer 2 USB Drivers
Windows Driver Installation
If you want to prepare your own customized CDM driver, then follow the documents provided by FTDI. One reason for doing this might be, that you want to use your own product ID. However, you should not follow the FTDI descriptions too strictly, because they are partly incorrect. Michael Fischer, who detected and fixed it, sent a bug report to FTDI, but nothing happened so far. Thus, I will explain the issue here in more detail.
The main problem appears, when uninstalling a driver. While following FTDI's how-to, all products use the same FTDIUN2K.INI file for software removal. Further, the same key is used in this file for all products. Let's say, you installed an USB to Serial Port Converter once and later install a second one from another company. If both products use FTDI chips, which is quite likely, and if both followed the FTDI documents, then the second installation will override the first and the first will disappear from the Add/Remove Programs list. You will not be able to easily remove the first installation. FTDI provides a tool named FTClean, which can be avoided when doing it right.
To fix it, rename the uninstall ini file and replace all references in FTDIBUS.INF and FTDIPORT.INF. Further, rename FTDIUNIN.exe accordingly. For the Turtelizer we use TURTEL2UN.INI and TURTEL2 as the key within this file. And we renamed FTDIUNIN.exe to TURTEL2UNIN.EXE. (Btw. the reptile turtle was the inspiration for the name Turtelizer. It is spelled with 'el' for easier pronunciation, while the reptile is spelled 'turtle'. Somehow the term 'Turtel' creeped in here too.)
Another problem appears with the latter, FTDIUNIN.exe from CDM Driver Version 184.108.40.206, which may fail under certain circumstances. The Turtelizer driver packed with OpenOCD uses FTDIUNIN.exe from CDM Driver Version 220.127.116.11.
When following these advices, no conflicts should appear when using Turtelizer concurrently with other FTDI based product and you should be able to remove and re-install your customized driver without hazzle.
Linux Driver Installation
NOTE: The following description is outdated, but may still work for you.
The OpenOCD source code can be retrieved from the SVN repository at developer.berlios.de/svn .
$ svn co -r 717 svn://svn.berlios.de/openocd/trunk openocd-r717The included README file contains a detailed description. A few essential tools are required to create the binaries. The following commands may be used on Debian to make sure that all tools are available:
$ sudo apt-get install build-essential $ sudo apt-get install automake $ sudo apt-get install autoconfIf not already installed, we further need the FTDI support library. There are two variants, we chose the one supplied by FTDI:
$ wget http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx0.4.13.tar.gz $ tar -zxf libftd2xx0.4.13.tar.gz $ sudo cp *.h /usr/local/include/ $ sudo cp libftd2xx.so.0.4.13 /usr/local/lib/ $ cd /usr/local/lib/ $ sudo ln -s libftd2xx.so.0.4.13 libftd2xx.so $ sudo ln -s libftd2xx.so.0.4.13 libftd2xx.so.0 $ cd /usr/lib/ $ ln -s /usr/local/lib/libftd2xx.so.0.4.13 libftd2xx.so.0 /etc/fstab (sudo): none /proc/bus/usb usbdevfs defaults,mode=0666 0 0 (use usbfs in 2.6 kernels, 'uname -a') $ sudo mount -aIn the next step we can build OpenOCD, using
$ cd openocd-r717/ $ ./bootstrap $ ./configure --enable-ft2232_ftd2xx $ make $ sudo make install
The following entry should appear in /proc/bus/usb/devices after plugging in the Turtelizer 2:
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0403 ProdID=bdc8 Rev= 5.00 S: Manufacturer=egnite S: Product=Turtelizer JTAG/RS232 Adapter S: SerialNumber=TLQ08BET C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms