##【対象ボード】
・DOIT Esp32 DevKit v1
https://docs.zerynth.com/latest/official/board.zerynth.doit_esp32/docs/index.html
2017/11にaliexpressで購入。(約650円)
購入して満足してその後放置してました。(^-^;)
部屋の整理で見つけたので、そろそろ触るかと一念発起しました。
##【開発言語】
・Lua
購入したキッカケが「Luaで開発出来る」と書いてあったので、今回はLuaで
開発出来る環境を作ります。ちなみに個人的にRTOSという用語が気になるので
「Lua RTOS for ESP32」を入れてみたいと思います。
https://github.com/whitecatboard/Lua-RTOS-ESP32
##【導入環境】
・Windows10 Professional 64bit
ヘタレプログラマなのでWindowsで環境を作っていきます。
##【導入の流れ】
基本的には「Lua RTOS for ESP32」の「How to build」を見れば導入は
問題ないかと思います。英語読める方は↓見た方が手っ取りばやいかと。
https://github.com/whitecatboard/Lua-RTOS-ESP32/wiki/How-to-build
####1. MSYS2を入れる。
Unixシェル環境の「MSYS2」を入れます。
http://www.msys2.org/
ちなみにESP32のツールチェーン環境は32bitで提供されているので、
ここではMSYS2の32bit版を標準インストールします。(C:\msys32)
####2. MSYS2フォルダを入れ替える。
折角入れたMSYS2フォルダですが、リネームします。(msys32 → msys32_old)
ESP-IDFのページよりツールチェインを取得します。
https://docs.espressif.com/projects/esp-idf/en/latest/get-started/windows-setup.html
https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20180110.zip
zipファイルを解凍すると、「msys32」フォルダが展開されるのでCドライブ
直下に入れます。(C:\msys32) リネームしたMSYS2フォルダよりhomeフォルダ
をコピーします。(C:\msys32_old\home → C:\msys32\home)
この時点で C:\msys32_old フォルダは不要なので削除しても問題ないみたいです。
####3. MSYS2を起動する。
Windowsメニュー → [MSYS2 32bit] → [MSYS2 MinGW 32-bit] で起動します。
ESP開発をHomeディレクトリ直下で行うのもアレなので、「esp」フォルダを作ります。
$ mkdir -p ~/esp
$ cd ~/esp
####4. ESP32の開発環境をGitから取得する。
$ git clone --recursive https://github.com/espressif/esp-idf.git
Cloning into 'esp-idf'...
... (省略) ...
$ git clone --recursive https://github.com/whitecatboard/Lua-RTOS-ESP32
Cloning into 'Lua-RTOS-ESP32'...
... (省略) ...
####5. 「Lua RTOS for ESP32」をビルドします。
はじめに環境ファイルを編集して、ツールのパスを修正します。
$ cd Lua-RTOS-ESP32
$ vim ./env
export PATH=$PATH:/usr/local/xtensa-esp32-elf/bin
export IDF_PATH=~/esp/esp-idf /* パスを変える */
export LIBRARY_PATH="/usr/local/opt/gettext/lib:$LIBRARY_PATH";
export PKG_CONFIG_PATH="/usr/local/opt/ncurses/lib/pkgconfig:$PKG_CONFIG_PATH"
export CPATH="/usr/local/opt/gettext/include:$CPATH"
次に対象ボードを設定します。
$ make SDKCONFIG_DEFAULTS={BOARD_SYMBOL} defconfig
{BOARD_SYMBOL}は対象ボードによって、値が異なります。
WHITECAT ESP32 N1 = WHITECAT-ESP32-N1
ESP32 CORE = ESP32-CORE-BOARD
ESP32 THING = ESP32-THING
GENERIC = GENERIC
今回は「ESP32-CORE-BOARD」を設定します。
$ make SDKCONFIG_DEFAULTS=ESP32-CORE-BOARD defconfig
次にメニュー設定を開いて、UARTのポート指定を行います。
$ make menuconfig
コマンドを入力すると、メニュー画面に入ります。
「Serial flasher config / Default serial port」を選択します。
初期値は「/dev/tty.SLAB_USBtoUART」と設定されていますが、
これをESP32ボードをUSB接続した際に認識したCOMポートに変えます。
今回は「/dev/tty.SLAB_USBtoUART」→「COM8」に変更しました。
####6. ESP32ボードをUSB接続して、Flash書き込みを行う。
$ make flash
$ make flashfs
- リセットして、Lua RTOS のプロンプトが表示されたら成功です。
Lua RTOS beta 0.1. Copyright (C) 2015 - 2018 whitecatboard.org
build 1535960810
commit 0c27ef294a8a1bb87a4202022a1cb8636521ceed
Running from factory partition
board type ESP32COREBOARD
cpu ESP32 rev 1 at 240 Mhz
spiffs0 start address at 0x310000, size 512 Kb, partition spiffs
spiffs0 mountedLua RTOS beta 0.1 powered by Lua 5.3.4
Executing /system.lua ...
Executing /autorun.lua .../ >
とりあえず当初の目的である Lua RTOS は入れることが出来ました。
次回以降は Lua RTOS 上での開発について調査してみます。
続く...かも