基于Windows下离线安装当前最新Arduino ESP32 SDK(2.0.7)固件开发包
基于Windows下离线安装当前最新Arduino ESP32 SDK(2.0.7)固件开发包
✨写这篇的文章的初衷,是由于在前几天想通过离线一键安装包方式实现升级安装,结果发现解压后,可以找到开发板,但是无法上传代码,由于原作者在封装安装包的时候,将有效资源放的是其他平台上使用的,导致工程可以编译,但是上传会报错,特此加以补充安装方法。
- 📜在使用
https://arduino.me/packages/esp32.json离线安装包,编译-上传报错内容:
java.io.IOException: Cannot run program "REMOVE/esptool.exe": CreateProcess error=2, 系统找不到指定的文件。
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at processing.app.helpers.ProcessUtils.exec(ProcessUtils.java:26)
at cc.arduino.packages.Uploader.executeUploadCommand(Uploader.java:132)
at cc.arduino.packages.uploaders.SerialUploader.runCommand(SerialUploader.java:383)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:197)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:88)
at processing.app.ArduinoHelper.run(ArduinoHelper.java:151)
at processing.app.ArduinoHelper.run(ArduinoHelper.java:101)
at org.mixly.Browser_new.upload(Browser_new.java:2004)
at org.mixly.Browser_new.access41(Browsernew.java:1924)atorg.mixly.Browsernew
54.run(Browser_new.java:1727)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 11 more
📢以上的离线资源地:
https://arduino.me/a/esp32。(Arduino IDE安装esp32 SDK(Windows)版本:2.0.7 2023.2.21更新),目前还是不建议搭建去使用;esp8266当前提供的离线安装包(版本:3.1.1)没有问题。
- 📌乐鑫官方提供的安装说明:
https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html - 📍Stable release link:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- 🎈Development release link:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
✨这里以开发版本为例.从上面的.json文件信息中提取出必要的安装文件,然后利用HFS工具搭建离线本地服务进行安装。
- 📓具体搭建请相关参考《利用HFS软件一分钟搭建好ESP8266基于Arduino开发环境》
🔖这里只提供离线安装的必要资源文件。
- 📜测试了编译上传OK。

🛠如何获取安装SDK固件包的必要文件以及对应版本信息
📑通过将上面的json文件保存到本地,并打开,找到最前面最新SDK固件版本的位置:
"name": "esp32","architecture": "esp32","version": "2.0.7","category": "ESP32","url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esp32-2.0.7.zip","archiveFileName": "esp32-2.0.7.zip","checksum": "SHA-256:b5a7a54fca36501d1108413310ec50ae2df655c14c3881325903cde2c7ae5f80","size": "278966011","help": {"online": ""},"boards": [{"name": "ESP32 Dev Board"},{"name": "ESP32-S2 Dev Board"},{"name": "ESP32-S3 Dev Board"},{"name": "ESP32-C3 Dev Board"}],"toolsDependencies": [{"packager": "esp32","name": "xtensa-esp32-elf-gcc","version": "esp-2021r2-patch5-8.4.0"},{"packager": "esp32","name": "xtensa-esp32s2-elf-gcc","version": "esp-2021r2-patch5-8.4.0"},{"packager": "esp32","name": "xtensa-esp32s3-elf-gcc","version": "esp-2021r2-patch5-8.4.0"},{"packager": "esp32","name": "riscv32-esp-elf-gcc","version": "esp-2021r2-patch5-8.4.0"},{"packager": "esp32","name": "openocd-esp32","version": "v0.11.0-esp32-20221026"},{"packager": "esp32","name": "esptool_py","version": "4.5"},{"packager": "esp32","name": "mkspiffs","version": "0.2.3"},{"packager": "esp32","name": "mklittlefs","version": "3.0.0-gnu12-dc7f933"}]},
🔰以上是当前安装SDK固件包所需的固件名和版本信息,具体的链接在json内容下面,本次提供的资源就是以上所需的文件资源。
🍁安装必要文件
- ✅当前最新的SDK固件包开发版本:
esp32-2.0.7 - 📌
https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esp32-2.0.7.zip
⛳编译工具链:xtensa-esp32-elf-gcc
-
- xtensa-esp32-elf-gcc
esp-2021r2-patch5-8.4.0 :https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa- esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip
- xtensa-esp32-elf-gcc
-
- xtensa-esp32s2-elf-gcc
esp-2021r2-patch5-8.4.0 :https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip
- xtensa-esp32s2-elf-gcc
-
- xtensa-esp32s3-elf-gcc
esp-2021r2-patch5-8.4.0:https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip
- xtensa-esp32s3-elf-gcc
-
- riscv32-esp-elf-gcc
esp-2021r2-patch5-8.4.0:https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip
- riscv32-esp-elf-gcc
-
- openocd-esp32:
https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip
- openocd-esp32:
-
- esptool_py(4.5)
https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-win64.zip
- esptool_py(4.5)
-
- mkspiffs(0.2.3) :
https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-win32.zip
- mkspiffs(0.2.3) :
-
- mklittlefs:
https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-w64-mingw32.mklittlefs-c41e51a.200706.zip
- mklittlefs:
-
- mkfatfs:
https://github.com/lorol/arduino-esp32fatfs-plugin/raw/master/extra/mkfatfs.zip

