cygwin(32bit版)開発環境 ●cygwin のインストール (http://blog.techlab-xe.net/archives/3274) ★cygwin をインストールする際、レジストリの HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\karnel\obcaseinsensitive を 0 にして、windows を再起動してから行うこと。 これをやらないと、 ./ct-ng build を実行した時に、 [ERROR] Your file system in '/opt/Espressif/crosstool-NG/.build' is *not* case-sensitive! というエラーになる。 インストール時の問題 cygwin インストール時に、以下の様なエラーが出るが、気にしない Postinstall script error. /usr/log/setup.log.full Package: _/x3270 x3270.sh exit code 1 c:/cygwin/var/log/setup.log.full fork 関連の問題らしい。これにについては http://www.mk-mode.com/octopress/2012/06/12/12002009/ http://rcmdnk.github.io/blog/2013/07/05/computer-windows-cygwin-git/ ●apt-cyg をインストール $ svn --force export http://apt-cyg.googlecode.com/svn/trunk/ /bin/ $ chmod 755 /bin/apt-cyg ●クロスコンパイラの用意 参考 https://github.com/esp8266/esp8266-wiki/wiki/Toolchain $ apt-cyg install git autoconf build-essential gperf bison flex texinfo libtool libncurses5-dev wget gawk libc6-dev-i386 python-serial libexpat-dev $ mkdir /opt/Espressif $ chown tera58 /opt/Espressif/ $ cd /opt/Espressif $ git clone -b lx106 git://github.com/jcmvbkbc/crosstool-NG.git $ cd crosstool-NG /opt/Espressif/crosstool-NG/kconfig/nconf.c を編集(http://blog.techlab-xe.net/archives/3274) //ESCDELAY = 1; set_escdelay(1); /opt/Espressif/crosstool-NG/kconfig/Makefile を編集 先頭の方に、以下を追加 EXTRA_LDFLAGS = -lintl $ ./bootstrap && ./configure --prefix=`pwd` && make && make install $ ./ct-ng xtensa-lx106-elf $ ./ct-ng build かなり時間がかかる 60分以上。 以下のエラーが出るが、無視。 [INFO ] Installing final compiler [ERROR] xgcc: error: spawn: No such file or directory [INFO ] Installing final compiler: done in 886.60s (at 58:00) ●サンプルプログラムのビルド https://github.com/espressif/esp_iot_rtos_sdk から、esp_iot_rtos_sdk.zip を取得して、/home/tera58/ に展開 $ cd /home/tera58/esp_iot_rtos_sdk-master $ wget -O lib/libhal.a https://github.com/esp8266/esp8266-wiki/raw/master/libs/libhal.a ★不足している library を追加(または esp_iot_sdkから持ってくる) $ chmod 1777 /opt/Espressif/crosstool-NG/builds/xtensa-lx106-elf/bin $ export SDK_PATH=/home/tera58/esp_iot_rtos_sdk-master $ export BIN_PATH=/opt/Espressif/crosstool-NG/builds/xtensa-lx106-elf/bin $ export PATH=$PATH:$BIN_PATH tools/gen_appbin.py の最上位行を修正 #!/usr/bin/python3 tools/make_cert.py の最上位行に追加 #!/usr/bin/python3 $ cd /home/tera58/esp_iot_rtos_sdk-master/examples/project_template $ ./gen_misc.sh y enter 0 enter enter enter 6 enter と入力 以下のメッセージが出ればOK eagle.flash.bin-------->0x00000 eagle.irom0text.bin---->0x40000 $ ./gen_misc.sh y enter 1 enter enter enter 6 enter と入力 以下のメッセージが出ればOK boot.bin------------>0x00000 user1.4096.new.6.bin--->0x01000 $ ./gen_misc.sh y enter 2 enter enter enter 6 enter と入力 以下のメッセージが出ればOK boot.bin------------>0x00000 user2.4096.new.6.bin--->0x101000 ● VirtualBox 上の ubuntu に開発環境を構築する方法も、同様。 ただし、apt-get install libtool-bin を予め行うこと。