[Raspberry Pi 3]ラズパイだとESP-IDFは普通のインストールでは動かないぞ
Raspberry PiでESP-IDFを使おうと思ったら、本家サイトにある通常のインストール手順では正常にインストールできない。
本家サイトにあるLinux用にビルドされたtoolchainはintelプロセッサ用で、ARMのCPUを使うRPiの場合、crosstool-NGをフルスクラッチでtoolchainをビルドしないといけないっぽい。
大体の手順は本家通りでいいけど、xtensa-esp32-elfはビルドされたものを落とすんじゃなく、以下のコマンドでビルドする。
(本家サイトにも似た手順はあるけど、ちょっとだけ違う。本家サイトの方法でもうまくいくかもしれない)
1 2 3 4 5 6 7 8 9 10 | $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install gawk gperf grep gettext automake bison flex texinfo help2man libtool libtool-bin git wget make libncurses-dev python python-serial python-dev python-pip $ sudo pip install pyserial $ cd ~/esp $ git clone -b xtensa-1.22.x https://github.com/espressif/crosstool-NG.git $ cd crosstool-NG $ ./bootstrap && ./configure --enable-local && make install $ ./ct-ng xtensa-esp32-elf $ nano ./.config |
> Find CT_PARALLEL_JOBS=0 and change 0 to 1
1 2 | $ ./ct-ng build build.1 # こいつに最悪9時間くらいかかるので、寝る前にやろう $ chmod -R u+w builds/xtensa-esp32-elf |
後の作業を本家サイトの説明通りに進めるために、esp以下にシンボリックリンクを貼る。
1 2 | $ cd ~/esp $ ln -s crosstool-NG/builds/xtensa-esp32-elf xtensa-esp32-elf |
追記(2018/10/17)
こんな色々やってビルドしなくてもplatformIOでplatformをespidfにすれば、platformioを使って書き込むことができる。
追記(2018/10/18)
できてないやん!できてないやん!!!
SUCCESSとかログでは出るくせに、実際はesp32に書き込まれてはいないようだ。書き込みが完了したと思ったら、書き込みを行う前のプログラムの挙動が続いている。
なんなんだ。書き込めてる人もいるみたいだけど、少なくとも僕の環境では書き込めていない。
makeで書き込むなら成功するので、長い時間をかけてビルドした甲斐はあったってことだ。
この記事へのコメントはこちら