Amazon FreeRTOS
ユーザーガイド

Espressif ESP32-DevKitC と ESP-WROVER-KIT の開始方法

このチュートリアルでは、ESP32-WROOM-32、ESP32-SOLO-1、または ESP-WROVER モジュール、および ESP-WROVER-KIT-VB を搭載した Espressif ESP32-DevKitC の使用を開始するための手順について説明します。AWS Partner Device Catalog でパートナーから購入するには、ESP-DevKitCESP32-DevKitC-S1、ESP32-DevKitC-VB、または ESP32-WROVER_KIT-VB のリンクを使用します。開発ボードの両方のバージョンが Amazon FreeRTOS でサポートされています。これらのボードの詳細については、Espressif ウェブサイトの「ESP32-DevKitC」または「ESP-WROVER-KIT」を参照してください。

注記

現在、ESP32-WROVER-KIT および ESP DevKitC の Amazon FreeRTOS ポートは、以下の機能をサポートしていません。

  • Lightweight IP (LwIP)。

  • 対称型マルチプロセッシング (SMP)。

概要

このチュートリアルには、使用開始のための以下の手順が含まれています。

  1. ボードをホストマシンに接続します。

  2. マイクロコントローラーボード用の組み込みアプリケーションを開発およびデバッグするためのソフトウェアをホストマシンにインストールします。

  3. Amazon FreeRTOS デモアプリケーションをバイナリイメージにクロスコンパイルします。

  4. アプリケーションバイナリイメージをボードにロードし、アプリケーションを実行します。

  5. モニタリングおよびデバッグの目的で、シリアル接続経由で、ボード上で実行されているアプリケーションに接続します。

前提条件

Espressif ボードで Amazon FreeRTOS を使い始める前に、AWS アカウントとアクセス許可を設定する必要があります。

AWS アカウントを作成するには、「AWS アカウントを作成し、有効化する」を参照してください。

IAM ユーザーを AWS アカウントに追加するには、「IAM ユーザーガイド」を参照してください。AWS IoT および Amazon FreeRTOS に IAM ユーザーアカウントのアクセスを付与するには、IAM ユーザーアカウントに以下の IAM ポリシーをアタッチします。

  • AmazonFreeRTOSFullAccess

  • AWSIoTFullAccess

AmazonFreeRTOSFullAccess ポリシーを IAM ユーザーにアタッチするには

  1. IAM コンソールを参照し、ナビゲーションペインから [Users (ユーザー)] を選択します。

  2. 検索テキストボックスにユーザー名を入力し、リストから選択します。

  3. [Add permissions (アクセス許可を追加する)] を選択します。

  4. [Attach existing policies directly (既存のポリシーを直接アタッチする)] を選択します。

  5. 検索ボックスで「AmazonFreeRTOSFullAccess」と入力してリストから選択し、[Next: Review (次へ: レビュー)] を選択します。

  6. [Add permissions (アクセス許可を追加する)] を選択します。

AWSIoTFullAccess ポリシーを IAM ユーザーにアタッチするには

  1. IAM コンソールを参照し、ナビゲーションペインから [Users (ユーザー)] を選択します。

  2. 検索テキストボックスにユーザー名を入力し、リストから選択します。

  3. [Add permissions (アクセス許可を追加する)] を選択します。

  4. [Attach existing policies directly (既存のポリシーを直接アタッチする)] を選択します。

  5. 検索ボックスで「AWSIoTFullAccess」と入力してリストから選択し、[Next: Review (次へ: レビュー)] を選択します。

  6. [Add permissions (アクセス許可を追加する)] を選択します。

IAM およびユーザーアカウントの詳細については、IAM ユーザーガイド を参照してください。

ポリシーの詳細については、「IAM アクセス権限とポリシー」を参照してください。

Espressif ハードウェアの設定

ESP32-DevKitC 開発ボードハードウェアの設定の詳細については、ESP32-DevKitC 入門ガイドを参照してください。

