On Sat, Aug 14, 2010 at 1:48 AM, Olof Tångrot <olof.tang...@telia.com> wrote:
> Xiaofan Chen wrote:
>> I am using the original OpenOCD binaries from Freddie Chopin
>> under 32bit Vista. The driver is the original Amontec driver
>> (WHQL, based on FTDI's 2.06.00 version) and libusb-win32
>> filter driver 1.2.1.0. The two config files are also unmodified.
>>
> I also started to doubt that openocd actually could work with the
> LPC2148 since Macraigor OCDCommander seems to be working at least with
> the wiggler clone.
> And it is strange that proprietary drivers seems to
> be the involved your setup.

Ah, I just got the Amontec Amontec JTAGkey2 so I installed
Amontec's driver first which is based on FTDI driver.

To use libftdi, you need libusb-win32 driver, either device driver
mode (recommended) or filter driver (which is not recommended
for normal users, only for power users and developers). It is
just that I am one of the admins of libusb-win32 and my
responsibility includes testing the filter driver to improve its
stability (it is much more stable now, but could still cause
BSODs in certain cases). So I used the filter driver.

If the filter driver works, normally the device driver will work.
To prove that, I just used libusb-win32 device driver to replace
the Amontec driver for Channel A using Zadig. And openocd
works fine as well. This is under Windows 7 with no filter driver
enabled.

The inf file generated by Zadig is also attached. In fact, it
can generate inf file for libusb0.sys and winusb.sys. So I
can switch between using libftdi (with Freddie Chopin's binary)
and libftdi-1.0 (with the binary I built). Zadig can also install the
driver for you or just generate the binary package.

http://www.libusb.org/wiki/windows_backend

OpenOCD has long worked with LPC-2148. Last time I was
using a J-Link (V6, V7 and V3, it took some time to get V3 working).

D:\Program Files\OpenOCD\0.4.0\bin>
openocd -f interface/jtagkey2.cfg  -f board/olimex_lpc_h2148.cfg
Open On-Chip Debugger 0.4.0 (2010-02-22-19:05)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
RCLK - adaptive
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
Info : max TCK change to: 30000 kHz
Info : RCLK (adaptive clock speed)
Info : JTAG tap: lpc2148.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf
1f0, ver: 0x4)
Info : Embedded ICE version 4
Info : lpc2148.cpu: hardware has 2 breakpoint/watchpoint units


; Amontec_JTAGkey-2_(Interface_0).inf
; Copyright (c) 2010 libusb-win32 (GNU LGPL)
[Strings]
DeviceName = "Amontec JTAGkey-2 (Interface 0)"
VendorName = "Future Technology Devices International, Ltd"
SourceName = "Amontec JTAGkey-2 (Interface 0) Install Disk"
DeviceID   = "VID_0403&PID_CFF8&MI_00"
DeviceGUID = "{248C2A0C-51D8-4AC3-B588-2DFA42B58D34}"

[Version]
Signature   = "$Windows NT$"
Class       = "libusb-win32 devices"
ClassGuid   = {EB781AAF-9C70-4523-A5DF-642A87ECA567}
Provider    = "libusb-win32"
CatalogFile = Amontec_JTAGkey-2_(Interface_0).cat
DriverVer   = 08/05/2010, 1.2.1.0

[ClassInstall32]
Addreg = libusb_class_install_add_reg

[libusb_class_install_add_reg]
HKR,,,0,"libusb-win32 devices"
HKR,,Icon,,-20

[Manufacturer]
%VendorName% = Devices, NT, NTAMD64, NTIA64

;--------------------------------------------------------------------------
; libusb-win32 files
;--------------------------------------------------------------------------

[SourceDisksNames]
1 = %SourceName%

[SourceDisksFiles.x86]
libusb0.sys     = 1,x86
libusb0_x86.dll = 1,x86

[SourceDisksFiles.amd64]
libusb0.sys     = 1,amd64
libusb0.dll     = 1,amd64
libusb0_x86.dll = 1,x86

[SourceDisksFiles.ia64]
libusb0.sys     = 1,ia64
libusb0.dll     = 1,ia64
libusb0_x86.dll = 1,x86

[DestinationDirs]
libusb_files_sys       = 10,system32\drivers
libusb_files_dll       = 10,system32
libusb_files_dll_wow64 = 10,syswow64
libusb_files_dll_x86   = 10,system32

[libusb_files_sys]
libusb0.sys

[libusb_files_dll]
libusb0.dll

[libusb_files_dll_x86]
libusb0.dll, libusb0_x86.dll

[libusb_files_dll_wow64]
libusb0.dll, libusb0_x86.dll

;--------------------------------------------------------------------------
; libusb-win32 device driver
;--------------------------------------------------------------------------

[LIBUSB_WIN32_DEV.NT]
CopyFiles = libusb_files_sys, libusb_files_dll_x86

[LIBUSB_WIN32_DEV.NTAMD64]
CopyFiles = libusb_files_sys, libusb_files_dll, libusb_files_dll_wow64

[LIBUSB_WIN32_DEV.NTIA64]
CopyFiles = libusb_files_sys, libusb_files_dll, libusb_files_dll_wow64

[LIBUSB_WIN32_DEV.NT.HW]
DelReg = libusb_del_reg_hw
AddReg = libusb_add_reg_hw

[LIBUSB_WIN32_DEV.NTAMD64.HW]
DelReg = libusb_del_reg_hw
AddReg = libusb_add_reg_hw

[LIBUSB_WIN32_DEV.NTIA64.HW]
DelReg = libusb_del_reg_hw
AddReg = libusb_add_reg_hw

[LIBUSB_WIN32_DEV.NT.Services]
AddService = libusb0, 0x00000002, libusb_add_service

[LIBUSB_WIN32_DEV.NTAMD64.Services]
AddService = libusb0, 0x00000002, libusb_add_service

[LIBUSB_WIN32_DEV.NTIA64.Services]
AddService = libusb0, 0x00000002, libusb_add_service

; Older versions of this .inf file installed filter drivers. They are not
; needed any more and must be removed
[libusb_del_reg_hw]
HKR,,LowerFilters
HKR,,UpperFilters

; libusb-win32 device properties
[libusb_add_reg_hw]
HKR,,SurpriseRemovalOK,0x00010001,1

; (Optional) the usb configuration value to select when this device
; is started.  If this key does not exist the first config is selected.
;HKR,,InitialConfigValue,0x00010001,<your config value>

;--------------------------------------------------------------------------
; libusb-win32 service
;--------------------------------------------------------------------------

[libusb_add_service]
DisplayName   = "libusb-win32 - Kernel Driver 08/05/2010 1.2.1.0"
ServiceType   = 1
StartType     = 3
ErrorControl  = 0
ServiceBinary = %12%\libusb0.sys

;--------------------------------------------------------------------------
; libusb-win32 devices
;--------------------------------------------------------------------------

; Hardware IDs in a 'Devices' section can be installed by libusb-win32
; using usb_install_driver_np(), usb_install_driver_np_rundll(), or the
; inf-wizard utility.
;
[Devices]
%DeviceName% = LIBUSB_WIN32_DEV, USB\%DeviceID%

[Devices.NT]
%DeviceName% = LIBUSB_WIN32_DEV.NT, USB\%DeviceID%

[Devices.NTAMD64]
%DeviceName% = LIBUSB_WIN32_DEV.NTAMD64, USB\%DeviceID%

[Devices.NTIA64]
%DeviceName% = LIBUSB_WIN32_DEV.NTIA64, USB\%DeviceID%




-- 
Xiaofan
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to