goo blog サービス終了のお知らせ 

-・-・ --・-  -・-・ --・-  -・-・ --・- 

不定期更新。電子工作オタクのメモなので、おもしろくないですよ。

JTAGは動いたが・・・

2012-03-04 21:26:07 | JTAG
やっとJTAGが動いた。
動かなかった原因の一つは、酔漢さんがここで、ツールチェーンの2009R1以降(今回は2011R1)では、コマンドの引数が変更になっているよとのことでしたが、今回のケースでは全ての引数を指定する必要があり、次のようにdriverとinterfaceの引数を設定しないと接続してくれなかった。
bfin-gdbproxy bfin --connect="cable jtagkey vid=0403 pid=6010 driver=ftdi-mpsse interface=0"

warning: JTAGkey untested cable set wait_clocks to 30とwarningが出ているが、Eclipseからのデバッグで確認した限りでは正常に動いている。

ただ動くには動いたのだが、コマンドの引数の問題以外にあった原因がイマイチわからない。
その1
HJ-LINK/USBのOpenOCDのマニュアルにはAmontec JTAGkeyとはハードウェア互換とあるが、このマニュアルにはpidを0x6010にしろと書いてある。ところがUrJTAGのソースではpid=0x6010はFlyswatterのpidとなっている。
だからと思うが、BF592のマニュアルにあるように、bfin-gdbproxyだけで、引数をつけないで起動すると、Found USB cable: Flyswatterとなるものの、errorとなり接続できない。


その2
1と関連するが、usbドライバのUSB_-_Serial_Cable_(Interface_0).infファイルのPIDを全てcff8とすると接続できず、DeviceIDのPIDのみ6010にすると接続できる。
Interface_1およびWinUSB_Generic_Device.infも同様に変更する。

; USB_-_Serial_Cable_(Interface_0).inf
; Copyright (c) 2010 libusb (GNU LGPL)
[Strings]
DeviceName = "USB <-> Serial Cable (Interface 0)"
VendorName = "Future Technology Devices International, Ltd"
SourceName = "USB <-> Serial Cable (Interface 0) Install Disk"
DeviceID = "VID_0403&PID_6010&MI_00"
;DeviceID = "VID_0403&PID_cff8&MI_00"
DeviceGUID = "{C85EE04D-9237-48E6-985E-239C26EAE5EF}"

[Version]
Signature = "$Windows NT$"
Class = "Universal Serial Bus devices"
ClassGuid = {88bae032-5a81-49f0-bc3d-a4ff138216d6}
Provider = "libusb.org"
CatalogFile = USB_-_Serial_Cable_(Interface_0).cat
DriverVer = 07/14/2009, 6.1.7600.16385

[ClassInstall32]
Addreg = WinUSBDeviceClassReg

[WinUSBDeviceClassReg]
HKR,,,0,"Universal Serial Bus devices"
HKR,,Icon,,-20

[Manufacturer]
%VendorName% = libusbDevice_WinUSB,NTx86,NTamd64,NTia64

[MyDevice_WinUSB.NTx86]
;%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_0403&PID_6010
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_0403&PID_cff8

[MyDevice_WinUSB.NTamd64]
;%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_0403&PID_6010
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_0403&PID_cff8

[MyDevice_WinUSB.NTia64]
;%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_0403&PID_6010
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_0403&PID_cff8

[libusbDevice_WinUSB.NTx86]
%DeviceName% = USB_Install, USB\%DeviceID%

[libusbDevice_WinUSB.NTamd64]
%DeviceName% = USB_Install, USB\%DeviceID%

[libusbDevice_WinUSB.NTia64]
%DeviceName% = USB_Install, USB\%DeviceID%

[USB_Install]
Include = winusb.inf
Needs = WINUSB.NT

[USB_Install.Services]
Include = winusb.inf
AddService = WinUSB,0x00000002,WinUSB_ServiceInstall

[WinUSB_ServiceInstall]
DisplayName = "WinUSB - Kernel Driver 07/14/2009 6.1.7600.16385"
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys

[USB_Install.Wdf]
KmdfService = WINUSB, WinUsb_Install

[WinUSB_Install]
KmdfLibraryVersion = 1.9

[USB_Install.HW]
AddReg = AddDeviceInterfaceGUID

[NoDeviceInterfaceGUID]
; Avoids adding a DeviceInterfaceGUID for generic driver

[AddDeviceInterfaceGUID]
HKR,,DeviceInterfaceGUIDs,0x10000,%DeviceGUID%

[USB_Install.CoInstallers]
AddReg = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"

[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll

[DestinationDirs]
CoInstallers_CopyFiles = 11

[SourceDisksNames]
1 = %SourceName%

[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll = 1,x86
WdfCoInstaller01009.dll = 1,x86

[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll = 1,amd64
WdfCoInstaller01009.dll = 1,amd64

[SourceDisksFiles.ia64]
WinUSBCoInstaller2.dll = 1,ia64
WdfCoInstaller01009.dll = 1,ia64

ドライバはいろいろなところから、ダウンロードしてインストールしたが、上の接続できたドライバはたぶんここからダウンロードしたものと思う。


JTAGアダプタが動かない

2012-02-23 07:25:54 | JTAG
これまで、KOBANZAMEはLinux環境で動かしていたが、toolchainのバージョンアップも必要なので、Windows環境で動かすのもありかと、金子システムさんのEclipse & Blackfin Toolchain(gcc)インストール・チュートリアル (gcc_and_eclipse_tutorial_V1.pdf)に従って、toolchainやEclipseは順調にインストールできた。
ところが、Linuxで動いていたアルファプロジェクトのUSBマルチJTAGアダプタがエラーを吐いて、動かない。
libusbとかftd2xxとかを入れるために、cgwinまで入れたのに動かない。ここにきてgnICE+を買うのもなあ。それにこのアダプタはマルチというだけに、FPGAまで書き込めるようなので、ここは何としてもこれを使いたいのだが。bfin-gdbproxyも同様にエラーとなる。
Make sure ftdi_sio is unloaded!といわれても、どこにftdi_sioはあるんだろう。確かにLinuxではsudo rmmod ftdi_sioとやってたけどな。