ESP-WROVER-KIT 開発ボードハードウェアの設定の詳細については、ESP-WROVER-KIT 入門ガイドを参照してください。

注記

Espressif ガイドの「開始方法」に進まないでください。代わりに、次のステップを実行します。

開発環境の設定

ボードと通信するには、ツールチェーンをダウンロードしてインストールする必要があります。

ツールチェーンの設定

ツールチェーンを設定するには、ホストマシンのオペレーティングシステムの指示に従ってください。

注記

[次のステップ] の下にある「ESP-IDF の取得」の手順に到達したら、停止してこのページの手順に戻ります。以前に「ESP-IDF の取得」の指示に従って ESP-IDF をインストールした場合は、続行する前にシステムから IDF_PATH 環境変数を必ずクリアしてください。

注記

ESP-IDF のバージョン 3.1.5 (Amazon FreeRTOS で使用されるバージョン) では、ESP32 コンパイラの最新バージョンがサポートされていません。ESP-IDF のバージョン 3.1.5 と互換性のあるコンパイラを使用する必要があります (上記のリンクを参照)。コンパイラのバージョンを確認するには、「xtensa-esp32-elf-gcc-version」を実行します。

CMake をインストールする

CMake ビルドシステムは、このデバイスの Amazon FreeRTOS デモとテストアプリケーションをビルドするために必要です。Amazon FreeRTOS では、バージョン 3.13 以降がサポートされています。

CMake.org から CMake の最新バージョンをダウンロードできます。ソースとバイナリ配布のいずれも利用可能です。

Amazon FreeRTOS で CMake の使用に関する詳細については、「Amazon FreeRTOS による CMake の使用」を参照してください。

シリアル接続の確立

ホストマシンと ESP32-DevKitC の間にシリアル接続を確立するには、CP210x USB を UART Bridge VCP ドライバーにインストールする必要があります。これらのドライバーは Silicon Labs からダウンロードできます。

ホストマシンと ESP32-WROVER-KIT の間にシリアル接続を確立するには、一部の FTDI 仮想 COM ポートドライバーをインストールする必要があります。これらのドライバーは FTDI からダウンロードできます。

詳細については、「ESP32 とのシリアル接続を確立する」を参照してください。シリアル接続を確立したら、ボードとの接続用のシリアルポートをメモしておきます。デモを構築する際に必要になります。

Amazon FreeRTOS をダウンロードして設定する

環境をセットアップすると、GitHub または Amazon FreeRTOS コンソールから Amazon FreeRTOS をダウンロードできるようになります。手順については、README.md ファイルを参照してください。

Amazon FreeRTOS デモアプリケーションを設定する

  1. macOS または Linux を実行している場合、ターミナルプロンプトを開きます。Windows を実行している場合は、mingw32.exe を開きます。

  2. Python 2.7.10 以降がインストールされていることを確認するには、python --version を実行します。インストールされているバージョンが表示されます。Python 2.7.10 以降がインストールされていない場合は、Python ウェブサイトからインストールできます。

  3. AWS IoT コマンドを実行するには AWS CLI が必要です。Windows を実行している場合は、easy_install awscli を使用して mingw32 環境に AWS CLI をインストールします。

    macOS または Linux を実行している場合は、「AWS コマンドラインインターフェイスのインストール」を参照してください。

  4. aws configure を実行し、AWS アクセスキー ID、シークレットアクセスキー、およびデフォルトのリージョン名を使用して AWS CLI を設定します。詳細については、AWS CLI の設定 を参照してください。

  5. 次のコマンドを使用して、AWS SDK for Python (boto3) をインストールします。

    • Windows では、mingw32 環境で、easy_install boto3 を実行します。

    • macOS または Linux で、pip install tornado nose --userpip install boto3 --user の順に実行します。

