Linux 下ESP8266EX编译下载全过程
最近由于一些原因刚刚入手了一套ESP8266EEX的开发板,搞了半天终于吧编译环境搭建好了。在这里写一篇博客顺便加强一下记忆。
首先搭建好编译环境
可以参考以下两篇文章
1. http://blog.****.net/flyingcys/article/details/71356486
2.http://club.gizwits.com/thread-5121-1-1.html
如果安装有github可以直接使用命令
git clone https://github.com/espressif/ESP8266_RTOS_SDK
下载一些官方给的example和SDK。
我是放在Home目录下,
新建ESP8266_BIN文件夹,用于保存后面编译产生的bin文件。
我在这里编译一下官方给的示例,并下载到开发板中
进入之前下载的示例,这里我们选择wifi_station_machine_demo示例进行操作。
进入 wifi_station_machine_demo示例,
使用
gedit gen_misc.sh
命令编辑gen_misc.sh文件,这个文件用于对程序的编译。
如图,修改SDK_PATH,BIN_PATH如下
export SDK_PATH=~/ESP8266_RTOS_SDK
export BIN_PATH=~/ESP8266_BIN
其中SDK_PATH是我们下载的SDK所在路径,BIN_PATH为输出的bin文件存放的目录。
修改好后Ctrl+S保存文件。运行gen_misc.sh文件
./gen_misc.sh
进行编译配置,共五个步骤,需要选择的有四个,Step2~5。分别对需要产生的bin文件、SPI速度、SPI模式、SPI size和map进行选择,这里我选择默认设置,不再过多赘述。
这里是运行结果
可以看到,在最后我们生成了
eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x20000
这么两个bin文件,文件名后面的数字是下载时所需的地址。
接下来我们进行下载,连接好开发板与电脑
检查一下电脑是否识别,使用
ls /dev/tty*
命令查看是否有ttyUSB0
请注意串口能否正常使用,我用的是cp2102 USB转串口,Ubuntu 16.04里默认已经安装好这个驱动,但当前用户可能没权限访问,需要将当前用户添加到dialout用户组,退出登录,然后重新登入就可以使用ttyUSB0。(引自第二篇文章)
现在我们进入BIN文件夹中,可以看到我们之前编译好的文件。以及blank.bin,esp_init_date_default.bin这么两个文件,这两个文件是由官方提供的,第一次使用时,我们需要将它们烧写进去。
使用
esptool -ca <地址> -cf <文件名> ...
命令将bin文件烧写进芯片中,可以同时烧写多个文件。如图
可以看到我们以及将文件烧写进入芯片中了,同时需要注意的是烧写时要将开发板置于下载状态(吐槽一下这种类似51的下载方式,够麻烦)。
由于还没有进行程序的编写,所以其他的功能后面持续更新。