Ubuntu22.04上安装esp-idf

news/2024/11/18 17:31:31/文章来源:https://www.cnblogs.com/caojun97/p/18348855

一、安装准备

建议使用Ubuntu 20.04 或 Ubuntu 22.04 操作系统

为了在 ESP32-C3 中使用 ESP-IDF,需要安装一些依赖包

sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0

提示:若系统上已经安装过上述部分软件包,则会自动跳过该安装包,跳到下一个安装包的安装。

1、要求cmake版本至少是cmake 3.16 或以上,查看版本信息:cmake --version
2、要求python版本至少是python3.6 或以上,查看版本信息: python3 --version

二、从Gitee克隆esp-idf仓库

从Github端clone仓库很容易失败,故转而向Gitee端clone整个esp-idf。

从远程仓库克隆ESP-IDF到本地

mkdir -p ~/esp
cd ~/esp
git clone -b v5.2.2 https://gitee.com/EspressifSystems/esp-idf.git

为了克隆子仓库和安装工具链,需要用到esp-gitee-tools工具,下载该工具到本地。

cd ~/esp/esp-idf
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git

克隆子模块

cd ~/esp/esp-idf
./esp-gitee-tools/submodule-update.sh

安装工具链(需要下载的工具包比较多,大约需要10分钟左右)

cd ~/esp/esp-idf
./esp-gitee-tools/install.sh

三、激活esp-idf

在 ~/.bashrc 文件中增加 一行命令:alias get_idf='. ~/esp/esp-idf/export.sh'

激活 ~/.bashrc,执行命令:source ~/.bashrc。 在任何terminal窗口均可以执行命令:get_idf,激活esp-idf环境。

四、验证esp-idf

esp-idf给出了一个blink项目,用于测试目的,将所有测试用例拷贝出来。

cd ~/esp
cp -r  esp-idf/examples/* app-example/
cd app-example/get-started/blink/
  • 第一步:激活esp-idf环境,执行命令:get_idf

  • 第二步:设置编译目标,执行命令:idf.py set-target esp32c3 (这里我已经从esp官方购买了ESP32-C3-DevKitM-1)

  • 第三步:设置编译菜单,执行命令:idf.py menuconfig, 此处为标准测试用例blink和开发板,故不需要做额外的设置,保持默认菜单即可

  • 第四步:开始编译,执行命令:idf.py build

  • 第五步:开始烧录,将开发板插入PC,修改串口权限:sudo chmod 664 /dev/ttyUSB0,烧录到开发板,执行命令:idf.py -p /dev/ttyUSB0 flash

    提示:有的开发板插入后,串口名称是/dev/ttyACM0

  • 第六步:观察开发板状态是否和预想的一致,如果一闪一闪就正确。

参考来源

esp-idf 编程指南

ESP32-C3物联网工程开发实战 (乐鑫科技).pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/779797.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构 分块 莫队

数据结构 分块 & 莫队分块 一种优化暴力的思想。 通常是将原数据划分成适当块(一般为 \(\sqrt{n}\)),对每块数据进行预处理,进而达到比暴力更优的时间复杂度。 划分 确定块长后,一般需要开两个数组存储每一块的右边界与原数据所属块序号,更加方便后续操作。 int sq=s…

改写socket编程并解释socket通信原理

如果你仔细看我之前的博客,会看到那个手机打电话的示例,但是那段代码彻底写死了,真正编程的时候一定要写活了,不信你看看很多的程序的配置文件就是这样的,为什么单独分离个配置文件出来,就是为了便于修改配置,这就是把程序写活的最好的例子。 言归正传,直接上代码。 服…

工程项目综合管理系统解析:哪一款适合你的企业?

国内外主流的10款工程项目综合管理系统对比:PingCode、Worktile、广联达、明源云、中望软件、Oracle Primavera、Asana、Wrike、Zoho Projects、Basecamp。在处理复杂的工程项目时,选择合适的综合管理系统可能是一个令人头痛的问题。项目延误、成本超支和资源管理不当等问题常…

预训练语言模型去偏方法——与特定任务相关

一、对抗学习 1.1 ADV-标准对抗  主要思想:防止鉴别器识别受保护的属性。以对抗性方法训练模型,并明确掩盖受保护信息。 损失函数:1.2 EADV-优化对抗ADV存在的问题:在某些情况下,即使对抗性组件似乎做得很完美,仍有相当数量的受保护信息,并且可以从编码的表示中提取。…

使用wx制作一个桌面软件

前面因为抓取数据,为了方便期间做了各界面,用到了wx,觉得很好用,所以最近几天专门看了一下wx的使用,并练习了一下。 代码:import os,sys,re,time import wx,wx.xrc,wx.adv,wx.grid import json,math,random import subprocess,threading from win32api import GetSystemM…

来了它来了! 中小企业“轻量化低成本”数字化转型解决方案

数字化转型是中小企业的必答题,但是初始需要投入真金白银,存在回报期长,不确定性大的问题,成本受限成为一大绊脚石。此外缺资金、缺人才、缺技术也是不可回避的挑战。找集成商无疑是一个必然的路径,但是集成商干起中小企业项目面临钱少、活多、压力大的现实问题,陷入不接…

keycloak~关于社区登录的过程说明

keycloak将第三方登录(社区登录)进行了封装,大体主要会经历以下三个过程:打开社区认证页面,输入账号密码或者扫码,完成社区上的认证 由社区进行302重定向,回到keycloak页面 keycloak与社区完成一次oauth2授权码认证,通过社区返回的code来获取token,再通过token来获取社…

免费项目管理软件:提高效率的顶级选择

国内外主流的10款免费项目管理工具对比:PingCode、Worktile、Jira 、Wrike 、ClickUp、Trello、Asana、飞书、Tapd、Teambition。在选择项目管理软件时,许多团队面临的最大挑战之一是成本。尤其是对于初创公司或小型企业来说,高昂的软件订阅费可能是一个沉重的负担。然而,市…

表达式(二)

后缀表达式由于其特殊性只需要操作数栈,不需要运算符栈,每当出现运算符就说明是对前面两个操作数进行操作 #include<bits/stdc++.h> using namespace std; char tok[30][20]; int tok_max; int pos=1;int main(){tok_max=0;int num1=0;for(;;){int c=getchar();if(c==@…

基于深度学习网络的人员行为视频检测系统matlab仿真,带GUI界面

1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印): 2.算法涉及理论知识概要基于GoogLeNet深度学习网络的人员行为视频检测系统是一个高度复杂的计算机视觉应用,它利用深度神经网络的强大功能来识别和分类视频中的人员行为。GoogLeNet,也称为Inception网络,…

Forrester Wave™报告:天翼云三项产品能力获评最高分!

8月5日,国际权威研究机构Forrester发布了《Forrester Wave™: 中国公有云平台厂商评测,2024Q3》报告。中国电信天翼云凭借前瞻性的发展战略和领先的产品能力,跻身行业头部玩家阵营。同时,中国电信天翼云在数据治理服务、网络和内容交付服务、先进通讯和区块链服务三项产品能…