Amazon FreeRTOS には、AWS IoT に接続するための Espressif ボードのセットアップを容易にする SetupAWS.py スクリプトが含まれています。このスクリプトを設定するには、<amazon-freertos>/tools/aws_config_quick_start/configure.json を開いて次の属性を設定します。

afr_source_dir

コンピュータの <amazon-freertos> ディレクトリへの完全なパス。このパスの指定にスラッシュを使用していることを確認します。

thing_name

ボードを表す AWS IoT モノに割り当てる名前。

wifi_ssid

Wi-Fi ネットワークの SSID。

wifi_password

Wi-Fi ネットワークのパスワード。

wifi_security

Wi-Fi ネットワークのセキュリティタイプ。

有効なセキュリティタイプは以下の通りです。

  • eWiFiSecurityOpen (オープン、セキュリティなし)

  • eWiFiSecurityWEP (WEP セキュリティ)

  • eWiFiSecurityWPA (WPA セキュリティ)

  • eWiFiSecurityWPA2 (WPA2 セキュリティ)

設定スクリプトを実行するには

  1. macOS または Linux を実行している場合、ターミナルプロンプトを開きます。Windows を実行している場合は、mingw32.exe を開きます。

  2. <amazon-freertos>/tools/aws_config_quick_start ディレクトリに移動して、python SetupAWS.py setup を実行します。

スクリプトでは次のことが実行されます。

  • IoT のモノ、証明書およびポリシーを作成します。

  • 証明書に IoT ポリシーを、AWS IoT のモノに証明書をアタッチします。

  • AWS IoT エンドポイント、Wi-Fi SSID、および認証情報を aws_clientcredential.h ファイルに追加します。

  • 証明書とプライベートキーをフォーマットして aws_clientcredential.h ヘッダーファイルに書き込みます。

SetupAWS.py の詳細については、<amazon-freertos>/tools/aws_config_quick_start ディレクトリにある README.md を参照してください。

Amazon FreeRTOS デモプロジェクトをビルド、フラッシュ、および実行する

CMake を使用してビルドファイルを生成し、Make を使用してアプリケーションバイナリをビルドし、Espressif の IDF ユーティリティを使用してボードをフラッシュできます。

Amazon FreeRTOS をビルドする

(Windows を使用している場合は、次のセクションを参照してください)

CMake を使用してビルドファイルを生成してから、Make を使用してアプリケーションをビルドします。

CMake を使用してデモアプリケーションのビルドファイルを生成するには

  1. ディレクトリを Amazon FreeRTOS ダウンロードディレクトリのルートに変更します。

  2. ビルドファイルを生成するには、次のコマンドを使用します。

    cmake -DVENDOR=espressif -DBOARD=esp32_wrover_kit -DCOMPILER=xtensa-esp32 -S . -B your-build-directory

    注記

    デバッグ用にアプリケーションをビルドする場合は、このコマンドに -DCMAKE_BUILD_TYPE=Debug フラグを追加します。

    テストアプリケーションのビルドファイルを生成する場合は、-DAFR_ENABLE_TESTS=1 フラグを追加します。

Make を使用してアプリケーションをビルドするには

  1. ディレクトリを build ディレクトリに変更します。

  2. Make を使用してアプリケーションをビルドするには、次のコマンドを使用します。

    make all -j4

    注記

    aws_demos プロジェクトと aws_tests プロジェクトを切り替えるたびに、cmake コマンドでビルドファイルを生成する必要があります。

Windows で Amazon FreeRTOS をビルドする

Windows では、CMake に対してビルドジェネレータを指定する必要があります。指定しない場合、CMake はデフォルトを Visual Studio に使用します。Ninja ビルドシステムは Windows、Linux、および MacOS で機能するため、Expressif では Ninja ビルドシステムが公式に推奨されます。CMake コマンドは、cmd あるいは powershell などのネイティブの Windows 環境で実行する必要があります。MSYS2 や WSL などの仮想 Linux 環境で CMake コマンドを実行することはサポートされていません。

CMake を使用してビルドファイルを生成してから、Make を使用してアプリケーションをビルドします。

