【ESP32】交叉编译环境搭建(一)
【ESP32】交叉编译环境搭建(一)
一、开发前言
最近买了块乐鑫的 ESP32 开发板,准备拿来点个灯玩玩,记录一下开发过程
二、获取乐鑫软件包
进入 linux 下,创建 esp 文件夹,用 git 把软件包拉下来:
git clone --recursive https://github.com/espressif/esp-idf.git
- 1
克隆完成:
可以看到克隆后的文件夹,然后我们进入文件夹,拉取子模块
cd /home/jeck/esp/esp-idf
git submodule update --init --recursive
- 1
- 2
拉取完成后,进入下一步
三、安装 esp32 环境
进入到克隆文件夹下的 esp-idf 文件夹内,执行 esp32 工具安装脚本
cd /home/jeck/esp/esp-idf
./install.sh esp32
- 1
- 2
安装报错:提示 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
- 1
环境添加完成:
四、创建 esp32 工程
我们直接以 esp 提供的例程作为基础进行编辑:
定位到工程目录下:
cd /home/jeck/esp/esp-idf/examples/get-started/hello_world
- 1
设置目标芯片为 esp32
idf.py set-target esp32
- 1
设置完成会用如下指令打开配置项
idf.py menuconfig
- 1
配置项可以配置芯片的具体变量参数,包括 Wi-Fi 网络名称、密码和处理器速度等.。示例项目会以默认配置运行,因此可以跳过使用 menuconfig
进行项目配置这一步
五、编译烧入工程
配置完成工程后,下面编译工程
idf.py build
- 1
编译完成后会生成 .bin 二进制文件:
编译完成通过串口,将程序下载到开发板,默认波特率 460800
idf.py -p PORT [-b BAUD] flash
- 1
下载前先查询一下板子的串口:
ls /dev/tty*
- 1
拔插看一下是哪个设备,这里我的是 ttyUSB1,这一步串口设备也可以直接在 menuconfig 里面配置!
下载程序:
idf.py -p /dev/ttyUSB1 flash
- 1
下载完成:
注意:下载过程中肯会出现串口访问权限的问题,是因为串口只有 root 用户才能操作,普通用户要修改需要添加权限,解决方案如下:
打开规则文件
sudo vim /etc/udev/rules.d/70-ttyusb.rules
- 1
添加权限
KERNEL=="ttyUSB[0-9]*",MODE="0666"
- 1
保存后就重新拔插串口可以下载了
文章来源: blog.csdn.net,作者:JeckXu666,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_45396672/article/details/121629771
- 点赞
- 收藏
- 关注作者
评论(0)