久しぶりに休暇を取ったので、ESP8266のRTOS版で遊んでみよう。
と思ったが、インストールしてから長いこと放置しているので、RTOSの部分が古くなっているかもしれない。
更新しておこう。
環境は、Windows10 64bitのBash on Ubuntu on Windowsだ。
RTOS SDKは、昔はEspressifからダウンロードしていたのだが、今ではgithubで管理されている。
espressif/ESP8266_RTOS_SDK: Latest ESP8266 SDK based on FreeRTOS
Non-OS版はコンパイラも一緒になっていたのだが、RTOS版ではgcc推奨になっていて、それはesp-open-sdkと呼ばれているようだ。
pfalcon/esp-open-sdk: Free and open (as much as possible) integrated SDK for ESP8266/ESP8285 chips
だから、この2つを更新する必要があろう。
まずはesp-open-sdkから。
https://github.com/pfalcon/esp-open-sdk#building
さて、STANDALONEはyだったかnだったか。。。
http://hiro99ma.blogspot.com/2016/12/esp8266esp-open-sdkstandalonen.html
ここを見ると、nでやっているように見える。
が、不安が。
当時の私はSTANDALONE=nの方がライセンス的に大丈夫そうだ、という判断をしているのだが、その翻訳は正しかったのだろうか?
To build the bare Xtensa toolchain and leave ESP8266 SDK separate
この一文の「separate」だけで判断していなかっただろうか。
ちゃんと英文を読もう。
Build
プロジェクトは2つのビルドモードがある。
- バイナリも含め提供されるベンダのIoT SDKから切り離す。ライセンスもクリアで、ベンダのSDKアップデートにも対応しやすくなる。
- 完全にツールチェーンがマージされたベンダのSDKファイルからも分離する。このモードはソフトウェアのビルドを容易にする(-Iや-Lなどを追加せずに済む)。しかし、ビルドしたものの再配布はライセンスがクリアではなく、ベンダが提供する新しいバージョンのIoT SDKリリースが行われると複雑になる。このモードはローカルビルドとしてデフォルトだ。(以下略)
というわけで、1がSTANDALONE=nだと思う。
2はデフォルトと書いてあって、makeの引数無しはSTANDALNE=yだからだ。
では、git pullしてmakeしなおそうと思ったが、よくわからんエラーが。。。
fatal: index file open failed: Input/output error
不思議なことに、このエラー自体はフォルダを移動したりしているうちに直った。
どうも、BoWはファイル周りがまだ弱いような気がする。
もう一度git pullすると、今度は「examples/blinky/Makefile」がどうのこうのと。
git statusしてみると、Changesの方にdeletedでずらずらファイルが並んでいる。
そこにexamples/blinky/Makefileも入っているのだが、実際にはファイルがある。。。
そして、Untrackedの方にはexamples/が入っているのだ。
もう、何が何だか。。。
では、examplesをexamples_にリネームしよう。
$ mv examples/ examples_
mv: cannot move 'examples/' to 'examples_': No such file or directory
はあ?
$ mv examples/ examples_
$
2回同じことをやったら動いた。
これ、BoWでgo言語をやったときにも出てきたな。
これをしても、まだexmaples/blinky/Makefileがどうのこうのというから、BoWが原因で起きているような気がする。
気がする程度ではあるが、不安な環境でやるような作業でもないので、VMのLinuxでやろう。。。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。