[更新於2015-01-26.]
node
esp-open-sdk是用於編譯ESP8266微型WiFi和CPU一體化的芯片固件的工具鏈建立工具(不是工具鏈自己),裏面使用crosstool-NG以及gcc、binutils等工具來生成xtensa-lx106-elf工具鏈,ESP8266的固件使用所建立出來的工具鏈進行編譯。
linux
esp-open-sdk主要在linux上運行(參考https://github.com/pfalcon/esp-open-sdk),經過mac port也能夠在mac os x上運行,按照下面的腳本運行便可。git
這個腳原本自於http://www.esp8266.com,但我運行時出現一些錯誤,可能與版本有關,目前的版本最終編譯成功。github
crosstool-NG原始版原本自於https://github.com/jcmvbkbc/crosstool-NG 。shell
能夠嘗試安裝新的sed, gperf and grep解決出現的問題(Yosemite 10.10.1):npm
brew install gnu-sed --with-default-names brew tap homebrew/dupes brew install gperf brew install grep
安裝的一些過程,因爲原始工程在不斷更新,逐步加入了一些補丁包,有些步驟可能已經再也不須要。
bash
#!/bin/bash #Need to install proper packages first ( although I might missed something ): sudo port install git gsed gawk binutils gperf grep gettext py-serial #Then create case sensitive volume ( like described by @tralamazza): hdiutil create -size 10g -fs "Case-sensitive HFS+" -volname ESPTools ESPTools.sparsebundle hdiutil attach ESPTools.sparsebundle cd /Volumes/ESPTools #Get the compiler: git clone --recursive cd esp-open-sdk git submodule init git submodule update cd .. #Patch it: sed -i.bak '1s/^/gettext=\'$'\n/' crosstool-NG/kconfig/Makefile sed -i.bak -e 's/[[:<:]]sed[[:>:]]/gsed/' Makefile sed -i.bak -e 's/[[:<:]]awk[[:>:]]/\$(AWK)/' lx106-hal/src/Makefile.am #上面兩行執行出錯,有誰知道緣由? sed -i.bak 's/AM_PROG_AS/AM_PROG_AS\'$'\nAM_PROG_AR/' configure.ac #And finally build: cd esp-open-sdk make STANDALONE=n #...n or y
設置路徑:
工具
sudo ln -s /Volumes/ESPTools/ /esptools export PATH=$PATH:/esptools/esp-open-sdk/xtensa-lx106-elf/bin
cd /esptools/esp-open-sdk git clone https://github.com/tuanpmt/esptool-ck.git cd esptool-ck make chmod +x esptool
Compile esp-mqtt:
ui
cd /esptools git clone https://github.com/tuanpmt/esp_mqttcd esp_mqtt make -f Makefile.mac
Compile NodeMcu:spa
git clone https://github.com/nodemcu/nodemcu-firmware make
爲了平時使用方便,每次進入系統須要運行(能夠保存爲.sh或放到啓動腳本中,PATH在~/.profile中設置):
hdiutil attach ESPTools.sparsebundle sudo ln -s /Volumes/ESPTools/ /esptools export PATH=$PATH:/esptools/esp-open-sdk/xtensa-lx106-elf/bin