CMake を使用してデモアプリケーションのビルドファイルを生成するには

  1. ディレクトリを Amazon FreeRTOS ダウンロードディレクトリのルートに変更します。

  2. ビルドファイルを生成するには、次のコマンドを使用します。

    cmake -DVENDOR=espressif -DBOARD=esp32_wrover_kit -DCOMPILER=xtensa-esp32 -GNinja -S . -B your-build-directory

    注記

    デバッグ用にアプリケーションをビルドする場合は、このコマンドに -DCMAKE_BUILD_TYPE=Debug フラグを追加します。

    テストアプリケーションのビルドファイルを生成する場合は、-DAFR_ENABLE_TESTS=1 フラグを追加します。

アプリケーションを構築するには

  1. ディレクトリを build ディレクトリに変更します。

  2. Ninja を呼び出してアプリケーションを構築します。

    ninja

    または、一般的な CMake インターフェイスを使用してアプリケーションを構築します。

    cmake --build your-build-directory

    注記

    aws_demos プロジェクトと aws_tests プロジェクトを切り替えるたびに、cmake コマンドでビルドファイルを生成する必要があります。

Amazon FreeRTOS をフラッシュおよび実行する

Espressif の IDF ユーティリティ (<amazon-freertos>/vendors/espressif/esp-idf/tools/idf.py) を使用して、ボードをフラッシュし、アプリケーションを実行し、ログを表示します。

ボードのフラッシュを消去するには、<amazon-freertos> ディレクトリに移動し、次のコマンドを使用します。

./vendors/espressif/esp-idf/tools/idf.py erase_flash -B build

アプリケーションバイナリをボードにフラッシュするには、make を使用します。

make flash

また、次のように IDF スクリプトを使用してボードをフラッシュすることもできます。

./vendors/espressif/esp-idf/tools/idf.py flash -B build

モニタリングするには、次のコマンドを使用します。

./vendors/espressif/esp-idf/tools/idf.py monitor -p /dev/ttyUSB1 -B build

注記

これらのコマンドを組み合わせることができます。次に例を示します。

./vendors/espressif/esp-idf/tools/idf.py erase_flash flash monitor -p /dev/ttyUSB1 -B build

クラウド上の MQTT メッセージのモニタリング

デバイスが AWS クラウドに送信するメッセージをモニタリングするには、AWS IoT コンソールで MQTT クライアントを使用します。

AWS IoT MQTT クライアントで MQTT トピックをサブスクライブするには

  1. AWS IoT コンソールにサインインします。

  2. ナビゲーションペインで、[Test (テスト)] を選択して MQTT クライアントを開きます。

  3. [Subscription topic (トピックのサブスクリプション)] で「iotdemo/#」と入力し、[Subscribe to topic (トピックへのサブスクライブ)] を選択します。

Bluetooth Low-Energy デモを実行する

Amazon FreeRTOS は、Bluetooth Low Energy 接続をサポートしています。

Bluetooth Low Energy で Amazon FreeRTOS デモプロジェクトを実行するには、iOS または Android のモバイルデバイスで Amazon FreeRTOS Bluetooth Low Energy Mobile SDK デモアプリケーションを実行する必要があります。

Amazon FreeRTOS Bluetooth Low Energy Mobile SDK デモアプリケーションをセットアップするには

  1. モバイルプラットフォーム用の SDK をホストコンピュータにダウンロードしてインストールするには、Amazon FreeRTOS Bluetooth デバイス用の Mobile SDK の手順に従います。

  2. モバイルデバイスでデモモバイルアプリケーションをセットアップするには、Amazon FreeRTOS Bluetooth Low Energy Mobile SDK デモアプリケーションの手順に従います。

ボードで MQTT over Bluetooth Low Energy デモを実行する方法については、MQTT over Bluetooth Low Energy demo application (MQTT over BLE デモアプリケーション) を参照してください。

