<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=ESP8266_Open_SDK</id>
	<title>ESP8266 Open SDK - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=ESP8266_Open_SDK"/>
	<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=ESP8266_Open_SDK&amp;action=history"/>
	<updated>2026-06-04T21:35:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://w.electrodragon.com/w/index.php?title=ESP8266_Open_SDK&amp;diff=14600&amp;oldid=prev</id>
		<title>Chao: /* Use toolchain */</title>
		<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=ESP8266_Open_SDK&amp;diff=14600&amp;oldid=prev"/>
		<updated>2017-05-26T18:40:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Use toolchain&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Breif ==&lt;br /&gt;
* esp8266 open source SDK&lt;br /&gt;
* Official github page: https://github.com/pfalcon/esp-open-sdk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Install in Debian/Linux/Lubuntu ==&lt;br /&gt;
* Folder instrucion, cd into /opt/ first&lt;br /&gt;
 make app folder, for example nodemcu, git clone from github, should be /opt/nodemcu-firmware&lt;br /&gt;
 git clone the esp-open-sdk folder, should be /opt/esp-open-sdk&lt;br /&gt;
&lt;br /&gt;
* Install all tools&lt;br /&gt;
 sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf \&lt;br /&gt;
 flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial \&lt;br /&gt;
 sed git unzip bash help2man wget bzip2&lt;br /&gt;
=== Install esp-open-sdk ===&lt;br /&gt;
* Clone&lt;br /&gt;
 cd /opt&lt;br /&gt;
 git clone --recursive https://github.com/pfalcon/esp-open-sdk.git&lt;br /&gt;
* Compile esp-open-sdk, to build the self-contained, standalone toolchain+SDK:&lt;br /&gt;
 make STANDALONE=y&lt;br /&gt;
 make&lt;br /&gt;
* This took 1-2 hours, and if sucessfully installed you will see&lt;br /&gt;
 Xtensa toolchain is built, to use it:&lt;br /&gt;
&lt;br /&gt;
 export PATH=/opt/nodemcu/esp-open-sdk/xtensa-lx106-elf/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
 Espressif ESP8266 SDK is installed, its libraries and headers are merged with the toolchain&lt;br /&gt;
&lt;br /&gt;
===Use toolchain ===&lt;br /&gt;
* First always run export line&lt;br /&gt;
 export PATH=/opt/nodemcu/esp-open-sdk/xtensa-lx106-elf/bin:$PATH  &lt;br /&gt;
* Try test with source code blinky [https://github.com/esp8266/source-code-examples/tree/master/blinky example here]&lt;br /&gt;
* Compile nodemcu code&lt;br /&gt;
 cd /opt/nodemcu/nodemcu-firmware&lt;br /&gt;
 make&lt;br /&gt;
* Brand new firmware bin file can be found in &amp;quot;bin&amp;quot; folder&lt;br /&gt;
&lt;br /&gt;
=== Trouble shoot ===&lt;br /&gt;
Error: configure: error: could not find GNU libtool &amp;gt;= 1.5.26&lt;br /&gt;
* Need to install this: sudo apt-get install libtool-bin&lt;br /&gt;
You must NOT be root to run crosstool-NG&lt;br /&gt;
* add a none root user&lt;br /&gt;
 user add esp&lt;br /&gt;
 chown -R esp:esp /opt/nodemcu/&lt;br /&gt;
 chmod u+rwx /opt/nodemcu/&lt;br /&gt;
&lt;br /&gt;
== Using with Vigrant ==&lt;br /&gt;
&lt;br /&gt;
* Install it via [[vagrant]], get the vagrant git package: &lt;br /&gt;
 git clone https://github.com/adafruit/esp8266-micropython-vagrant.git&lt;br /&gt;
 cd esp8266-micropython-vagrant&lt;br /&gt;
* provision vagrant box: vagrant up and vagrant ssh &lt;br /&gt;
=== Compile SDK ===&lt;br /&gt;
 cd ~/esp-open-sdk&lt;br /&gt;
 make STANDALONE=y&lt;br /&gt;
This will take ''30-90 mins''' to finish, actual time depends on your machine, not very necessary to do the following step, edit the Vagrantfile &lt;br /&gt;
 # Bump the memory allocated to the VM up to 1 gigabyte as the compilation of&lt;br /&gt;
 # the esp-open-sdk tools requires more memory to complete.&lt;br /&gt;
 v.memory = 1024&lt;br /&gt;
&lt;br /&gt;
and the compiling will be finished like this, SDK is installed now.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Xtensa toolchain is built, to use it:&lt;br /&gt;
 &lt;br /&gt;
export PATH=/home/vagrant/esp-open-sdk/xtensa-lx106-elf/bin:$PATH&lt;br /&gt;
 &lt;br /&gt;
Espressif ESP8266 SDK is installed, its libraries and headers are merged with the toolchain&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Setup the Path of Bin of SDK ====&lt;br /&gt;
Run this command to update the .profile file that runs whenever you log into the virtual machine:&lt;br /&gt;
 echo &amp;quot;PATH=$(pwd)/xtensa-lx106-elf/bin:\$PATH&amp;quot; &amp;gt;&amp;gt; ~/.profile&lt;br /&gt;
Logout and login again to process the update:&lt;br /&gt;
 exit&lt;br /&gt;
 vagrant ssh&lt;br /&gt;
and check the path is correct or not&lt;br /&gt;
 echo $PATH&lt;br /&gt;
the result should be&lt;br /&gt;
 /home/vagrant/esp-open-sdk/xtensa-lx106-elf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games&lt;br /&gt;
* You can also check the .profile directly by following command &lt;br /&gt;
 vi ~/.profile&lt;br /&gt;
and the result should be like:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Check the path of bin.png|400px]]&lt;br /&gt;
[[Category:ESP8266 Firmware and SDK]]&lt;/div&gt;</summary>
		<author><name>Chao</name></author>
	</entry>
</feed>