[ESP8266]用Win10子系统Ubuntu来开发ESP8266

[ESP8266]用Win10子系统Ubuntu来开发ESP8266


这次我们来尝试使用Win10的子系统Ubuntu来开发ESP8266,同理的ESP32也可以如此开发.

安装Ubuntu,此处不再赘述.


第一步:启动Ubuntu终端


点击开始,找到这个磁贴点击运行即可,除此之外,你还可以在任意CMD处输入bash回车也可进入子系统


第二步:搭建开发环境


先安装必要程序/组件

$ sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial sed git unzip bash help2man wget bzip2

完成后,随便找个地方创建一个文件夹,这个文件夹放置我们的ESP8266开发相关的(例程使用用户目录~)

$ mkdir ESP8266

这里创建了一个文件夹,名字是ESP8266

$ cd ESP8266

进入该文件夹

按照编译工具,SDK,工程源码分离的思想来创建三个文件夹


准备下载的交叉编译工具链文件夹

打开网页https://github.com/espressif/ESP8266_RTOS_SDK

乐鑫的Github的ESP8266-RTOS项目底部有交叉编译工具链的下载链接

右键复制下来这个链接即可.

https://dl.espressif.com/dl/xtensa-lx106-elf-linux64-1.22.0-88-gde0bdc1-4.8.5.tar.gz

这是撰稿当日的交叉工具链的版本


回到终端在之前创建的文件夹目录下输入 后面的链接为之前右键复制的链接

$ wget https://dl.espressif.com/dl/xtensa-lx106-elf-linux64-1.22.0-88-gde0bdc1-4.8.5.tar.gz

下载成功后,输入ls可以看到下载的tar.gz文件

继续在此输入

$ tar -xzf xtensa-lx106-elf-linux64-1.22.0-88-gde0bdc1-4.8.5.tar.gz

解压后,在之前创建的ESP8266目录下就多了xtensa-lx106-elf,这个目录就是存放交叉编译工具链的目录


拉取RTOS-SDK

在ESP8266目录下运行git clone指令,完成拉取ESP8266最新RTOS-SDK

$ git clone https://github.com/espressif/ESP8266_RTOS_SDK.git


完成后 工作目录下就多了一个ESP8266_RTOS_SDK文件夹了

进入该目录

编辑 Kconfig

找到

default "xtensa-lx106-elf-" if TARGET_PLATFORM_ESP8266

改为

default "~/ESP8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-" if TARGET_PLATFORM_ESP8266

这个添加的路径就是存放交叉编译工具链的路径


接下来还需要创建一个工程目录

继续输入指令

$ mkdir project

创建一个project目录,这个目录下用来存放工程

至此,已搭建好必要环境,可以开始创建工程并开始测试编译了




第三步:创建工程


进入之前ESP8266-RTOS-SDK文件夹,此中example目录下有工程模板,复制到project目录下

$ cp -r ../ESP8266_RTOS_SDK/examples/get-started/project_template/ .

这样在project目录下有个project_template目录,进入该目录,修改Makefile文件

在include $(IDF_PATH)/make/project.mk上方添加一行

IDF_PATH=~/ESP8266/ESP8266_RTOS_SDK

这里就是设置SDK路径,保存退出


第四步:编译烧录

完成第三步后,在工程目录下输入make menuconfig

在这里我们可以设置一下串口,因为稍后需要用来烧录程序

可以稍微设置大一些的波特率,115200,150000,1500000都是可以的波特率,如果无法下载请稍微调小波特率.


设置完成后使用方向键选中save,按下几次回车后,保存后,选中Exit回车即可退出界面


然后我们就可以开始编译了,继续输入make all 开始编译


编译完成后提示如下说明成功了


如果不能成功,可以检查是不是缺少某个组件没有安装成功


烧录程序

编译完成后,只需要继续输入make flash 就可以完成烧录,串口设备需要root权限

需要输入sudo make flash

如果你使用的是nodemcu或具有自动下载电路的板子,则无需操作板子,将会自动开始下.

如果你的只是串口链接线路,那么你需要按住板子上的FLASH按键不松开,同时点按一下RST,然后松开FLASH也可以进入下载模式.

正在烧录程序

烧录程序完成