ボードで Wi-Fi プロビジョニングデモを実行する方法については、「Wi-Fi Provisioning demo application (Wi-Fi プロビジョニングデモアプリケーション)」を参照してください。

トラブルシューティング

  • macOS を使用していてオペレーティングシステムが ESP-WROVER-KIT を認識しない場合は、D2XX ドライバーがインストールされていないことを確認してください。ドライバーをアンインストールするには、FTDI Drivers Installation Guide for macOS X の手順に従います。

  • ESP-IDF によって提供された (および make monitor を使用して呼び出された) モニタユーティリティを使用して、アドレスをデコードできます。そのため、アプリケーションがクラッシュした場合に意味のあるバックトレースを取得するのに役立ちます。詳細については、Espressif のウェブサイトにある Automatically Decoding Addresses を参照してください。

  • GDBstub を gdb との通信用に有効にすることができます。特別な JTAG ハードウェアは必要ありません。詳細については、Espressif のウェブサイトにある「GDBStub の GDB を起動する」を参照してください。

  • JTAG ハードウェアベースのデバッグが必要な場合に OpenOCD ベースの環境をセットアップする方法の詳細については、Espressif ウェブサイトの「JTAG のデバッグ」を参照してください。

  • macOS で pip を使用して pyserial をインストールできない場合、pyserial ウェブサイト からダウンロードします。

  • ボードが継続的にリセットされる場合は、ターミナルで次のコマンドを入力して、フラッシュの消去を試してください。

    make erase_flash
  • idf_monitor.py を実行するときにエラーが表示された場合は、Python 2.7 を使用します。

  • ESP-IDF からの必須ライブラリは Amazon FreeRTOS に含まれています。外部でダウンロードする必要はありません。IDF_PATH 環境変数が設定されている場合、Amazon FreeRTOS をビルドする前にクリアすることをお勧めします。

  • Window では、プロジェクトのビルドに 3 ~ 4 分かかる場合があります。ビルド時間を減らすために、make コマンドで -j4 スイッチを使用できます。

    make flash monitor -j4
  • デバイスが AWS IoT への接続に問題がある場合は、aws_clientcredential.h ファイルを開き、ファイル内で設定変数が正しく定義されていることを確認してください。clientcredentialMQTT_BROKER_ENDPOINT[]<1234567890123>-ats.iot.<us-east-1>.amazonaws.com のようになっているはずです。

Amazon FreeRTOS の開始方法に関する一般的なトラブルシューティングについては、「トラブルシューティングの開始方法」を参照してください。

Espressif ESP32-DevKitC および ESP-WROVER-KIT のデバッグコード

JTAG to USB ケーブルが必要です。USB to MPSSE を使用します (例: FTDI C232HM-DDHSL-0)。

ESP-DevKitC JTAG セットアップ

FTDI C232HM-DDHSL-0 ケーブルの場合、これらは ESP32 DevkitC への接続です。

C232HM-DDHSL-0 配線色 ESP32 GPIO ピン JTAG 通知名

茶色 (ピン 5)

IO14

TMS

黄色 (ピン 3)

IO12

TDI

黒 (ピン 10)

GND

GND

オレンジ (ピン 2)

IO13

TCK

緑 (ピン 4)

IO15

TDO

ESP-WROVER-KIT JTAG セットアップ

FTDI C232HM-DDHSL-0 ケーブルの場合、これらは ESP32-WROVER-KIT への接続です。

C232HM-DDHSL-0 配線色 ESP32 GPIO ピン JTAG 通知名

茶色 (ピン 5)

IO14

TMS

黄色 (ピン 3)

IO12

TDI

オレンジ (ピン 2)

IO13

TCK

緑 (ピン 4)

IO15

TDO

これらのテーブルは、FTDI C232HM-DDHSL-0 データシートから開発されました。詳細については、データシートの C232HM MPSSE Cable Connection and Mechanical Details を参照してください。

