ESP32 IDF基于Ubuntu16.04传统GNU make(非cmake)的开发环境搭建
1、概述
关于ESP32 GNU make环境搭建,博主走了很多弯路,为了以后少走弯路特意写这篇文章作为防坑记录。由于之前开发ESP8266是基于Linux平台,所以习惯了传统的GNU make方式,继续按照之前搭建ESP8266编译环境的方式来搭建,这样就可以windows和Linux共享一个工程,方便后续维护开发。至于标题为什么突出GNU make,那是因为要跟cmake 编译环境做区别,详情请看官方链接:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/get-started-legacy/index.html.
2、下载安装Ubuntu16.04
ubuntu16.04下载地址:
中科大源
http://mirrors.ustc.edu.cn/ubuntu-releases/16.04/.
阿里云开源镜像站
http://mirrors.aliyun.com/ubuntu-releases/16.04/.
兰州大学开源镜像站
http://mirror.lzu.edu.cn/ubuntu-releases/16.04/.
北京理工大学开源
http://mirror.bit.edu.cn/ubuntu-releases/16.04/
浙江大学
http://mirrors.zju.edu.cn/ubuntu-releases/16.04/
特别需要注意的是自己安装的是32-bit还是64-bit,非常重要,只说一遍。
安装好后可以通过 getconf LONG_BIT命令来查看Ubuntu是多少位的。
3.下载安装编译链工具依赖包
命令行安装交叉编译工具链依赖的环境:sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial
需要注意的是python依赖包 libnsurses5-dev可能安装不成功,需要手动下载解压执行,。在这个Ubuntu版本,后面还有很多关于python的坑。
4、安装编译链工具
注意:一定要下载跟Ubuntu位数相同的版本;
可以通过
64-bit Linux:
https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz.
32-bit Linux:
https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz.
下载后使用 cp 命令到自己的目录,使用tar -xzvf xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz解压到当前文件夹,我安装到 /usr/esp_32/bin里面,这个路径关系到全局变量的设置;
5、设置编译链工具全局变量
使用sudo vi /etc/profile或者sudo vim /etc/profile进入编辑界面,在最上方输入export PATH="$PATH:/usr/esp_32/bin/xtensa-esp32-elf/bin",也就是编译链工具的具体位置路径;
修改完后记得 执行== source /etc/profile==立即生效
6、下载ESP-IDF
可以通过官方下载,然后放到windows共享文件夹里面,这样方便在windows使用虚拟机安装的Ubuntu共享一个文件夹,比较方便。
7、设置ESP-IDF全局变量
同样使用sudo vi /etc/profile或者sudo vim /etc/profile进入编辑界面,在最上方输入export IDF_PATH=/mnt/hgfs/windows_share_esp/esp_32/esp-idf,也就是esp-idf存放的具体位置路径我用的是windows共享文件夹,所以路径是这个
修改完后记得 执行== source /etc/profile==立即生效
8、安装python软件包
根据官方文档:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/get-started-legacy/index.html.ESP-IDF 所需的 Python 软件包位于 IDF_PATH/requirements.txt 中。您可以运行以下命令进行安装:您可以运行以下命令进行安装:
这一步会遇到很多问题,最常见的就是==“check_python_dependencies”==,这是由于python很多依赖包没有安装,在安装python依赖包的时候,会报错很多红字,有关于
cryptography、openssl之类的,都是这些依赖包没有安装包,博主还遇到Ubuntu16.04.自带的python2.7 pip版本太久,无法使用的问题,然后通过pip install 也无法跟新到最新版本,无奈之下只得自己从网上下载最新源码解压执行。
所有关于python的错误解决方法:
转载自https://blog.csdn.net/weixin_30797199/article/details/97588906.
转载自https://www.cnblogs.com/zishengY/articles/9337311.html.
转载自https://blog.csdn.net/zong596568821xp/article/details/80410416.
转载自 https://blog.csdn.net/fdlittlesky/article/details/82866874.
一般都是依赖包下载失败导致的,大部分通过命令下载可以解决掉;不过博主弄了一天半,掉了太多头发了,当时没有好好保存图片记录,只保存了上面的几个书签;
9、复制esp-idf examples里面的工程到esp-idf目录,编译;
转载自 https://blog.csdn.net/solar_Lan/article/details/79887807.
== 最后感谢以上提供转载的博主,如侵犯版权请联系本人;==