2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Lua RTOS for ESP32 を入れたお話。(その1)

Last updated at Posted at 2018-09-10

##【対象ボード】
・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

  1. リセットして、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 mounted

Lua RTOS beta 0.1 powered by Lua 5.3.4

Executing /system.lua ...
Executing /autorun.lua ...

/ >

とりあえず当初の目的である Lua RTOS は入れることが出来ました。
次回以降は Lua RTOS 上での開発について調査してみます。

続く...かも

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?