ESP32交叉编译环境搭建

Posted JeckXu666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ESP32交叉编译环境搭建相关的知识,希望对你有一定的参考价值。

【ESP32】交叉编译环境搭建(一)

一、开发前言

最近买了块乐鑫的 ESP32 开发板,准备拿来点个灯玩玩,记录一下开发过程

二、获取乐鑫软件包

进入 linux 下,创建 esp 文件夹,用 git 把软件包拉下来:

git clone --recursive https://github.com/espressif/esp-idf.git

克隆完成:

可以看到克隆后的文件夹,然后我们进入文件夹,拉取子模块

cd /home/jeck/esp/esp-idf
git submodule update --init --recursive

拉取完成后,进入下一步

三、安装 esp32 环境

进入到克隆文件夹下的 esp-idf 文件夹内,执行 esp32 工具安装脚本

cd /home/jeck/esp/esp-idf
./install.sh esp32

安装报错:提示 python 版本太低

这里我后面给 linux 安装一个 anaconda 工具,来安装 python 环境:具体安装方式可以参考这篇文章:Linux下安装Anaconda(64位)详细过程

安装步骤非常简单,无非就是下载安装脚本,然后执行脚本,最后配置环境变量,结束!

这里是我安装 conda 后,用 conda 为 esp 单独创建的 python 环境:(Conda 创建环境可以参考下面的文章:conda创建python环境

然后激活环境后再次执行工具安装指令,安装完成如下:

如果要给多个目标芯片同时安装工具,则运行 ./install.sh esp32,esp32c3,esp32s3。 要安装全部芯片工具,则运行 ./install.sh./install.sh all

安装完成后,下一步就是设置安装环境,在 esp-idf 目录下执行如下脚本,自动添加环境

. ./export.sh

环境添加完成:

四、创建 esp32 工程

我们直接以 esp 提供的例程作为基础进行编辑:

定位到工程目录下:

cd /home/jeck/esp/esp-idf/examples/get-started/hello_world

设置目标芯片为 esp32

idf.py set-target esp32

设置完成会用如下指令打开配置项

idf.py menuconfig

配置项可以配置芯片的具体变量参数包括 Wi-Fi 网络名称、密码和处理器速度等.。示例项目会以默认配置运行,因此可以跳过使用 menuconfig 进行项目配置这一步

五、编译烧入工程

配置完成工程后,下面编译工程

idf.py build

编译完成后会生成 .bin 二进制文件:

编译完成通过串口,将程序下载到开发板,默认波特率 460800

idf.py -p PORT [-b BAUD] flash

下载前先查询一下板子的串口:

ls /dev/tty*

拔插看一下是哪个设备,这里我的是 ttyUSB1,这一步串口设备也可以直接在 menuconfig 里面配置!

下载程序:

idf.py -p /dev/ttyUSB1 flash

下载完成:

注意:下载过程中肯会出现串口访问权限的问题,是因为串口只有 root 用户才能操作,普通用户要修改需要添加权限,解决方案如下:

打开规则文件

sudo vim /etc/udev/rules.d/70-ttyusb.rules

添加权限

KERNEL=="ttyUSB[0-9]*",MODE="0666"

保存后就重新拔插串口可以下载了

以上是关于ESP32交叉编译环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

Windows系统下Eclipse搭建ESP32编译环境

ESP32学习笔记(50)——搭建环境编译烧写(Windows+Espressif-IDE)

ESP32学习笔记(50)——搭建环境编译烧写(Windows+Espressif-IDE)

001:ubuntu下搭建ESP8266开发环境--编辑 编译 下载

cmake:ESP32交叉编译工具链定义

ESP32开发:搭建windows开发环境--VSCode操作