目录大纲
虚拟机环境
我使用Ubuntu2004(因为此版本可以切换主题,就折腾了一下)64位操作系统。其他 linux 操作系统差异因该不大。因此本博客提供的编译器都是64位的。
可选择处理项
sudo apt list --upgradable
列出可更新的软件列表。
sudo apt-get upgrade
更新升级所有软件。
建立环境路径
mkdir esp32
建立总目录(在你想建立的地方建)
mkdir crossTools demos sources project
在esp32目录下建立4个文件夹,文件夹的作用分别是:
crossTools (存放编译工具链),demos (模板工程),project(自己的项目文件),sources (esp-idf源码存放目录)。
工具链和源码的下载
下载编译工具链存放于crossTools
说明:ESF-IDF4.0及以上需要需要使用下面的工具链
链接:https://pan.baidu.com/s/12qgyJRWhRBK3mBusbeGs7w 提取码:44n9
说明:ESF-IDF4.0以下 ESF-IDF3.0以上需要使用下面的工具链
链接:https://pan.baidu.com/s/1Von61KdB3cLcs7nfG1DawA 提取码:77lq
下载ESP-IDF存放于sources。(我仅仅是举例说明,可以根据自己的喜好进行版本下载)。进入 sources 目录后使用以下命令
git clone -b v3.3.2 --recursive https://github.com/espressif/esp-idf.git
v3.3.2是长期支持的版本,需要稳定的请使用此版本。
git clone -b v4.0.1 --recursive https://github.com/espressif/esp-idf.git
v4.0.1是最新的稳定版,更改过代码结构,需要体验新功能请下载此版本。
有关版本说明请阅读博客
官方文档
环境搭建
sudo apt-get install git wget libncurses-dev flex bison gperf python3-pip python-setuptools cmake ninja-build ccache libffi-dev libssl-dev
如果使用官方命令报错可以使用上面一条命令。
Python 环境(重点)
sudo update-alternatives --list python
罗列可用的 Python 版本,若报错,则python尚未链接至update-alternatives
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 #优先级为1
设置指定的 Python 版本为默认。
sudo update-alternatives --config python
会显示版本信息,根据对应编号进行选择对应的版本即可。(使用esp32系统中只能存在一种版本的Python)
如果存在同时存在 Python2 和 Python3,请卸载其中的一个版本。只能保存一个。
python2 --version #查看 Python2安装版本
如果有输出则有安装 python2
python3 --version #查看 Python3安装版本
如果有输出则有安装 python3
官方推荐使用 Python3。
卸载 Python 方法
sudo apt-get remove python2.7
卸载python2.7
sudo apt-get remove --auto-remove python2.7
卸载python2.7及其依赖
sudo apt-get purge python2.7 or sudo apt-get purge --auto-remove python2.7
消除python2.7
重启 ubuntu 使更改生效。
添加工具链
export PATH=$PATH:/xxx/xxx/esp32/crossTools/xtensa-esp32-elf/bin # xxx 代表你的电脑路径
使用sudo权限打开根目录下的 /etc/profile文件,在文件最后边添加下面命令。交叉编译工具的路径(此路径各不相同,可以进入到 xtensa-esp32-elf/bin/ 使用pwd 来确定路径后,输入到下面命令后的冒号后边)
export IDF_PATH=/xxx/xxx/esp32/sources/esp-idf # xxx 代表你的电脑路径
添加 ESP-IDF 路径
source /etc/profile
使用上面的命令让配置生效,或者重启 ubuntu 使更改生效。
拷贝例子代码到demo中。例子代码在 esp-idf/examples/get-started/中。我拷贝的是hello_world工程。
进入工程文件,使用默认参数进行编译如果编译成功,则大功告成。
Python 插件安装方法
如果错误。请查看 Python 插件符合项目需求的需求,请对比文件 esp-idf 文件中的 requirements.txt (版本 3.x.x 和 版本 4.x.x 所需要的插件不同。请对应项目不同进行安装)
pip3 --version
查看是否安装插件管理工具 如果输出有版本号则已经安装,如果没有安装请使用以下命令进行安装
sudo apt-get install python3-pip
查看已经安装的插件
pip3 list #列出已经安装的模块
安装模块
pip3 install 模块名 #模块名
pip3 install 模块名==版本号 #安装指定版本的模块
卸载模块
pip3 uninstall 模块名 #卸载模块
pyparsing 安装版本为 2.2.0
烧写 ESP32的权限问题
某些 Linux 版本可能在烧写 ESP32 时会出现 Failed to open port /dev/ttyUSB0 错误消息。可以通过将当前用户添加到拨出组来解决。
sudo usermod -a -G dialout $USER
设置后请重启 Ubuntu 然后再次烧写。
ESP-IDF快速下载方法
打开官方 官方GIT/tags库 点击你需要下载的版本。划到网页的最后边。直到出现 Assets 标签。下载第一个文件即可。此文件是离线包。
代码编辑工具
使用哪款编辑工具就无所谓了。这篇博客主要是讲解环境搭建。我使用的Visual Studio Code。