質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

1回答

3681閲覧

FT2232H+ESP32-DevKitCのGUIデバッグ環境を構築したい

退会済みユーザー

退会済みユーザー

総合スコア0

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

1グッド

2クリップ

投稿2020/09/24 03:04

編集2020/10/08 06:52

ESP32-wroom-32+FT2232HまたはESP32-DevKitC+FT232Hの組み合わせで環境を構築しているサイトを見かけるのですが、手元にはこの表題のボードしかなくこの組み合わせでVSCODEでJTAGデバッグをできる環境を構築したいのですが、「libusb_open() failed」というエラーがどうしても消えず、行き詰まってしまいました。
もし同じ条件で環境を構築できている方がいらっしゃいましたら、アドバイスをお願いいたします。
また、問題解消できずともまずは同じ構成で同じことを試して私と同じ結果に至るか、そうでないのか、その情報でも構いませんのでなにか情報を頂けたらと思います。

###ハードウェア

・基板 ESP32-DevKitC v4(ESP32) FT2232H MiniModule(以下FT2232H) ・電源 外部電源供給型のUSBハブ(1ポートあたり500mA) ・電解コンデンサ1000uF(VBUS-GND間)

###ソフトウェア

・Windows10Home ・VisualStudioCode V1.49.1(以下VSCODE) ・PlatformIO Core 5.0.2b2, Home 3.3.0 ・Zadig V2.5 ・WinUSB(v6.1.7600.16385)

###JTAG側接続

FT2232H_MM側 - ESP32側 ・AD1(CN2-10) - GPIO12 ・AD2(CN2-9) - GPIO15 ・AD0(CN2-7) - GPIO13 ・AD3(CN2-12) - GPIO14 ・AC2(CN2-20) - EN ・GND(CN2-2,4,6,CN3-2,4) - GND ・VCCIO(CN2-11,21,CN3-12,22) - 3.3V ※ブレッドボードではなく、ユニバーサル基板上で配線

###書き込み側接続

・無し、ESP32-DevKitC上のUSBシリアル(CP2102N)を使用

###FT2232H間接続

・VBUS(CN3-1) - VCC(CN3-3)

###ハードウェアのチェック

・テスターで各配線の導通チェック ・ESP32はVSCODE上でLチカプログラムの書き込みとLチカ動作の確認 ・通電状態にしてテスターでFT2232HのVCCIOの電圧チェック ・FT2232HはUSB-シリアルドライバを入れた状態でCOMポートのループバックテスト

###PC上の環境構築手順

1.VSCODEのインストール 2.VSCODE上でプラットフォームIOのインストール 3.FT2232Hのドライバのインストール(接続時自動) 4.ZadigでFT2232H MiniModule (Interface 0)をWinUSBに置き換える 5.デバイスマネージャーでユニバーサルシリアルバスデバイスの下に「FT2232H MiniModule」があるのを確認する 6.PlatformIOのHOMEからNewProject 7.Board:Espressif32 ESP32 Dev Module 8.Framework:Arduino 9.platform.iniにデバッグ用のコンフィグファイルを指定する (「debug_tool = minimodule」を追加する) 10.C:\Users\XXXX.platformio\packages\tool-openocd-esp32\share\openocd\scripts\interface\ftdi\minimodule.cfg(以下minimodule.cfg)で、vid、pidの値がZadigの値と一致するか確認する 11.F5を押す

###試したこと

・esp32側のEN・Bootボタンを押しっぱなしにする →libusb_open() failedと変わらない、esp32側はたぶん関係していない ・FT2232Hを接続しない →no device found。libusb_open() failedとlibusb_get_string_descriptor_ascii() failedが無くなるのでFT2232H側で問題が起きていると思われる ・ZadigでFT2232H MiniModule (Interface 1)をWinUSBに置き換える →libusb_open() failed ・ZadigでFT2232H MiniModule 両chをWinUSBに置き換える →libusb_open() failed ・minimodule.cfgでFT2232Hのchを指定するため「ftdi_channel 0」を追加する →libusb_open() failed ・minimodule.cfgでFT2232Hのchを指定するため「ftdi_channel 1」を追加する →libusb_open() failed ・minimodule.cfgでFT2232Hのchを指定するため「ftdi_device_desc の値を「FT2232H MiniModule」から「FT2232H MiniModule (Interface 0)」 →libusb_open() failedは変わらないが、エラーメッセージ中のFT2232H MiniModule」が「FT2232H MiniModule (Interface 0)」に変わったので少なくともminimodule.cfgを読みに言っている ・minimodule.cfgでFT2232Hのchを指定するため「ftdi_device_desc の値を「FT2232H MiniModule」から「FT2232H MiniModule (Interface 1)」 →libusb_open() failed ・JTAGのクロック周波数を下げるためminimodule.cfgのftdi_layout_initを「0x0008 0x000b」から「0x0000 0x001b」へ変更する →libusb_open() failed ・PlatformIOのTERMINALから「update」、「upgrade -dev」コマンドを送る、QuickAccessからUpdate All, Upgrade PlatformIO Coreを実行する →libusb_open() failed ・他のパソコンで同じ方法で環境を構築してみる →libusb_open() failed ・VSCODEを管理者権限で実行する →libusb_open() failed ・上記を一通り組み合わせてみる、アプリ、ドライバを入れ直してみる →libusb_open() failed

