Liviu Ionescu
2017-06-07 20:44:15 UTC
maybe this is a classical, but...
---
I prepared a new release of GNU MCU OpenOCD (formerly GNU ARM OpenOCD), which is based on the latest master; to it I merged the latest RISC-V OpenOCD master, which adds support for the new RISC-V devices (thus the reason for rebranding).
my elaborated build procedure generates binaries for windows 64, windows 32, linux 64, linux 32, macos; the binaries are (hopefully) self contained, they do not need special libraries present in the system.
I have a new RISC-V board, the SiFive Freedom E300 HiFive1, with a modern FTDI chip on-board, used to connect to the JTAG pins.
I have an OpenOCD configuration file for this board, written by the board manufacturer (SiFive).
if I connect the board to my macOS 10.12, with the default FTDI drivers installed in the system, I automatically get two 'Dual RS232-HS' interfaces:
Product ID: 0x6010
Vendor ID: 0x0403 (Future Technology Devices International Limited)
Version: 7.00
Speed: Up to 12 Mb/sec
Manufacturer: FTDI
Location ID: 0xfd122300 / 4
Current Available (mA): 500
Current Required (mA): 500
Extra Operating Current (mA): 0
but if I try to connect OpenOCD to it, it fails:
$ bin/openocd -f board/sifive-freedom-e300-hifive1.cfg
GNU MCU Eclipse 64-bits Open On-Chip Debugger 0.10.0+dev-00474-g275b04dd (2017-06-07-15:13)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 10000 kHz
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
Error: libusb_claim_interface() failed with LIBUSB_ERROR_ACCESS
Error: unable to open ftdi device with vid 0403, pid 6010, description 'Dual RS232-HS', serial '*' at bus location '*'
if I do the same on a Windows 10 machine, with the latest FTDI drivers installed directly from FTDI, I get a more or less similar error message:
C:> bin\openocd.exe -f board\sifive-freedom-e300-hifive1.cfg
GNU MCU Eclipse 32-bits Open On-Chip Debugger 0.10.0+dev-00473-g8770f7f-dirty (2017-06-07-11:53)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 10000 kHz
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Error: libusb_open() failed with LIBUSB_ERROR_NOT_FOUND
Error: no device found
Error: unable to open ftdi device with vid 0403, pid 6010, description 'Dual RS232-HS', serial '*' at bus location '*'
on a separate Windows 7 virtual machine, after getting a similar message, I installed the famous 'Zadig', which did some magic and then allowed my OpenCOD to connect to the board.
it looks like I am missing something with the usb configurations. I checked the OpenOCD manual, but could not find an answer.
first question: what is the recommended configuration for windows to connect to FTDI boards? is Zadig really mandatory? I read countless horror stories recommending **not** using Zadig, but without Zadig I could not find a way to configure OpenOCD to connect to the board.
second question: for macOS the situation is even more strange; using other FTDI devices was flawless, but OpenOCD refuses to connect to this board.
any suggestions?
thank you,
Liviu
---
I prepared a new release of GNU MCU OpenOCD (formerly GNU ARM OpenOCD), which is based on the latest master; to it I merged the latest RISC-V OpenOCD master, which adds support for the new RISC-V devices (thus the reason for rebranding).
my elaborated build procedure generates binaries for windows 64, windows 32, linux 64, linux 32, macos; the binaries are (hopefully) self contained, they do not need special libraries present in the system.
I have a new RISC-V board, the SiFive Freedom E300 HiFive1, with a modern FTDI chip on-board, used to connect to the JTAG pins.
I have an OpenOCD configuration file for this board, written by the board manufacturer (SiFive).
if I connect the board to my macOS 10.12, with the default FTDI drivers installed in the system, I automatically get two 'Dual RS232-HS' interfaces:
Product ID: 0x6010
Vendor ID: 0x0403 (Future Technology Devices International Limited)
Version: 7.00
Speed: Up to 12 Mb/sec
Manufacturer: FTDI
Location ID: 0xfd122300 / 4
Current Available (mA): 500
Current Required (mA): 500
Extra Operating Current (mA): 0
but if I try to connect OpenOCD to it, it fails:
$ bin/openocd -f board/sifive-freedom-e300-hifive1.cfg
GNU MCU Eclipse 64-bits Open On-Chip Debugger 0.10.0+dev-00474-g275b04dd (2017-06-07-15:13)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 10000 kHz
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
Error: libusb_claim_interface() failed with LIBUSB_ERROR_ACCESS
Error: unable to open ftdi device with vid 0403, pid 6010, description 'Dual RS232-HS', serial '*' at bus location '*'
if I do the same on a Windows 10 machine, with the latest FTDI drivers installed directly from FTDI, I get a more or less similar error message:
C:> bin\openocd.exe -f board\sifive-freedom-e300-hifive1.cfg
GNU MCU Eclipse 32-bits Open On-Chip Debugger 0.10.0+dev-00473-g8770f7f-dirty (2017-06-07-11:53)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 10000 kHz
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Error: libusb_open() failed with LIBUSB_ERROR_NOT_FOUND
Error: no device found
Error: unable to open ftdi device with vid 0403, pid 6010, description 'Dual RS232-HS', serial '*' at bus location '*'
on a separate Windows 7 virtual machine, after getting a similar message, I installed the famous 'Zadig', which did some magic and then allowed my OpenCOD to connect to the board.
it looks like I am missing something with the usb configurations. I checked the OpenOCD manual, but could not find an answer.
first question: what is the recommended configuration for windows to connect to FTDI boards? is Zadig really mandatory? I read countless horror stories recommending **not** using Zadig, but without Zadig I could not find a way to configure OpenOCD to connect to the board.
second question: for macOS the situation is even more strange; using other FTDI devices was flawless, but OpenOCD refuses to connect to this board.
any suggestions?
thank you,
Liviu