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

SOC-ESP32S3部分:2-2-VSCode进行编译烧录

飞书文档https://x509p6c8to.feishu.cn/wiki/CTzVw8p4LiaetykurbTciA42nBf?fromScene=spaceOverview

无论是使用Window搭建IDF开发环境,还是使用Linux Ubuntu搭建IDF开发环境,我们都建议使用VSCode进行代码编写和编译,VSCode界面友好,支持各类免费的插件,可以大大加速我们开发,接下来,我们看看如何使用VScode进行工程编译烧录。

1.1、Window环境-基于VSCode进行编译烧录

1.1.1、配置PowerShell可运行脚本

首先,我们需要打开用管理身份运行PowerShell,在Windows快速开始搜索到Powershell后,右键以管理员身份运行

然后执行

下方指令二选一:
Set-ExecutionPolicy RemoteSigned (建议使用)
Set-ExecutionPolicy Unrestricted
然后选择Y这个步骤是因为PowerShell默认会限制脚本的运行,而我们后续在VSCode中需要运行配置IDF的脚本,所以提前把这里打开。
设置完成后,运行get-ExecutionPolicy查看是否设置成功

1.1.2VSCode打开工程文件夹

然后确保我电脑安装了VSCode,如果没安装,可以回到基础课程C语言部分,了解如何安装,然后就可以通过VSCode打开文件夹,这里的文件夹选择我们前面创建的路径,也就是H:\AI\esp32aibox,为什么选择这里而不是H:\AI\esp32aibox\app\hello_world文件呢?我们接着看

这样打开后,我们就可以看到有app和Espressif两个文件夹,app中是我们上节课复制的hello_world工程,Espressif是IDF的源码,这样的方式方便我们编程时,参考IDF的示例和API函数。

接着我们新建一个终端

我们可以看到VSCode的底部出现了一个powershell的终端,这就是使用VSCode的好处,编辑源码,编译,烧录都可以在一个IDE完成,这样,我们就不用手动另外在打开powershell啦

然后,我们执行脚本配置下IDF的环境变量

进入IDF路径
PS H:\AI\esp32aibox> cd .\Espressif\frameworks\esp-idf-v5.4\
配置环境变量
PS H:\AI\esp32aibox\Espressif\frameworks\esp-idf-v5.4> .\export.ps1或者带路径一步执行
PS H:\AI\esp32aibox>.\Espressif\frameworks\esp-idf-v5.4\export.ps1

重要:环境变量配置这个操作每次开启一个新的终端或重启VSCode都需要做哦,否则会出现找不到idf.py

报错&解决说明

这是因为电脑本地的python环境影响导致,需要修改电脑环境变量为idf的python路径,如果不想,最好把python环境变量也加到PATH

xxx你的路径xxx\Espressif\tools\idf-python\3.11.2\

后续的编译、烧录流程和前面是一样的。

切换到工程目录
PS H:\AI\esp32aibox\Espressif\frameworks\esp-idf-v5.4> cd ../../../
PS H:\AI\esp32aibox> cd .\app\hello_world\
设置、编译、烧录
PS H:\AI\esp32aibox\app\hello_world> idf.py set-target esp32-s3
PS H:\AI\esp32aibox\app\hello_world> idf.py build
PS H:\AI\esp32aibox\app\hello_world> idf.py flash monitor

1.2Linux环境-基于VSCode进行编译烧录

如果是Linux环境,想在Window内使用VSCode进行编译和烧录,需要安装SSH服务

Ubuntu SSH服务安装

在ubuntu终端中执行:
sudo apt-get install openssh-server
sudo /etc/init.d/ssh start
ps -e|grep ssh
sudo passwd root 若未设置过root密码,可自行选择设置
查看ubuntu ip确定和windows网段一样
ifconfig

然后在Window VSCode中通过SSH命令行方式访问Ubuntu

打开VSCode安装C/C++、SSH客户端插件

安装完成后,左侧会有SSH的图标,我们点击配置连接Ubuntu的IP

添加配置信息,需要添加你自己的ubuntu ip

登录,如果网络配置没问题,你可以在新窗看到需要输入密码,输入ubuntu密码后可登录成功。

这一步如果失败,可以先排查ubuntu ssh是否已经启动,然后排查ubuntu和window的ip是否为同网段(可以修改虚拟机网络为桥接,最后就是重新重启、安装下vscode的ssh插件,或者你可以用别的ssh插件验证)

登录成功后,和1.4.2的流程一样,打开对应代码文件夹即可。唯一的区别是配置环境变量时,不再执行.\export.ps1脚本,而是执行

source ./export.sh

.sh是Linux或macOS的脚本格式,后续的流程和前面是一样的。

http://www.xdnf.cn/news/7472.html

相关文章:

  • laravel中如何使用Validator::make定义一个变量是 ,必传的,json格式字符串
  • 大数据Spark(五十九):Standalone集群部署
  • 小白编程学习之巧解「消失的数字」
  • 利用朴素贝叶斯对UCI 的 mushroom 数据集进行分类
  • Ansible模块——通过 URL 下载文件
  • 题海拾贝:P2285 [HNOI2004] 打鼹鼠
  • C#处理印尼地区的数字分隔符方法
  • Python60日基础学习打卡D31
  • OSA实战笔记二
  • 【520 特辑】用 HTML/CSS/JavaScript 打造浪漫炫酷的表白网页
  • Android Edge-to-Edge
  • AI驱动发展——高能受邀参加华为2025广东新质生产力创新峰会
  • 第一章走进java世界
  • HarmonyOS NEXT~鸿蒙系统与Uniapp跨平台开发实践指南
  • 为 Jenkins添加 Windows Slave远程执行 python项目脚本
  • 密码学实验
  • 可编辑PPT | 华为安全架构设计方法指南华为数字化转型架构解决方案
  • XXX企业云桌面系统建设技术方案书——基于超融合架构的安全高效云办公平台设计与实施
  • T008-网络管理常用命令:ping,ipconfig,nslookup,route,netstat
  • 数据结构与算法分析实验14 实现基本排序算法
  • 使用MybatisPlus实现sql日志打印优化
  • 【图像大模型】Stable Video Diffusion:基于时空扩散模型的视频生成技术深度解析
  • 大数据相关操作
  • 探秘汽车门槛梁内板右后段成型工艺
  • 【11408学习记录】考研英语写作精要:真题范文拆解+万能句型应用+每日一句突破
  • Git 和 GitHub 学习指南本地 Git 配置、基础命令、GitHub 上传流程、企业开发中 Git 的使用流程、以及如何将代码部署到生产服务器
  • Linux 系统不终止进程的情况下关闭长连接
  • 仓颉开发语言入门教程:常见UI组件介绍和一些问题踩坑
  • 学习threejs,使用Physijs物理引擎,使用DOFConstraint自由度约束,模拟小车移动
  • ip地址改了网络还能用吗?ip地址改了有什么后果