ESP-IDFが4.0からEclipseに正式対応するみたいなので試してみました
環境はWindows10です
以下のサイトに従って環境を構築していきます
idf-eclipse-plugin/README.md at master · espressif/idf-eclipse-plugin · GitHub
https://github.com/espressif/idf-eclipse-plugin/blob/master/README.md
トラブルが起きたときの備忘録として残そうと思ってこの記事を書いていたのですが最後のビルドの部分以外はほぼそのままです(´・ω・`)
ダウンロード
Java 8 and above : Download and install Java SE
https://www.oracle.com/technetwork/java/javase/downloads/index.html
Python 3.5 and above : Download and install Python
https://www.python.org/downloads/
Eclipse 2018-12 CDT and above : Download and install Eclipse CDT package
※Eclipse IDE for C/C++ Developers
https://www.eclipse.org/downloads/packages/
ESP-IDF 4.0 and above : Follow the download instructions from here
ページ一番下のesp-idf-v4.0.zip
Git : Get the latest git
https://git-scm.com/downloads
Use Windows'default console windowを選択した
それぞれをインストールして必要な場合PATHを設定します
自分の場合は
・JDKのbinへのパス
・GITのbinへのパス
ESP-IDFプラグインのインストール
Eclipseを起動して
HELP > Install New Software
Addをクリック
Nameに
Espressif IDF Plugins for Eclipse
を入力
Locationに
https://dl.espressif.com/dl/idf-eclipse-plugin/updates/latest/
を入力
Espressif IDFをチェックして全てをインストール
※「署名がついてないけど信用するか」みたいなことを聞かれるのでInstall Anywayをクリックする
ESP-IDF Toolのインストール
Help > Espressif IDF Tools Manager > Install Tools
Browse...をクリックしてESP-IDFのインストールディレクトリと
GITのexeの場所を選択
Pythonはインストールされていれば自動で表示されます
OKをクリックするとバックグラウンドでインストールが進行します
プロジェクトの作成
Window > Perspective > Open Perspective > Other...
をクリック
C/C++(default)を選択してクリックしてC/C++ Perspectiveを開きます
File > New > Espressif IDF Project をクリック
もし表示されていない場合は
Window > Perspective > Reset Perspective..
でPerspectiveをリセットすると表示されます
File > New > Espressif IDF Project をクリックしてNameにプロジェクト名を入力
Create a project using one of the templatesにチェックしてhello_worldを選択してfinishをクリック
Launchターゲットの設定
Launchバーの左から三番めのドロップダウンをクリックして
New Launch Targetを選択
ESP TargetをクリックしてNext >
Nameは適当につけてシリアルポートを選択
ESP32などを接続してからNew Launch Targetを選択すると自動で一覧に追加されます
HelloWorldプロジェクトが追加された直後はコンパイルエラーが表示されていますが構わずBuildボタンを押すと正常にコンパイルされてエラーも表示されなくなります
v4.0Beta2からv4.0になった段階でビルドするとエラーがでるようになりました
Traceback (most recent call last):
File "D:/uti/esp-idf-v4.0/tools/kconfig_new/confgen.py", line 571, in <module>
main()
File "D:/uti/esp-idf-v4.0/tools/kconfig_new/confgen.py", line 230, in main
config = kconfiglib.Kconfig(args.kconfig)
File "D:\uti\esp-idf-v4.0\tools\kconfig_new\kconfiglib.py", line 656, in __init__
self.top_node) # prev_node
File "D:\uti\esp-idf-v4.0\tools\kconfig_new\kconfiglib.py", line 1636, in _parse_block
node) # prev_node
File "D:\uti\esp-idf-v4.0\tools\kconfig_new\kconfiglib.py", line 1587, in _parse_block
prev_node)
File "D:\uti\esp-idf-v4.0\tools\kconfig_new\kconfiglib.py", line 1587, in _parse_block
prev_node)
File "D:\uti\esp-idf-v4.0\tools\kconfig_new\kconfiglib.py", line 1551, in _parse_block
while self._has_tokens or self._next_line():
File "D:\uti\esp-idf-v4.0\tools\kconfig_new\kconfiglib.py", line 1186, in _next_line
self._line = self._file.readline()
UnicodeDecodeError: 'cp932' codec can't decode byte 0xef in position 3649: illegal multibyte sequence
これはWindows上でPythonを動かすとデフォルトでファイルをcp932(SHIFT-JIS)で読み込もうとするのでUTF-8の2バイト文字を読もうしてエラーが発生します
\esp-idf-v4.0\tools\kconfig_new\http://kconfiglib.pyの1128行目(def _open()の部分)にencodingを追加するとビルドが通るようになります
return open(filename)
↓
return open(filename, encoding="utf-8")
シリアルコンソールを開く
ツールバーのOpen a Terminalをクリックしてから
Choose TerminalをSerial Terminalに変更、
以下は自分の環境に合わせて変更します
プロジェクトを書き込む
ESP32を接続した状態で▶ボタンを押すと転送されて実行されます!
sdkconfigの設定
sdkconfig.defaultsをコピーしてsdkconfigを作成
ダブルクリックするとsdkconfigエディタが立ち上がるはずがエラーが発生
何度かエディタを開いたり閉じたりしてるうちにStarting JSON Configuration Serverダイアログが開いてServerが起動します
何度かServer起動に失敗したので根気よくダブルクリックしましょう