LoginSignup
1
2

More than 5 years have passed since last update.

ESP-IDF のインストール(Windows10 Fall Creator's Update)

Last updated at Posted at 2017-11-09

はじめに

秋月電子通商の ESP-WROOM-32 の開発ボード ESP32-DevKitC が手に入ったので,私の備忘録代わりのメモにします.タイミングが悪かったのか,make monitor が動作しなくて困ったので,残しておきます.また,既存の MSYS2Toolchain を導入するドキュメント Setup Windows Toolchain from Scratch がありますが,すでに 64bit(X86_64)MSYS2 で環境構築されている方は,MSYS2 の環境が二つになりますが,all-in-one toolchain を導入することをお勧めします.詳しい方でないと手段と目的が変わります.

ESP-IDF の インストール

Standard Setup of Toolchain for Windows の手順に沿って行うだけです.

Toolchain のインストール

ここでは,D ドライブの Programs\espidf にインストールします.

このページ から esp32_win32_msys2_environment_and_toolchain-20170918.zip をダウンロードして展開します.展開してできた,msys32espidf にリネームして,D ドライブの Programs に移動する.

D:\Programs\espidf\mingw32.exe からターミナルを起動して,動作の確認(?)をします.

$ cc --verbose

ESP-IDF のインストール

先ほど起動した,mingw32.exe のターミナルで,Git からインストールします.Proxy 環境の場合は,~/.gitconfigProxy の設定を追加します.

$ cd /opt
$ git clone --recursive https://github.com/espressif/esp-idf.git
$ cygpath -ma esp-idf (Path の確認)
$ vi /etc/profile.d/export_idf_path.sh (環境変数の追加)

(cygpath -ma esp-idf|clip でクリップボードにコピーできる.)

export_idf_path.sh
export IDF_PATH="D:/Programs/espidf/opt/esp-idf"

ターミナルを開きなおして,printenv IDF_PATH で 環境変数が設定されていることを確認する.

ESP32-DevKitC の設定

パソコンと ESP32-DevKitC を繋げてドライバがインストールされるか確認する.インストールされなければ,ここ から CP210x_Windows_Drivers.zip をダウンロードしてドライバをインストールします.

デバイスマネージャーからポートを確認する.ここでは,COM5 とします.

開発環境の動作確認

mingw32.exe のターミナルから下記コマンド実行する.(ここでは,/home/esp で作業)

$ mkdir -p /home/esp
$ cd /home/esp
$ cp -r $IDF_PATH/examples/get-started/hello_world .
$ cd hello_world
$ make menuconfig

make menuconfig で設定項目が表示されるので,Serial flasher configDefault serial portCOM5 に変更して閉じる

$ make
$ make flash (ESP32-DevKitC にプログラムを書き込む)
$ make simple_monitor

simple_monitor で動作確認を行います.うまくいかない場合はポートの設定などを見直します.

本来は,simple_monitor は旧来のもので,今は,monitor を使うのですが,Windows10 Fall Creator's Update 以降 IOError で動作しないので D:\Programs\espidf\opt\esp-idf\tools\idf_monitor.py の560 行目を下記のように変更します(参考).

self.output.write(b)
self.matched = b'

try:
    self.output.write(b)
    self.matched = b''
except:
    pass

ターミナルから make monitor で動作を確認します.すぐに修正されると思うので,現在嵌まった人向けに残しておきます.

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2