CentOS7 + ESP + CMake
更加详细的文档参考 盗版摩羯Blog
第一步:准备
1.安装编译 ESP-IDF 需要的软件包:
- CentOS 7:
sudo yum -y update && sudo yum install git wget flex bison gperf python3 cmake ninja-build ccache dfu-util
目前仍然支持 CentOS 7,但为了更好的用户体验,建议使用 CentOS 8。
- Ubuntu 和 Debian:
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util
2.下载ESP-IDF
将esp-idf
下载到/root
目录。不要追新下载尝鲜版,下载最新稳定版即可。
下载方式二选一:
1.在git bash
里面clone
。速度非常慢的可以把链接的 github.com 改成 github.com.cnpmjs.org 。下载后选择想要的版本。
git clone --recursive https://github.com/espressif/esp-idf.git
2.下载压缩包。下载压缩包后,解压。
第二步:设置工具和环境变量
进入esp-idf
目录。请确保默认 Python 3 为默认 Python 版本。如果不是运行以下指令。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && alias pip=pip3
运行./install.sh
。
本步骤中介绍的脚本将 ESP-IDF
所需的编译工具默认安装在用户的根目录中,即 Linux 和 macOS 系统中的 $HOME/.espressif
。此外,您可以将工具安装到其他目录中,但请在运行安装脚本前,重新设置环境变量IDF_TOOLS_PATH
。注意,请确保您的用户已经具备了读写该路径的权限。
如果修改了 IDF_TOOLS_PATH
变量,请确保该变量在每次执行安装脚本 (install.bat
、install.ps1
或 install.sh
) 和导出脚本 (export.bat
、export.ps1
或 export.sh
) 均保持一致。
等待……运行结束后提示如下:
根据提示,我们开始设置环境变量,运行以下指令。运行结束后,会把如下图所示路径添加到环境变量中,可运行env
查看。【注意:这里使用的IDF虚拟环境,在关闭终端后将消失,再次使用时请再次配置】
# 两个指令效果相同 二选一。 注意第一个`.`之后有一个空格
. ./export.sh
. $HOME/esp/esp-idf/export.sh
第三步:运行 Hello Word !
拷贝hello_word工程
cp -r /root/esp/esp-idf/examples/get-started/hello_world /root/esp
设置目标芯片
idf.py set-target esp32
这里提示CMake 版本过低,按照以下步骤升级,本身安装3.5+的略过。我这里升级到3.6:
# CMake目录 https://cmake.org/files/
# 下载Cmake
wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz
# 解压Cmake
tar xvf cmake-3.6.2.tar.gz && cd cmake-3.6.2/
# 编译安装cmake
./bootstrap
gmake
gmake install
# 查看编译后的cmake版本
/usr/local/bin/cmake --version
# 移除原来的cmake版本
yum remove cmake -y
# 新建软连接
ln -s /usr/local/bin/cmake /usr/bin/
# 终端查看版本
cmake --version
运行工程配置工具 menuconfig
idf.py menuconfig
等待之后会出现配置界面,可以通过此菜单设置项目的具体变量,包括 Wi-Fi 网络名称、密码和处理器速度等。
hello_world 示例项目会以默认配置运行,因此可以跳过使用 menuconfig
进行项目配置这一步骤。
查看我们的板子连接的端口,使用端口 tty0
dmesg | grep tty
编译工程,首次编译时间较长,耐心等待!不过比Windows快多了就是了。
编译完成后将生成对应的 .bin 文件。
idf.py build
烧录到设备将刚刚生成的二进制文件 (bootloader.bin, partition-table.bin 和 hello-world.bin) 烧录至您的 ESP32 开发板:
# PORT 是我们连接开发板的串口名称; BAUD 为烧录的波特率[选填],默认波特率为 460800。
# idf.py -p PORT [-b BAUD] flash
idf.py -p /dev/ttyUSB0 flash
启动监视器。使用 idf.py -p PORT monitor
命令,监视 “hello_world” 工程的运行情况。
快捷键 Ctrl+]
,退出 IDF 监视器。
# idf.py -p PORT monitor
idf.py -p /dev/ttyUSB0 monitor
到这里整个工程的搭建运行就可以了。
第四步:命令总结
常用命令如下:
#################################
# 安装依赖
sudo yum -y update && sudo yum install git wget flex bison gperf python3 cmake ninja-build ccache dfu-util
# 安装IDF
mkdir -p ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
cd ~/esp/esp-idf
./install.sh
# 设置环境变量 二选一
. $HOME/esp/esp-idf/export.sh
. ./export.sh #在esp-idf目录下运行
# 创建工程
cp -r /root/esp/esp-idf/examples/get-started/hello_world /root/esp
#################################
# 设置目标芯片
idf.py set-target esp32 # esp32 或者 esp32s2
# 配置
idf.py menuconfig
# 编译
idf.py build
# 烧录
# idf.py -p PORT [-b BAUD] flash
idf.py -p /dev/ttyUSB0 flash
# 监视器 Ctrl+] 退出
#idf.py -p PORT monitor
idf.py -p /dev/ttyUSB0 monitor
# 清理工程
idf.py fullclean
# 编译应用
idf.py app
#################################
第五步:扫码有惊吓
![](https://i-blog.csdnimg.cn/blog_migrate/2d01cca3b9a6ac44f077b56950a5583b.png)