Ubuntu22.04上安装esp-idf

news2024/12/22 1:48:16

一、安装准备#

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

为了在 Ubuntu 22.04 中使用 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'

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

四、验证esp-idf#

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

cd ~/esp
mkdir app-example
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.coloradmin.cn/o/2263527.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nginx-虚拟主机配置笔记

目录 nginx的安装可以查看nginx安装https://blog.csdn.net/m0_68472908/article/details/144609023?spm1001.2014.3001.5501 一、 基于域名 二、 基于IP 三、 基于端口 nginx的安装可以查看nginx安装https://blog.csdn.net/m0_68472908/article/details/144609023?spm100…

AlipayHK支付宝HK接入-商户收款(PHP)

一打开支付宝国际版 二、点开商户服务 三、下载源码

Soul Android端稳定性背后的那些事

前言:移动应用的稳定性对于用户体验和产品商业价值都有着至关重要的作用。应用崩溃会导致关键业务中断、用户留存率下降、品牌口碑变差、生命周期价值下降等影响,甚至会导致用户流失。因此,稳定性是APP质量构建体系中最基本和最关键的一环。当…

深度学习模型 DeepSeek-VL2 及其消费级显卡需求分析

DeepSeek-VL2 是由 DeepSeek 团队开发的一款先进的视觉语言模型,采用了混合专家(MoE)架构,旨在提升多模态理解能力。该模型包括三个版本:DeepSeek-VL2-Tiny、DeepSeek-VL2-Small 和 DeepSeek-VL2。每个版本具有不同的模…

首批|云轴科技ZStack成为开放智算产业联盟首批会员单位

近日 ,在Linux基金会AI & Data及中国开源软件推进联盟的指导之下,开放智算产业联盟成立大会在北京成功召开。在大会上,联盟首次公布了组织架构并颁发了首批会员单位证书。凭借ZStack AIOS平台智塔和在智算领域的技术创新,云轴…

word实现两栏格式公式居中,编号右对齐

1、确定分栏的宽度 选定一段文字 点击分栏:如本文的宽度为22.08字符 2、将公式设置为 两端对齐,首行无缩进。 将光标放在 公式前面 点击 格式-->段落-->制表位 在“制表位位置”输入-->11.04字符(22.08/211.04字符)&…

go语言zero框架中config读取不到.env文件问题排查与解决方案

在Go语言中,如果你使用.env文件来存储环境变量,通常会用到一些第三方库,例如github.com/joho/godotenv,它可以帮助我们从.env文件中读取环境变量。然而,在使用godotenv时,可能会遇到一些问题,导…

修改vscode设置的原理

转载请标明出处:小帆的帆的专栏 修改vscode设置 首先需要理解的是,vscode的系统设置和插件设置都是通过settings.json文件管理的。 vscode中有三个Settings,三个Settings分别对应三个settings.json文件 Default Settings:默认…

Qt之修改窗口标题、图标以及自定义标题栏(九)

Qt开发 系列文章 - titles-icons-titlebars(九) 目录 前言 一、修改标题 二、添加图标 三、更换标题栏 1.效果演示 2.创建标题栏类 3.定义相关函数 4.使用标题栏类 总结 前言 在我们利用Qt设计软件时,经常需要修改窗口标题、更改软…

环境变量的知识

目录 1. 环境变量的概念 2. 命令行参数 2.1 2.2 创建 code.c 文件 2.3 对比 ./code 执行和直接 code 执行 2.4 怎么可以不带 ./ 2.4.1 把我们的二进制文件拷贝到 usr/bin 路径下,也不用带 ./ 了 2.4.2 把我们自己的路径添加到环境变量里 3. 认识PATH 3.…

【时时三省】(C语言基础)通讯录1

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 通讯录 1 .通讯录中能够存放1000个人的信息 每个人的信息: 名字年龄性别电话地址 2、增加人的信息 3、删除指定人的信息 4、修改指定人的信息 5,查找指定人的信…

Vulhub:Redis[漏洞复现]

4-unacc(Redis未授权代码执行) 启动漏洞环境 docker-compose up -d 阅读vulhub给出的漏洞文档 cat README.zh-cn.md # Redis 4.x/5.x 主从复制导致的命令执行 Redis是著名的开源Key-Value数据库,其具备在沙箱中执行Lua脚本的能力。 Redis未授权访问在4.x/5.0.5以…

【PGCCC】Postgresql Varlena 结构

前言 postgresql 会有一些变长的数据类型,存储都是采用 varlena 格式的(除了 cstring 类型),通过语句 SELECT typname FROM pg_type WHERE typlen -1就可以看到所有采用 varlena 格式的数据类型,比如常见的 text &am…

Ubuntu搭建ES8集群+加密通讯+https访问

目录 写在前面 一、前期准备 1. 创建用户和用户组 2. 修改limits.conf文件 3. 关闭操作系统swap功能 4. 调整mmap上限 二、安装ES 1.下载ES 2.配置集群间安全访问证书密钥 3.配置elasticsearch.yml 4.修改jvm.options 5.启动ES服务 6.修改密码 7.启用外部ht…

LeetCode:144.前序遍历

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:144. 二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1&#x…

git remote -v(--verbose)显示你的 Git 仓库配置的远程仓库的详细信息

git remote -v 是一个 Git 命令,用于显示你的 Git 仓库配置的远程仓库的详细信息。 当你执行 git remote -v 命令时,你会看到类似以下的输出: origin https://github.com/your-username/your-repo.git (fetch) origin https://github.com…

Gin-vue-admin(4):项目创建前端一级页面和二级页面

目录 创建一级页面创建二级页面 创建一级页面 view目录下新建一个my&#xff0c;Index.vue <template></template><script> export default {name:My, } </script><script setup> import {ref} from vue const myNameref("name") &…

数据结构漫游记:初识vector

​ 嘿&#xff0c;各位技术潮人&#xff01;好久不见甚是想念。生活就像一场奇妙冒险&#xff0c;而编程就是那把超酷的万能钥匙。此刻&#xff0c;阳光洒在键盘上&#xff0c;灵感在指尖跳跃&#xff0c;让我们抛开一切束缚&#xff0c;给平淡日子加点料&#xff0c;注入满满的…

R语言混合模型回归GBTM群组轨迹模型绘图可视化研究

全文链接&#xff1a;https://tecdat.cn/?p38581 在回归分析的广袤领域中&#xff0c;面对具有多条未知函数线的复杂数据时&#xff0c;传统方法常常捉襟见肘。混合模型作为一种强有力的分析手段应运而生&#xff0c;其在处理此类复杂情境时展现出独特的优势与潜力&#xff08…

uniapp自定义树型结构数据弹窗,给默认选中的节点,禁用所有子节点

兼容H5、安卓App、微信小程序 实现逻辑&#xff1a;给默认选中节点的所有子节点添加一个disabled属性&#xff0c;以此禁用子节点。 /components/sonTreeNode/sonTreeNode.vue 封装成组件 <template><view><view :class"[item,item.is_level1?pL1:item…