ESP32で遊ぶ


開発環境を作る (2)

前回は、ESP-IDFをWindows 10にインストールしました。
今回は、C/C++で開発する際のIDCとしてEclipseを日本語化したPleiades All in Oneを使うことにします。
Expressifの公式ドキュメントのBuild and Flash with Eclipse IDEで、そのセットアップ方法を説明していますので、こちらに準じて環境を整えていきたいと思います。

Eclipseをインストール

Eclipseにはインストーラが同梱されていません。ですので、圧縮ファイルを解凍するだけでインストールできます。
今回は、複数バージョンを同居できるようにインストールしたいと思います。

  1. Eclipse (Pleiades All in One) をダウンロード
    1. Pleiades All in Oneから最新バージョン(執筆時点では、Eclipse 4.7 Oxygen)を選択してダウンロードページに進みます。
    2. OS、同梱されるプラグイン、および同梱されるランタイムなどのモジュールを判断して、該当するDownloadボタンを押します。
      ESP32の開発環境ということであればC/C++でかまいませんが、他の言語のプログラムの開発も考慮してUltimateを使うことにします。
      コンパイラは前回インストールしておりますのでStandard Editionを使うことにします。

      zipファイルがダウンロードされますので、名前を付けて保存します。
  2. 展開とインストール
    1. ダウンロードしたzipファイルを任意のフォルダに解凍します。
    2. C:¥pleiadesフォルダを作成します。
    3. 解凍先フォルダ¥pleiades¥eclipseフォルダをC:¥pleiadesに移動します。
    4. C:¥pleiades¥eclipseC:¥pleiades¥eclipse 4.7にリネームします。
      今回はバージョン番号を追加しています。
      共存する他のEclipseと識別できるようにしてください。
    5. スタートメニューに追加します。
      1. C:¥pleiades¥eclipse 4.7¥eclipse.exeを選択してマウスの右ボタンをクリックします。
      2. 右メニューの中から[ショートカットの作成]を選択します。
      3. ショートカットをバージョンがわかるような名称にリネームします。
      4. C:¥ProgramData¥Microsoft¥Windows¥Start Menu¥Programsフォルダにeclipse 4.7フォルダを作成します。
      5. 先ほど作成したショートカットを今作成したC:¥ProgramData¥Microsoft¥Windows¥Start Menu¥Programs¥eclipse 4.7フォルダに移動します。
  3. Java SDKをインストール
    1. Java SE DownloadページからEclipseがサポートしているバージョンのJDKのDownloadボタンを選択します。
      執筆時点では、Java SE 10.0.1でした。
    2. Accept License Agreementを選択します。
    3. Windows版のインストーラ(jdk-10.0.1_windows-x64_bin.exe)をダウンロードします。
    4. ダウンロードしたインストーラを起動してインストールを行います。
      インストーラに従って、インストールを進めます。
  4. Eclipseの起動確認
    1. eclipse.exeを起動します。
    2. ワークスペースディレクトリを指定して[起動]ボタンを押します。
    3. Eclipseの画面が表示され、起動確認ができました。
  5. 改行コードとキャラクタセットを変更します。
    1. [ウィンドウ]メニュー-[設定]を選択します。
    2. [一般]-[ワークスペース]を選択します。
    3. [テキスト・ファイル・エンコード]でその他:UTF-8を選択します。
    4. [新規テキスト・ファイルの行区切り文字]でその他:Unixを選択します。
    5. [適用して閉じる]ボタンを押します。
    6. eclipse.exeを終了します。
  6. ターミナルビューを表示します。
    1. [ウィンドウ]メニュー-[ビュー表示]-[ターミナル]を選択します。
    2. ターミナルビューが表示されました。
    3. ターミナルをシリアルポートに接続する方法
      1. ターミナルアイコンをクリックします。
      2. [ターミナルの選択]にシリアル・ターミナルを選択します。
      3. [Serial port]に目的のポート名(COM1など)を選択します。
      4. [OK]ボタンを押します。
      5. ターミナルがシリアルポートに接続されました。
    4. ターミナルを切断する方法
      1. シリアルポートのアイコンをクリックします。

サンプルプログラムをコンパイルする

まずはサンプルプログラムをインポートして、Eclipseでコンパイルできることを確認したいと思います。
Windows版については、Eclipse IDE on Windowsに解説されています。

  1. eclipse.exeを起動します。
  2. サンプルプログラムをインポートします。
    1. [ファイル]メニュー-[インポート]を選択します。
    2. [C/C++]-[Makefileプロジェクトとしての既存コード]を選択します。
    3. [次へ]ボタンをクリックします。
    4. [既存コードのロケーション]を入力(または参照して選択)します。
      自動的に[プロジェクト名]が入ります。必要に応じて変更します。

    5. [このプラットフォームをサポートする使用可能なツールチェーンのみを表示]チェックボックスのチェックを外します。
    6. [インデクサー設定のツールチェーン]-[Cygwin GCC]を選択します。
    7. [完了]ボタンをクリックします。
  3. プロジェクト毎にEclipseの設定をします。
    1. [プロジェクト]メニュー-[プロパティ]を選択します。
    2. [C/C++ビルド]を選択します。
      1. [ビルダー設定]タブ-[ビルダー]
        1. デフォルト・ビルド・コマンドを使用
          チェックを外す
        2. ビルド・コマンド
          C:/msys32/mingw32/bin/python ${IDF_PATH}/tools/windows/eclipse_make.py
    3. [C/C++ビルド]-[環境]を選択します。
      1. [設定する環境変数]-[追加]ボタンを押して次の変数を追加します。
        1. BATCH_BUILD
          1
        2. IDF_PATH
          C:/msys32/opt/esp-idf-v30
      2. [設定する環境変数]-[編集]ボタンを押して次の変数を変更します。
        1. PATH
          C:¥msys32¥usr¥bin;C:¥msys32¥mingw32¥bin;C:¥msys32¥opt¥xtensa-esp32-elf¥bin
    4. [C/C++一般]-[プリプロセッサに含めるパス、マクロなど]を選択します。
      1. [プロパイダー]タブ-[CDT GCC Built-in Compiler Settings Cygwin]を選択し、次の値を変更します。
        1. Command to get compiler specs
          xtensa-esp32-elf-gcc ${FLAGS} -E -P -v -dD "${INPUTS}"
      2. [プロパイダー]タブ-[CDT GCC Build Output Parser]を選択し、次の値を変更します。
        1. Compiler command pattern
          xtensa-esp32-elf-((g?cc)|([gc]\+\+)|(clang))
    5. [適用して閉じる]ボタンを押します。
  4. Eclipseからターゲットにプログラムを焼けるように設定します。
    1. プロジェクトを選択して右クリックします。
    2. [ターゲットをビルドする]-[作成]を選択します。
    3. [ターゲット名]にflashを入力します。
    4. [OK]ボタンを押します。
  5. コンパイルします。
    1. [プロジェクト]メニュー-[自動的にビルド]のチェックを外します。
    2. [プロジェクト]メニュー-[クリーン]を選択します。
    3. [クリーン]ボタンを押します。
    4. 処理が終了し、…`make flash`…が出力されています。

      このことからコンパイルが正常終了したことが確認できました。

以上で、Eclipseでの開発ができるようになりました。
次回は、新規プロジェクトを構築して開発を始める予定です。