- mkfatfs:
- 🔧HFS搭建界面

📚资源文件(使用的是百度企业存储空间)
复制这段内容后打开百度网盘手机App,操作更方便哦
链接: https://pan.baidu.com/s/1l88Tospb5TytdC_svbzwUQ
提取码: ab79
相关文章:
基于Windows下离线安装当前最新Arduino ESP32 SDK(2.0.7)固件开发包
基于Windows下离线安装当前最新Arduino ESP32 SDK(2.0.7)固件开发包✨写这篇的文章的初衷,是由于在前几天想通过离线一键安装包方式实现升级安装,结果发现解压后,可以找到开发板,但是无法上传代码ÿ…...
Android 9.0 app添加校验锁(输入密码才能进入app)
1.概述 在9.0的系统rom定制化开发中,在一些产品开发中,需要对app启动校验密码,输入密码后,才可以进app,所以说对这种 开发需求,首先找到启动app的关键点以后,在加入限制app启动的弹窗,输入密码,密码正确后在进入app,实现流程 就是这样,接下来看如何实现的 2.app添加校…...
注意力机制详解系列(二):通道注意力机制
👨💻作者简介: 大数据专业硕士在读,CSDN人工智能领域博客专家,阿里云专家博主,专注大数据与人工智能知识分享。 🎉专栏推荐: 目前在写CV方向专栏,更新不限于目标检测、…...
动态规划-规划兼职工作
动态规划-规划兼职工作 一、问题描述 你打算利用空闲时间来做兼职工作赚些零花钱。这里有 n 份兼职工作,每份工作预计从 startTime 开始到 endTime 结束,报酬为 profit。给你一份兼职工作表,包含开始时间 startTime,结束时间 en…...
Redis学习笔记(二)Redis基础(基于5.0.5版本)
一、Redis定位与特性 Redis是一个速度非常快的非关系数据库(non-relational database),用 Key-Value 的形式来存储数据。数据主要存储在内存中,所以Redis的速度非常快,另外Redis也可以将内存中的数据持久化到硬盘上。…...
Ancaonda常用cmd命令总结
1) 查看以创建的虚拟环境: conda info --envs / conda env list 2) 激活创建的环境:conda activate xxx(虚拟环境名称) 3) 退出激活的环境:conda deactivate 4) 删除一个已有虚拟环境:conda remove --name(已创建虚拟…...
yolov5_reid【附代码,行人重识别,可做跨视频人员检测】
该项目利用yolov5reid实现的行人重识别功能,可做跨视频人员检测。 应用场景: 可根据行人的穿着、体貌等特征在视频中进行检索,可以把这个人在各个不同摄像头出现时检测出来。可应用于犯罪嫌疑人检索、寻找走失儿童等。 支持功能:…...
多模态预训练模型综述
经典预训练模型还未完成后续补上预训练模型在NLP和CV上取得巨大成功,学术届借鉴预训练模型>下游任务finetune>prompt训练>人机指令alignment这套模式,利用多模态数据集训练一个大的多模态预训练模型(跨模态信息表示)来解…...
华为OD机试题,用 Java 解【玩牌高手】问题
最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…...
数学建模 latex 图片以及表格排版整理(overleaf)
无论是什么比赛,图片和表格的格式都非常重要,这边的重要不只是指规范性,还有抓住评委眼球的能力。 那么怎样抓住评委的眼球? 最重要的一点就是善用图片和表格(当然撰写论文最重要的是逻辑,这个是需要长期…...
进程优先级(Linux)
目录 优先级VS权限 基本概念 查看系统进程 几个重要信息 PRI and NI PRI vs NI top命令 上限: 详细步骤 下限: 其他概念 优先级VS权限 权限:能or不能 优先级:已经能,但是谁先谁后的问题(CPU资源有…...
[面试直通版]网络协议面试核心之IP,TCP,UDP-TCP与UDP协议的区别
点击->计算机网络复习的文章集<-点击 目录 前言 UDP TCP 区别小总结 前言 TCP和UDP都是在传输层,在程序之间传输数据传输层OSI模型:第四层TCP/IP模型:第三层关键协议:TCP协议、UDP协议传输层属于主机间不同进程的通信传…...
VO,BO,PO,DO,DTO,AO的区别
DTO(Data Transfer Object)数据传输对象 这个传输通常指的前后端之间的传输 1.在前端的时候: 存在形式通常是js里面的对象(也可以简单理解成json),也就是通过ajax请求的那个数据体 2.在后端的时候&…...
JavaSE学习笔记day15
零、 复习昨日 HashSet 不允许重复元素,无序 HashSet去重原理: 先比较hashcode,如果hashcode不一致,直接存储如果hashcode值一样,再比较equals如果equals值为true,则认为完全一样,不存储即去重否则存储 如果使用的是空参构造创建出的TreeSet集合,那么它底层使用的就是自然排序,…...
Spring Security认证研究
1.项目中认证的三种方式: 1.统一认证 认证通过由认证服务向给用户颁发令牌,相当于访问系统的通行证,用户拿着令牌去访问系统的资源。 2.单点登录,对于微服务项目,因为包含多个模块,所以单点登录就是使得用户…...
BigKey、布隆过滤器、分布式锁、红锁
文章目录 BigKey发现 BigKey如何删除BigKeyunlinkdelBigKey配置优化布隆过滤器布隆过滤器构建、使用、减少误判布隆过滤器二进制数组,如何处理删除?实现白名单 whitelistCustomer解决缓存穿透分布式锁依赖Redis 分布式锁代码使用红锁POM依赖yaml使用其他redis分布式锁容错率公…...
一文让你彻底理解Linux内核调度器进程优先级
一、前言 本文主要描述的是进程优先级这个概念。从用户空间来看,进程优先级就是nice value和scheduling priority,对应到内核,有静态优先级、realtime优先级、归一化优先级和动态优先级等概念。我们希望能在第二章将这些相关的概念描述清楚。…...
Java 抽象类和接口
文章目录一、抽象类1. 抽象类定义2. 抽象类成员特点二、接口1. 接口概述2. 接口成员特点3. 类和接口的关系4. 抽象类和接口的区别5. 接口案例三、形参和返回值一、抽象类 1. 抽象类定义 在 Java 中,一个没有方法体的方法应该定义为抽象方法,而类中如果…...
三行代码让你的git记录保持整洁
前言笔者最近在主导一个项目的架构迁移工作,由于迁移项目的历史包袱较重,人员合作较多,在迁移过程中免不了进行多分支、多次commit的情况,时间一长,git的提交记录便混乱不堪,随便截一个图形化的git提交历史…...
阿里巴巴内网 Java 面试 2000 题解析(2023 最新版)
前言 这份面试清单是今年 1 月份之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘在 Java 技术栈中,还有一些知识点是我还在探索的,我想找到这些技术盲点,然后修复它,以此来提高自己的技术水平…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...
Mysql故障排插与环境优化
前置知识点 最上层是一些客户端和连接服务,包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念,为通过安全认证接入的客户端提供线程。同样在该层上可…...
云原生安全实战:API网关Envoy的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...