###ソースコード
main.cpp

#include <Arduino.h> #define LED_PIN 15 void setup() { // put your setup code here, to run once: // Serial.begin(115200); delay(100); // Serial.printf("%s - run\n",__func__); pinMode(LED_PIN, OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(LED_PIN, HIGH); // Serial.printf("%s - LED_PIN - HIGH\n",__func__); delay(1000); digitalWrite(LED_PIN, LOW); // Serial.printf("%s - LED_PIN - LOW\n",__func__); delay(1000); }

platformio.ini

; PlatformIO Project Configuration File ; ; Build options: build flags, source filter ; Upload options: custom upload port, speed and extra flags ; Library options: dependencies, extra library storages ; Advanced options: extra scripting ; ; Please visit documentation for the other options and examples ; https://docs.platformio.org/page/projectconf.html [env:esp32dev] platform = espressif32 board = esp32dev framework = arduino monitor_speed = 115200 upload_speed = 921600 debug_tool = minimodule upload_protocol = minimodule

minimodule.cfg

# # FTDI MiniModule # # http://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_FT2232H_Mini_Module.pdf # interface ftdi ftdi_device_desc "FT2232H MiniModule" ftdi_vid_pid 0x0403 0x6010 #ftdi_channel 0 # Every pin set as high impedance except TCK, TDI, TDO and TMS ftdi_layout_init 0x0008 0x000b # nSRST defined on pin CN2-13 of the MiniModule (pin ADBUS5 [AD5] on the FT2232H chip) # This choice is arbitrary. Use other GPIO pin if desired. ftdi_layout_signal nSRST -data 0x0020 -oe 0x0020

###エラーメッセージ

Processing esp32dev (platform: espressif32; board: esp32dev; framework: arduino) -------------------------------------------------------------------------------- Verbose mode can be enabled via `-v, --verbose` option CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html PLATFORM: Espressif 32 (2.0.0) > Espressif ESP32 Dev Module HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash DEBUG: Current (minimodule) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) PACKAGES: - framework-arduinoespressif32 3.10004.200129 (1.0.4) - tool-esptoolpy 1.20600.0 (2.6.0) - tool-openocd-esp32 1.1000.20190709 (10.0) - toolchain-xtensa32 2.50200.80 (5.2.0) LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 26 compatible libraries Scanning dependencies... No dependencies Building in debug mode Retrieving maximum program size .pio\build\esp32dev\firmware.elf Checking size .pio\build\esp32dev\firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [ ] 4.7% (used 15348 bytes from 327680 bytes) Flash: [== ] 16.1% (used 211033 bytes from 1310720 bytes) ========================= [SUCCESS] Took 3.23 seconds ========================= Reading symbols from c:\Users\XXXX\Documents\PlatformIO\Projects\BlinkLed.pio\build\esp32dev\firmware.elf... done. PlatformIO Unified Debugger -> http://bit.ly/pio-debug PlatformIO: debug_tool = minimodule PlatformIO: Initializing remote target... Open On-Chip Debugger v0.10.0-esp32-20190708 (2019-07-08-11:04) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html adapter speed: 20000 kHz Info : Configured 2 cores esp32 interrupt mask on Info : tcl server disabled Info : telnet server disabled Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED Error: libusb_get_string_descriptor_ascii() failed with LIBUSB_ERROR_PIPE Error: no device found Error: unable to open ftdi device with vid 0403, pid 6010, description 'FT2232H MiniModule', serial '*' at bus location '*' Warn : Flash driver of esp32.flash does not support free_driver_priv() Warn : Flash driver of irom does not support free_driver_priv() Warn : Flash driver of drom does not support free_driver_priv() .pioinit:11: Error in sourced command file: Remote communication error. Target disconnected.: No error.
MaeharaKenji👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

BD0 - RX RXD0
BD1 - TX TXD0
この接続を追加することで、Lチカのステップ実行はできるようになりました

投稿2021/02/22 01:06

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問