当前位置: 首页 > news >正文

【ESP32】虚拟机Ubuntu20.04下ESP32环境搭建

【ESP32】虚拟机Ubuntu20.04下ESP32环境搭建

  • 0.准备工作
  • 1.依赖安装
  • 2.Vscode中安装ESP-IDF
  • 3.下载examples代码
  • 4.设置工具
  • 5.设置环境变量
  • 6.ESP设备连接到虚拟机
  • 7.编译、烧录

0.准备工作

(1)VMware虚拟机安装
(2)Ubuntu20.04安装(python的版本都是3.8的,省去很多麻烦)
(3)Vscode安装以及C/C++相应插件安装(esp的插件先无需安装)
(4)您也可以自己参考官方安装:点击开始瞎折腾

1.依赖安装

进入上述(4)的网址,选择自己需要的版本,复制下方的安装命令,直接再Bash运行。

在这里插入图片描述

2.Vscode中安装ESP-IDF

我们选择使用vscode的方式安装,而不是去github clone。

在这里插入图片描述

进入IDE安装方式,直接从第4步开始安装。依次执行4-11步骤(其中第8步骤选择你需要的版本),建议路径不要修改,默认即可。
然后点击Install,开始安装,依次自动安装ESP-IDF、ESP-IDF 工具,以及 Python 虚拟环境
按道理来说,基本应该没问题,也不会报错。

在这里插入图片描述

安装完成后,建议详细阅读剩下的全部内容。

3.下载examples代码

上述步骤完成后,会出现ESP-IDF Welcome界面,如下图所示。
在这里插入图片描述

然后按上图顺序点击,会出来esp官方的历程。
我们选择hello_world历程,并下载。

在这里插入图片描述

下载完毕后,你回到工程,main函数里面会有报错存在。
我们接下来一一解决。

4.设置工具

进入你的刚才通过vscode安装的esp-idf目录,运行下方命令

./install.sh all    #直接将全部芯片安装好就行

5.设置环境变量

vim ~/.bashrc#将下方三行【注意修改为自己的路径】,放到.bashrc的最后,然后保存退出
alias get_idf='. $HOME/esp/v5.4/esp-idf/export.sh'#刷新配置
source ~/.bashrc

每次打开新的终端窗口,只需要运行get_idf,环境变量就自动加载了。为什么不配置到profile中,因为这样的话,每次打开终端都会自动运行esp-idf的虚拟环境。但是有时你打开终端并不需要使用esp-idf。

6.ESP设备连接到虚拟机

我的esp设备如下,应该是伪官方的版本。插入到电脑,然后选择连接到虚拟机。

在这里插入图片描述

运行下面命令,查看端口。然后拔掉设备,再次运行命令,就知道哪个是你的设备了。

ls /dev/tty*

在这里插入图片描述

这个时候应该还是连接不上设备,我们需要将该设备授权,添加权限。
需要运行下方命令。然后重新登陆下。

sudo usermod -a -G dialout $USER     

按说上方运行完后,仍旧不行。需要单独给端口权限。

sudo chmod 666 /dev/ttyACM0   #将最后tty*替换为自己的设备名称

7.编译、烧录

设备插入虚拟机之后。
回到vscode工程,将下面三个依次选为自己需要的:①连接设备的方式。②设备名称。③芯片型号。

在这里插入图片描述

垃圾桶:清除编译
扳手:build编译工程
闪电:下载程序
电视:设备的串口打印
小虫子:调试

在这里插入图片描述

但是,此时你点击下载应该还是没反应。需要按照这个进行操作:
如果设备不支持自动下载模式,则需要手动进入下载模式。请按住 BOOT 按钮,同时按一下 RESET 按钮。之后,松开 BOOT 按钮。
然后再点击闪电,下载程序,就能下载进去了。

你也可以选择命令行的方式:

idf.py build         [编译工程]
idf.py flash         [下载]
idf.py monitor       [监控输出]
idf.py menuconfig    [工程配置]

http://www.mrgr.cn/news/95192.html

相关文章:

  • C++特性——RAII、智能指针
  • C语言每日一练——day_12(最后一天)
  • 算法刷题记录——专题目录汇总
  • Python(3)掌握Python循环:从基础到实战的完整指南
  • Wi-Fi NAN 架构(Wi-Fi Aware Specification v4.0,第2章:2.3~2.6)
  • 在VMware上部署【Ubuntu】
  • iwebsec-updatexml报错注入
  • 尝试在软考66天前开始成为软件设计师-数据库系统
  • DeepSeek-R1深度解读
  • Git 使用笔记
  • 内网安全-横向移动Kerberos 攻击SPN 扫描WinRMWinRSRDP
  • 机器学习面试重点第二部分(动画版)
  • 高级java每日一道面试题-2025年3月04日-微服务篇[Eureka篇]-Eureka是什么?
  • 【笔记】计算机网络——数据链路层
  • 阿里云平台服务器操作以及发布静态项目
  • DevEco Studio的使用
  • OpenAI--Agent SDK简介
  • 虚拟电商-延迟任务系统的微服务改造(二)注册中心和Feign调用
  • Linux安装Elasticsearch集群-----docker安装es集群
  • 工业相机选型