由于项目要用到ESP8266,网上找了很多很多的各种杂七杂八的教程,但是现在更新节奏很快,网上很多安装教程都会被淘汰掉,我走完所有的坑,搭建完整个开发环境整整花了一周时间,真的是各种坑啊,但是你只要根据我的教程一步步来,别出错,保证没有问题。
当然最好还是按官方指导环境搭建流程(英文)来搭建,保证实时都是最新的教程,估计过段时间我的这个版本也会被淘汰掉。
PS:懒人可以下载我的百度云压缩包,解压就能用(在文档末尾)
下载地址:
https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20181001.zip
下载完后解压到C盘根目录即可。
下载地址:https://dl.espressif.com/dl/xtensa-lx106-elf-win32-1.22.0-100-ge567ec7-5.2.0.zip
这个下载完为了防止丢失,建议放到下面这个目录里,因为这里原先有个esp32的包或许以后开发用得到,实测不能删除esp32的文件夹,因为执行编译的时候会调用里面的文件。
然后开始获取ESP8266_RTOS_SDK,官方提供的是git clone方法,这个我尝试多次,没有VPN所以下载速度很慢,且下载到14%就不会动了,很浪费时间,直接放弃,也可以用国内码云转下载,但是必须用git clone 方法下载。
官方给的是方法是:
输入:git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
不用瞎折腾了,直接下载我的就好了,码云转录也会丢文件,我这个是把丢的2个文件都放进去了,直接走链接。
链接:https://pan.baidu.com/s/1_Iv0uRj8DPd1HBsqkXnARw
提取码:egav
把下载下来的文件随便找个地方放着,解压,最好全英文目录
我这边放在D:\RTOS\ESP8266_RTOS_SDK-master
这里你只要做好环境变量设置就行,放那里没有讲究
PS:环境变量设置好要记得重启才生效
打开第一步下载的mingw32.exe程序
进入后显示
这里需要注意的是,你如果安装过其他软件,比如我这里安装过Allegro 16.6,所以环境变量里的HOME地址不一定是C盘根目录,问题不大,这个你只要知道在哪就行,不用改。
这个就是官方有可能会叫你在当前目录下创建一个esp文件夹但是你找不到在哪里的情况。
编译前需要注意环境变量
输入临时环境变量设置,我是这样的,这里可以根据自己情况设置
输入:export IDF_PATH=D:/RTOS/ESP8266_RTOS_SDK-master
设置正确后
输入:cd $IDF_PATH
会进入到我们设置的地址
输入:cd examples/get-started/hello_world
进入示例目录hello_world
这个方法其实主要用的还是Python来编译,所以需要安装SDK所需的对应python环境,设置好IDE_PATH环境后
输入:python -m pip install --user -r $IDF_PATH/requirements.txt
系统会自动下载和安装所需的编译环境
注意:Win10需要提前安装好python环境。
编译前需要先设置COM口
输入make menuconfig
有可能会出现找不到xtensa-lx106-elf-gcc:命令未找到的提示,后面解决
这里只要改COM口就行,其他都不用改,你插上8266模块后看下你的COM口是几这里就改成几,注意前面有个/号
方向键右移到exit会提示保存然后再退出即可
选择yes,后返回msys32.
这里需要解决下刚刚xtensa-lx106-elf-gcc:命令未找到,的问题
make:xtensa-lx106-elf-gcc:命令未找到
expr: syntax error: unexpected argument “5.2.0”
输入:export PATH=/c/msys32/opt/xtensa-lx106-elf/bin:¥PATH
注意这里要修改¥为下面那个值,不知道为什么这里输入下面的号会出现乱码
设置toolchain的环境变量,下图是正确的make menuconfig输出结果
确保所有输出都正确后就可以make flash了
第一次make flash有点久~~~~~~很久很久十来分钟吧,超级慢
打印了一大堆信息后,终于成功了,搞了整整一周啊,终于搞好了。
成功打印hello world!就是表示成功了。
输入:make clean
输入 cat /dev/ttyS2 shell页面将会打印串口输出的信息
查看COM口对应ttys口具体方法
输入 ls /dev/tty*
查看shell环境下串口的设备名称,我电脑经测试知道COM4对应了/dev/ttyS3。(测试方法:不断的使用cat命令测试看那个串口设备有输出信息)。
输入make monitor也可以查看串口输出信息
完成以上步骤后,后续只要下载正确的eclipse和java开发环境就行了
这里我提供我的安装包,包你能用
jdk-8u181-windows-x64
eclipse-cpp-2019-12-R-win32-x86_64
主要注意事项是:eclipse是C++版本,JDK是1.8的,我下载的是最新的,最终测试通过。
百度云地址:
链接:https://pan.baidu.com/s/12AMkqmKGmb1US58dyFL18A
提取码:crrq
选择 C/C++下面的 Existing code ad Makefile Project,单击 Next
A)单击 Add 按钮,在 name 栏输入 V,value 栏输入 1;
B)再次单击 Add 按钮,在 name 栏输入 IDF_PATH,value 输入ESP8266_RTOS_SDK固件库的目录。
需要注意的是,此处是/不 是\,否则编译会找不到正确的路径。
因此我的地址是:D:/RTOS/ESP8266_RTOS_SDK-master
C)修改PATH:删除原来的内容,然后输入
C:\msys32\usr\bin;C:\msys32\mingw32\bin;C:\msys32\opt\xtensa-lx106-elf\bin
这里需要注意的是最后的C:\msys32\opt\xtensa-lx106-elf\bin,整个是根据你自己下载的工具链地址来的
选择下拉列表中的 “CDT Cross GCC Built-in Compiler Settings”,在下方会出现一个
“Command to get compiler specs"的可输入窗口,使用 xtensa-lx106-elf-gcc 替换
${COMMAND},或者直接输入 xtensa-lx106-elf-gcc F L A G S − E − P − v − d D " {FLAGS} -E -P -v -dD " FLAGS−E−P−v−dD"{INPUTS}”。
最后改输入框内容为 xtensa-lx106-elf-(g?cc)|([gc]++)|(clang)
环境配置终于完成了
这个时候还不能编译成功,需要到一开始下载的msys32进入hello_world的目录下执行以下make menuconfig语句,主要是设置一下下载端口就行,该端口方式上面讲过了,就不再赘述了。
在VSCODE+ESP8266_RTOS_3.0开发环境搭建
注意:在第一步基于WIN10的搭建完成后才能执行这步操作
我的文件位置在C:\msys32\etc\profile.d\esp32_toolchain.sh
用普通的文本编辑器打开后注释掉原先的esp32的环境变量,套上自己的环境变量,再增加一个IDF_PATH的环境变量,再增加一句语言设置,为了防止后期make menuconfig出现乱码。
export PATH="$PATH:/opt/xtensa-lx106-elf/bin"
export IDF_PATH=“D:/RTOS/ESP8266_RTOS_SDK-master”
export LANG=“en_US”
在VSCODE左下角打开设置
然后随便找到一个“在settings.json中编辑”点击
添加两句话
“terminal.integrated.shell.windows”:“C:\msys32\msys2_shell.cmd”,
“terminal.integrated.shellArgs.windows”: ["-defterm", “-mingw32”, “-no-start”, “-here”]
注意第一句话后面要用逗号结尾,第一句话需要修改自己电脑的msys2_shell.cmd地址,别搞错了,其他不用管,保存退出就行。
输入命令行make menuconfig后显示我们熟悉的页面后就可以输入make flash正常烧录程序了
懒人安装包:
链接:https://pan.baidu.com/s/1K7klD9OMg55vtn6eBHrYTg
提取码:5mff