ESP-WROVER-KIT で JTAG を有効にするには、次に示すように TMS、TDO、TDI、TCK、S_TDI のピンにジャンパーを配置します。

Windows でのデバッグ

Windows でのデバッグをセットアップするには

  1. FTDI C232HM-DDHSL-0 の USB 側をコンピュータに接続し、他方の側を Espressif ESP32-DevKitC および ESP-WROVER-KIT のデバッグコード の説明に従って接続します。FTDI C232HM-DDHSL-0 デバイスは、[Universal Serial Bus Controllers (ユニバーサルシリアルバスコントローラー)] の下にある [Device Manager (デバイスマネージャ)] に表示されます。

  2. ユニバーサルシリアルバスデバイスのリストの下で、[C232HM-DDHSL-0] デバイスを右クリックし、[プロパティ] を選択します。

    注記

    このデバイスは、[USB Serial Port (USB シリアルポート)] として表示される場合があります。

    プロパティウィンドウで [Details (詳細)] タブを選択して、デバイスのプロパティを表示します。デバイスが表示されない場合は、Windows driver for FTDI C232HM-DDHSL-0 をインストールします。

  3. [Details (詳細)] タブで、[Property (プロパティ)] を選択し、[Hardware IDs (ハードウェア ID)] を選択します。[] フィールドに、次のような内容が表示されます。

    FTDIBUS\COMPORT&VID_0403&PID_6014

    この例では、ベンダー ID は 0403 で、製品 ID は 6014 です。

    これらの ID が projects/espressif/esp32/make/aws_demos/esp32_devkitj_v1.cfg の ID に一致していることを確認します。ID は ftdi_vid_pid で始まる行で指定されており、その後に ベンダー ID と製品 ID が続きます。

    ftdi_vid_pid 0x0403 0x6014
  4. OpenOCD for Windows をダウンロードします。

  5. ファイルを C:\ に解凍して、システムパスに C:\openocd-esp32\bin を追加します。

  6. OpenOCD には libusb が必要です。これは、Windows にデフォルトではインストールされません。

    libusb をインストールするには

    1. zadig.exe をダウンロードします。

    2. zadig.exe を実行します。[Options (オプション)] メニューから、[List All Devices (すべてのデバイスをリストする)] を選択します。

    3. ドロップダウンメニューから [C232HM-DDHSL-0] を選択します。

    4. ターゲットドライバーフィールドの緑の矢印の右側で [WinUSB] を選択します。

    5. ターゲットドライバーフィールドの下のドロップダウンボックスから、矢印を選択して [Install Driver (ドライバーのインストール)] を選択します。[Replace Driver (ドライバーの置換)] を選択します。

  7. コマンドプロンプトを開き、projects/espressif/esp32/make/aws_demos に移動して以下を実行します。

    openocd.exe -f esp32_devkitj_v1.cfg -f esp-wroom-32.cfg

    このコマンドプロンプトを開いたままにしておきます。

  8. 新しいコマンドプロンプトを開き、msys32 ディレクトリに移動して mingw32.exe を実行します。mingw32 ターミナルで、projects/espressif/esp32/make/aws_demos に移動して make flash monitor を実行します。

  9. 別の mingw32 ターミナルを開き、projects/espressif/esp32/make/aws_demos に移動し、ボードでデモの実行が開始されるまで待機します。このときに、xtensa-esp32-elf-gdb -x gdbinit build/aws_demos.elf を実行します。このプログラムは main 関数で停止する必要があります。

注記

ESP32 では、最大 2 個のブレークポイントがサポートされています。

