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.batinstall.ps1install.sh) 和导出脚本 (export.batexport.ps1export.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
#################################


第五步:扫码有惊吓


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盗版摩羯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值