2017/03/31

[esp8266][rtos]RTOS環境のビルド

Bash on Ubuntu on Windowsの動きがあやしかったので、Xubuntu 16.04にESP8266のRTOS環境を作り直した。
以前も同じ作業をしたのだが、別VMになったから、復習も含めて書いておこう。
まあ、Arduino版を使っている人の方が多い気はするんだけどね。。。


今回は、$HOMEの直下にEsp8266というディレクトリを作り、そこで作業した。
ここを読んで、apt installが必要なものは済ませてある。
https://github.com/pfalcon/esp-open-sdk

$ mkdir Esp8266
$ cd Esp8266
$ git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
$ cd esp-open-sdk
$ time make STANDALONE=n

VMをHDD上に作っているし、あまりリソースを割り当てていないせいもあるが、40分くらいかかった。

$ cd ..
$ git clone https://github.com/espressif/ESP8266_RTOS_SDK.git

こちらはcloneするだけだ。

 

次は、環境変数などの設定。
.bashrcなどに置くか、使いたいときだけ設定するのかは個人の自由だ。
私は、使いたいときだけ設定するようにした。

$ mkdir rom

romディレクトリは、ビルド後にESP8266へ焼く物が置かれる場所だ。
SDK環境だとbinという名前なのだけど、binだと「ここに実行ファイルおいたっけ?」といつも思ってしまうので、名前を変えただけだ。

 

そして、HOME/Esp8266の直下にこういうスクリプトファイルを置いた。
私は「compile.sh」という名前にしたが、別にどうでもよい。
コンパイルできる環境変数を設定するためのスクリプトだから、名前は今ひとつだったか。。。

#!/bin/sh
export SDK_PATH=`pwd`/ESP8266_RTOS_SDK
export BIN_PATH=`pwd`/rom
export ESP8266_PATH=`pwd`/esp-open-sdk
export PATH=$ESP8266_PATH/xtensa-lx106-elf/bin:$PATH
export ESP8266_INCLUDE_PATH=$ESP8266_PATH/sdk/include
export ESP8266_LIB_PATH=$ESP8266_PATH/sdk/lib

これは、HOME/Esp8266ディレクトリで使うように`pwd`を使っている。

 

設定はこのくらいだ。
おまけで、こういうスクリプトファイルを作って、オリジナルのgen_misc.shと置き換えている。

ESP8266 RTOSビルド用gen_misc.sh

いつもgen_misc.shするたびにコンソールで答えていくのが面倒なので、自分がよく使う設定を書いただけだ。
うちはWROOM-02なので、各自好きに変更するのもよし、使わないのもよし、だ。


試しにビルドしておこう。

$ source compile.sh
$ cd ESP8266_RTOS_SDK/examples/wps_demo
$ (gen_misc.shを置き換えた)
$ ./gen_misc.sh

うまくいくと、rom/upgrade/user1.4096.new.6.binができているので、それをESP8266へ焼けばよかろう。

ただ、ESP8266のWPSはAPによってうまくいかないものがあったので、正しく動くかどうかは保証できん。
それに、デフォルトだとうちのUSBシリアル変換ではアクセスできないbpsでログが出てくるので、うまくいったかどうかわからん。
試す場合は、その辺に気をつけるのがよかろう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。