macOS でのデバッグ

  1. FTDI driver for macOS をダウンロードします。

  2. OpenOCD をダウンロードします。

  3. ダウンロードした .tar ファイルを抽出して、.bash_profile のパスを <OCD_INSTALL_DIR>/openocd-esp32/bin に設定します。

  4. 次のコマンドを使用して macOS に libusb をインストールします。

    brew install libusb
  5. 次のコマンドを使用してシリアルポートドライバーをアンロードします。

    sudo kextunload -b com.FTDI.driver.FTDIUSBSerialDriver
  6. macOS 10.9 以降のバージョンを実行している場合は、次のコマンドを使用して Apple の FTDI ドライバーをアンロードします。

    sudo kextunload -b com.apple.driver.AppleUSBFTDI
  7. 次のコマンドを使用して FTDI ケーブルの製品 ID とベンダー ID を取得します。アタッチされた USB デバイスが表示されます。

    system_profiler SPUSBDataType

    system_profiler からの出力は、次のようになります。

    DEVICE: Product ID: product-ID Vendor ID: vendor-ID (Future Technology Devices International Limited)
  8. projects/espressif/esp32/make/aws_demos/esp32_devkitj_v1.cfg を開きます。デバイスのベンダー ID および製品 ID は ftdi_vid_pid で始まる行で指定されています。前のステップの system_profiler 出力の ID に一致するように ID を変更します。

  9. ターミナルウィンドウを開き、projects/espressif/esp32/make/aws_demos に移動して、以下のコマンドを使用して OpenOCD を実行します。

    openocd -f esp32_devkitj_v1.cfg -f esp-wroom-32.cfg
  10. 新しいターミナルを開き、次のコマンドを使用して FTDI シリアルポートドライバーをロードします。

    sudo kextload -b com.FTDI.driver.FTDIUSBSerialDriver
  11. projects/espressif/esp32/make/aws_demos に移動して、以下のコマンドを実行します。

    make flash monitor
  12. 別の新しいターミナルを開き、projects/espressif/esp32/make/aws_demos に移動して、次のコマンドを実行します。

    xtensa-esp32-elf-gdb -x gdbinit build/aws_demos.elf

    main() でこのプログラムを停止する必要があります。

Linux でのデバッグ

  1. OpenOCD をダウンロードします。tarball を抽出し、readme ファイルのインストール手順に従ってください。

  2. 次のコマンドを使用して Linux に libusb をインストールします。

    sudo apt-get install libusb-1.0
  3. ターミナルを開いて ls -l /dev/ttyUSB* と入力し、コンピュータに接続されているすべての USB デバイスを一覧表示します。これにより、ボードの USB ポートがオペレーティングシステムによって認識されているかどうかを確認できます。次のような出力が表示されます。

    $ls -l /dev/ttyUSB* crw-rw---- 1 root dialout 188, 0 Jul 10 19:04 /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 1 Jul 10 19:04 /dev/ttyUSB1
  4. サインオフしてからサインインし、ボードの電源を入れ直して変更を有効にします。ターミナルプロンプトで、USB デバイスを一覧表示します。グループ所有者が dialout から plugdev に変化していることを確認します。

    $ls -l /dev/ttyUSB* crw-rw---- 1 root plugdev 188, 0 Jul 10 19:04 /dev/ttyUSB0 crw-rw---- 1 root plugdev 188, 1 Jul 10 19:04 /dev/ttyUSB1

    数の少ない番号を持つ /dev/ttyUSBn インターフェイスは、JTAG 通信に使用されます。もう 1 つのインターフェイスは ESP32 のシリアルポート (UART) にルーティングされ、コードを ESP32 のフラッシュメモリにアップロードするために使用されます。

  5. ターミナルウィンドウで projects/espressif/esp32/make/aws_demos に移動して、以下のコマンドを使用して OpenOCD を実行します。

    openocd -f esp32_devkitj_v1.cfg -f esp-wroom-32.cfg
  6. 別のターミナルを開き、projects/espressif/esp32/make/aws_demos に移動して次のコマンドを実行します。

    make flash monitor
  7. 別のターミナルを開き、projects/espressif/esp32/make/aws_demos に移動して次のコマンドを実行します。

    xtensa-esp32-elf-gdb -x gdbinit build/aws_demos.elf

    main() でこのプログラムを停止する必要があります。