趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • esp8266用の環境を構築する

    投稿日 2015年 4月 8日 1つのコメント

    ESP8266がもうすぐ使えるかもしれない、ということで、早速ビルド環境を構築してみることにしました。

    https://github.com/pfalcon/esp-open-sdk

    にある esp-open-sdk を使えるようにすることがターゲットになります。

    1.Debianのインストール

    まあ、Debianは普通にDebian7.8をVMware上でインストールします。
    (2回目のインストールはUbuntu14.04LTS上にインストールしました。)

    2.ツール類のインストール

    環境構築に必要なパッケージ類をインストールします。

    $ sudo apt-get install make autoconf automake libtool gcc g++ gperf  flex bison texinfo gawk ncurses-dev libexpat-dev python sed git
    
    

    3.環境構築

    以下の手順で環境構築します。

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

    ・・・・とすると、勝手にいろんなものを引っ張ってきてコンパイルしてくれます。マルチコアだからといって、make で -j 2 とか付けたりするとうまく行きません。

    4.パスの修正

    ホームディレクトリの .profile に以下の内容を追記して、xtensa用のgccをパスに追加します。

    # add esp8266 tools to PATH
    PATH="$HOME/esp-open-sdk/xtensa-lx106-elf/bin:$PATH"
    
    

    一旦ログオフしてログオンしなおしてから、正しくパスが通っているか確認します。

    ~$ xtensa-lx106-elf-gcc -v 
    Using built-in specs. COLLECT_GCC=xtensa-lx106-elf-gcc COLLECT_LTO_WRAPPER=/home/xxx/esp-open-sdk/xtensa-lx106-elf/libexec/gcc/xtensa-lx106-elf/4.8.2/lto-wrapper Target: xtensa-lx106-elf Configured with: /home/xxx/esp-open-sdk/crosstool-NG/.build/src/gcc-4.8.2/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=xtensa-lx106-elf --prefix=/home/xxx/esp-open-sdk/xtensa-lx106-elf --with-local-prefix=/home/xxx/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot --disable-libmudflap --with-sysroot=/home/xxx/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG 1.20.0' --disable-__cxa_atexit --with-gmp=/home/xxx/esp-open-sdk/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-mpfr=/home/xxx/esp-open-sdk/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-mpc=/home/xxx/esp-open-sdk/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-isl=/home/xxx/esp-open-sdk/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-cloog=/home/xxx/esp-open-sdk/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-libelf=/home/xxx/esp-open-sdk/crosstool-NG/.build/xtensa-lx106-elf/buildtools --enable-lto --enable-target-optspace --disable-libgomp --disable-libmudflap --disable-nls --disable-multilib --enable-languages=c,c++ Thread model: single gcc version 4.8.2 (crosstool-NG 1.20.0) 
    ~$

    5.アップデートの適用

    以下の手順で環境のアップデートを適用します。

    $ cd ~/esp-open-sdk
    $ make clean
    rm -rf esp_iot_sdk_v0.9.5
    rm -f sdk
    rm -f .sdk_patch_0.9.5
    make -C crosstool-NG clean MAKELEVEL=0
    make: ディレクトリ `/home/xxx/esp-open-sdk/crosstool-NG' に入ります
     RM 'ct-ng'
     RM 'scripts/crosstool-NG.sh'
     RM 'scripts/saveSample.sh'
     RM 'scripts/showTuple.sh'
     RM 'paths'
     RM 'config/configure.in'
     RM 'kconfig'
     RM 'docs/ct-ng.1'
     RM 'docs/ct-ng.1.gz'
    make: ディレクトリ `/home/xxx/esp-open-sdk/crosstool-NG' から出ます
    rm -rf /home/xxx/esp-open-sdk/xtensa-lx106-elf
    $ git pull
    Already up-to-date.
    $ git submodule update --init --recursive
    Submodule 'crosstool-NG' () registered for path 'crosstool-NG'
    Submodule 'esptool' () registered for path 'esptool'
    Submodule 'lx106-hal' () registered for path 'lx106-hal'
    $ make STANDALONE=n
    
    

    ※クロスコンパイラを再構築するので、時間がかかります。

    6.exampleのコンパイル

    以下の手順でコンパイルを試みているが、まだうまく行かない。

    $ cd ~/esp-open-sdk/sdk
    $ mv example/IoT_Demo .
    $ cd IoT_Demo
    $ make COMPILE=gcc
    
    

    コンパイルする対象ディレクトリは sdk 直下に必要な模様。

    SDKのMakefileは複雑すぎる(たしかにそんな感じ)ので、書きなおしたほうがいいという話も・・・


     

    1 responses to “esp8266用の環境を構築する” RSS icon


    コメントをどうぞ(日本語のみ/Only in Japanese)

    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)