usb_jtag + カメレオンUSB FX2
usb_jtagはkolja waschkさんが公開している、AlteraのUsb-Blasterケーブルと同じプロトコルを使用したJTAGアダプタで、
On the USB side, it now uses the same protocol as Altera's USB-Blaster. The drivers that I developed for my adapter do work with the Blaster as well. To the host PC, the only really noticeable difference are vendor and product ID and the product description string (0x16C0/0x06AD/USB-JTAG-IF instead of 0x9FB/0x6001/USB-Blaster).
だそうだ。
difference are vendor and product ID and the product description string
って意味深だなぁ...
Usb-Blasterの構成はFT245+CPLDらしく、探すとパチモン互換品もたくさんある。
usb_jtagには3つのタイプがあって
- Variant A: Cypress FX2
FT245+CPLDをCypressのEZ-USB FX2のファームウェアで実現したもの - Variant B: FTDI FT245 plus CPLD
FT245+CPLDで実現したもの - Variant C: SiLabs C8051F32x
FT245+CPLDをSiLabのC8051F32x のファームウェアで実現したもの
カメレオンUSB FX2でVariant Aを作ってみることにした。
Sourceforgeからixo-jtag-code-204-usb_jtag-trunk.zipをDL・展開して、device/C51/ ディレクトリでmakeする。
なお、コンパイルにはSDCCが必要である。
何も指定しないでmakeすると、FX2のポートCを使用する。56pinのカメレオンUSB FX2では使用できないので hw_basic.cを変更したhw_chameleon.cを作成して、ポートAを使用するようにした。
-- hw_chameleon.c (太字の部分を変更する) --
//----------------------------------------------------------------------------- //#define HAVE_PS_MODE 1 // comment in (define!) if you want outputs disabled when possible sbit at 0x87 TCK; /* Port C.2 -> A.7 */ /* JTAG TDI, AS ASDI, PS DATA0 */ sbit at 0x80 TDI; /* Port C.0 -> A.0 */ /* JTAG TMS, AS/PS nCONFIG */ sbit at 0x81 TMS; /* Port C.3 -> A.1 */ /* JTAG TDO, AS/PS CONF_DONE */ sbit at 0x83 TDO; /* Port C.1 -> A.3 */ |
環境変数 HARDWARE=hw_chameleon を設定してmakeする。
$ export HARDWARE=hw_chameleon; make |
カメレオンUSB FX2 をUrJTAGでバウンダリスキャンする。このボードに載っているCPLDはAlteraのEMP570T100なのでAlteraからBSDLファイルをDLしてデバイスを登録すると認識した。
C:\Program Files\UrJTAG>jtag |
ナイトライダーをやってみた。
←リンク先にAVI
「chameleonUSB.avi」をダウンロード
カメレオンUSB FX2はFX2のPortB、PortD、FIFOAD0、FIFOAD1、SLOEがEMP570T100に接続してあるので、ファームウェアはEEPROMに書かないでコンフィグ時だけファームウェアをロードした方が良さそうである。
「JTAG」カテゴリの記事
- STM32F0-Discovery + OpenOCD(2014.07.30)
- versaloon(2014.02.03)
- usb_jtag + カメレオンUSB FX2(2013.09.16)
- OpenOCD TI-ICDI + LM4F120 LaunchPad(2013.09.03)
- JTAGkey Clone(2012.08.04)
コメント