做兼职的设计网站有哪些/营销推广活动策划书模板
【PC电脑windows环境下-[jetson-orin-NX]Linux环境下-下载工具esptool工具使用-相关细节-简单样例-实际操作】
- 1、概述
- 2、实验环境
- 3、 物品说明
- 4-2、自我总结
- 5、本次实验说明
- 1、准备样例
- 2、设置芯片
- 3、编译
- 4、下载
- 5、验证
- (1)windows环境下进行烧写
- 1、下载软件
- 2、打开软件
- 3、相关选项
- 4、其它选项
- 5、进行下载
- 6、按下复位后,进行验证
- (2)Linux环境下进行烧写
- 1、下载软件
- 2、准备文件
- 3、相关命令
- 4、进行下载
- 5、功能验证
- 7、代码连接
- 8、相关细节
- (1)Windows 报错
- (2)Linux 下报错
- (3)Linux下pc环境配置
- 9、总结
1、概述
一般来说,我们编译的话,直接就下载到ESP32中,但是有时候我们可能需要反复下载或者工厂下载,一般来说不可能让调试代码的那台电脑去下载,像STM32有STM32 ST-LINK Utility和STM32CubeProgrammer这两种工具,那么esp32有没有,其实也有的,就是esptool。本次实验就是来熟悉这个工具,并且做的相关记录。
2、实验环境
硬件信息:开发板 ESP32-S3-DevKitM-1(EPS32-S3-wroom-1模块)
其它硬件:一个usb-type-c连接线。
软件环境:ESP-IDF 5.0 PowerShell 、vscode
3、 物品说明
ESP32对自己来说还是比较新的,最近也是刚刚接触,这里对自己使用ESP32进行简单说明。
博文链接:【在英伟达nvidia的jetson-orin-nx和PC电脑ubuntu20.04上-装配ESP32开发调试环境-基础测试】
上述单片机原理图。
文档链接:http://vcc-gnd.com:8080/yd-data/YD-ESP32-S3/5-public-YD-ESP32-S3-Hardware%20info/
另外如果对ESP32相关型号比较感兴趣,可以去官网查看,或者找些资。
官网文档:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitm-1.html
4-2、自我总结
自己认为有一条必须了解的是,ESP32每次下载需要下三个文件。
可能用习惯了STM32的惯性思维,因为STM32一般来说,只需要下一个bin文件,而ESP32是分开的,每次编译后的下载,其实ESP32都下了bootloader,app和parition_table三个文件。
1、Bootloader(引导加载程序):引导加载程序是位于ESP32芯片上的特殊固件,负责引导和初始化系统。它是在芯片上电时首先执行的代码,负责加载应用程序(app)和分区表等内容。
引导加载程序通常由ESP-IDF(ESP32开发框架)提供,或者您可以选择自定义引导加载程序。
引导加载程序的主要功能是加载应用程序和分区表,并将控制权传递给应用程序的入口点。
2、Application(应用程序):[添加链接描述](https://docs.espressif.com/projects/esptool/en/latest/esp32/esptool/basic-commands.html)应用程序是您开发的ESP32固件的主要部分,包含您自己编写的代码和功能。
应用程序通常是一个或多个源代码文件,实现了您的特定应用逻辑和功能。
应用程序文件通常被编译为可执行的固件映像(例如.bin或.elf文件),以便在ESP32上运行。
3、Partition Table(分区表):分区表是一个描述ESP32闪存中不同分区的配置文件,每个分区对应一个特定的用途和大小。
分区表定义了不同分区的起始地址、大小、类型等信息,并在烧录过程中确定了ESP32固件的存储布局。
分区表通常是一个用于描述分区的JSON文件,指定了不同分区的名称、大小和类型等信息
(1)参照官方文档
无论你看任何文档,有什么不懂时候,都非常建议看看官网文档是如何写,再来看他人的解释说明文章,你会明白很多,不个人感觉,官方文档有时候确实不容易看,要不我们为啥不直接看官网文档,而是看他人写的说明书呢。
官方文档链接:https://docs.espressif.com/projects/esptool/en/latest/esp32/esptool/basic-commands.html
github上链接:https://github.com/espressif/esptool/releases/tag/v4.6.2
另外发现CSDN也有相关官方博客:https://blog.csdn.net/espressif/article/details/105028809
这块开始不知道esp32需要下载三个文件,随便弄个工程app.bin,就烧进去了,使用命令。
esptool.py --port COM4 write_flash 0x1000 my_app-0x01000.bin
后来才知道要下三个。
(2)windows下使用esptool相关工具
Windows下有现成esptool的exe工具,直接打开直接就能使用,只要选择算在算对就行。
(3)linux下也是用esptool相关工具
主要是需要安装,然后使用时候,注意烧写三个文件,所以我们需要将相关文件拿出来。
5、本次实验说明
我们将选择一个简单样例,一个串口打印程序,然后直接将相关文件进行烧写,分别在两种环境下,使用工具。
- windows
- linux
1、准备样例
我们需要准备一个简单样例,来完成本次实验。直接使用之前建立的模helloworld版样例
2、设置芯片
这里因为之前设置过了,如果你使用芯片不一样,可以重新设置下,vscode下如下图,
或者使用命令,
idf.py set-target esp32s3
3、编译
编译如下
或者使用命令行
idf.py build
编译完成如下
4、下载
使用命令行
命令行根据自己的设备端口
idf.py -p com6 flash
如果报错没有这个端口,可以重置下ESP32,进入下载模式。
如下图为自己其它文章寻找串口方式,就不重复造轮子了。
博文链接:【PC电脑windows-学习样例tusb_serial_device-ESP32的USB模拟串口程序+VScode建立工程+usb组件添加±基础样例学习】
或者如下vscode
5、验证
vscode还是挺强的,知道连串口软件都不用打开了
如此我们就准备好了样例。
(1)windows环境下进行烧写
1、下载软件
随着文档更新,以后版本可能不一样,但是大致还是这个工具。
文档链接:https://www.espressif.com.cn/en/support/download/other-tools
2、打开软件
下载之后,就是这个软件了,直接运行。
如下为软件打开后样子,选择我们自己相关型号。
3、相关选项
(1)boot文件选择,并选择后面选择烧写位置“0x0”
(2)app文件选择,并选择后面选择烧写位置“0x10000”
(3)分区表文件选择,并选择后面选择烧写位置“0x8000”
4、其它选项
5、进行下载
然后点击START,进行下载
注意只有下边有绿色进度条时,才算下载了,自己实际弄的时候,发现没有动。
6、按下复位后,进行验证
如此Windows下就验证完毕了。
(2)Linux环境下进行烧写
现在切到linux环境下,自己一个pc,因为还没有装工具,正好验证下,jetson orin因为已经装完了,可以用了,可能反而发现不了文档。参考CSND官方文章。
博文链接:https://blog.csdn.net/espressif/article/details/105028809
结果验证半天,PC的Linux 环境都没能成功,有点小尴尬。
这块后续可能再写个文章再说吧,直接在jetson下演示。
1、下载软件
在jetson 下,记得在如下进行下载。
如下,具体安装确实有点忘记了,以下是当时运行相关命令。
装成功后,使用命令可以查看。
2、准备文件
我们先验证下,使用串口软件,看看是哪个串口,一会方便烧写
如下就是我们需要准备的bin文件,就是之前Windows烧写那三个
3、相关命令
以下就是烧写的命令了,要烧写3个文件
esptool.py --port /dev/ttyACM0 write_flash 0x0 bootloader.bin 0x10000 app-template.bin 0x8000 partition-table.bin
以下是擦除命令
esptool.py -p /dev/ttyACM0 erase_flash
4、进行下载
5、功能验证
在windows下验证或者Linux下验证,使用串口软件链接debug串口,如下为win环境验证。
7、代码连接
(1)esp串口样例
代码链接:https://download.csdn.net/download/qq_22146161/88482930
8、相关细节
(1)Windows 报错
下载的时候卡着,那我需要重启软件,然后按住boot键,然后是rst键,在撒开boot键,重新下载。
(2)Linux 下报错
端口占用,关掉串口软件
(3)Linux下pc环境配置
确实遇到点问题,安装有点问题,后期有时间补下。
9、总结
保持初心
相关文章:

【PC电脑windows环境下-[jetson-orin-NX]Linux环境下-下载工具esptool工具使用-相关细节-简单样例-实际操作】
【PC电脑windows环境下-[jetson-orin-NX]Linux环境下-下载工具esptool工具使用-相关细节-简单样例-实际操作】 1、概述2、实验环境3、 物品说明4-2、自我总结5、本次实验说明1、准备样例2、设置芯片3、编译4、下载5、验证 (1)windows环境下进行烧写1、下…...

什么是flink
flink的起源 Flink的起源可以追溯到2010年,当时它作为一个研究项目开始。该项目最初由德国柏林工业大学(Berlin Institute of Technology)的一群研究人员发起,包括Matei Zaharia、Kostas Tzoumas和Stephan Ewen等。 项目最初被称为…...

基于 VTable 的多维数据展示的原理与实践
多维表格介绍 多维表格又名透视表、交叉表、Pivot Table,指的是可以在行维度和列维度放入一个或多个维度,显示维度之间相互关系的一种表格。用户可以一目了然地分析出各种场景指标以及对比,旨在帮助业务分析推动决策。 假设需要分析如下表格…...

为什么有了MAC地址,还需要IP地址?
解释 搞懂这个问题,首先需要了解交换机的功能 交换机内部有一张MAC地址映射表,记录着MAC地址和端口的对应关系。 如果A要给B发送一个数据包,构造如下格式的数据结构: 到达交换机时,交换机内部通过自己维护的 MAC 地…...

Eclipse开发环境的安装与配置
Eclipse开发环境的安装与配置 1.Eclipse安装与配置 1.将JDK与Eclipse这两个软件安装包放在一个文件夹下,方便之后安装使用。 2.安装JDK 在D:LeStoreDownload\java文件夹下另外新建三个文件夹分别命名为java、jdk和eclipse(分别用于Java、j…...

《006.Springboot+vue之旅游信息推荐系统》【有文档】
《006.Springbootvue之旅游信息推荐系统》【有文档】 项目简介 [1]本系统涉及到的技术主要如下: 推荐环境配置:DEA jdk1.8 Maven MySQL 前后端分离; 后台:SpringBootMybatis; 前台:vueElementUI; [2]功能模块展示: …...

LangChain+LLM实战---使用知识图谱和大模型来实现多跳问答
原文:Knowledge Graphs & LLMs: Multi-Hop Question Answering 可以使用检索增强方法来克服大型语言模型(Large Language Models, llm)的局限性,比如幻觉和有限的知识。检索增强方法背后的思想是在提问时引用外部数据,并将其提供给LLM&a…...

【实践篇】一次Paas化热部署实践分享 | 京东云技术团队
前言 本文是早些年,Paas化刚刚提出不久时,基于部门内第一次Paas化热部署落地经验所写,主要内容是如何构建一些热部署代码以及一些避雷经验。 一、设计-领域模型设计 1.首先,确定领域服务所属的领域 2.其次,确定垂直…...

蓝桥杯官网填空题(算式问题)
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 看这个算式: ☆☆☆ ☆☆☆ ☆☆☆ 如果每个五角星代表 1 ~ 9 的不同的数字。 这个算式有多少种可能的正确填写方法? 173 286 459 …...

Verilog HDL语言基础知识
目录 Verilog HDL语言基础知识 6.1.2 Verilog HDL模块的结构 6.1.3 逻辑功能定义 6.2.1 常量 6.3 运算符及表达式 6.4.2 条件语句 Verilog HDL语言基础知识 先来看两个Verilog HDL程序。 例6.1 一个8位全加器的 Verilog HDL源代码 module adder8(cout,sum,ina,…...

11.1~11.2数电实验一些点+11.4~11.5报错复盘
方框写在前面是说这个数有多大,写在后面是说这类数有多少 前面的用于计数,每位无实际意义;后面每位都代表一个同类型的,即数组,每位有实际意义 使用四位格雷码作为深度为8的FIFO的读写指针 将格雷码转换成四位二进制…...

从电脑的角度,探究被强制删除的文件的去向和恢复方法!
当我们在进行电脑操作的时候,由于一些原因,我们可能会误操作,将电脑里面的某些文件强制删除掉。有的时候,我们误以为这些文件已经彻底消失了,但实际上这些被删除的文件只是被隐藏了,它们并没有真正离开我们…...

淘宝、天猫电商平台商品详情最低价skuid爬取、各类sku信息调取
淘宝商品描述详细信息API接口是一个用于获取淘宝商品详细信息的API,通过它可以获取到商品的标题、价格、图片等信息。通过淘宝商品描述详细信息API接口,开发者可以方便地获取宝贝的相关信息,并将它们用于各种应用场景中。淘宝商品描述详细信息…...

C/S架构学习之组播
组播:过多的广播会占用网络带宽,产生广播风暴的现象,从而影响正常的通信活动;组播(或者多播)是局域网内部的通信,只有加入到某个多播组的主机才能收到数据;组播的方式既可以发给多个…...

vue package.json Script配置讲解
Vue 项目的 scripts 配置如下: "scripts": {"dev": "vite --force","build": "vite build","build:docker": "vite build --outDir ./docker/dist/","lint:eslint": "eslin…...

wagtail的使用
文章目录 安装虚拟环境新建项目时指定虚拟环境打开已有项目添加虚拟环境 安装wagtail查看安装后的包 创建wagtail项目安装依赖迁移创建超级用户运行项目 管理工作台内容扩展首页的数据模型更新数据库修改模板页创建一个页面的过程 models中的基本字段templates字符型文本字段富…...

【JavaScript】零碎知识点总结_2
1. 引入网站图标 可以直接放在根目录 还可以 link 引入(推荐) <linkrel"shortcut icon"href"./assets/favicon.ico"type"image/x-icon">2. 转换为数字 123 -> 123 除 做字符串拼接,算术运算符都…...

P1182 数列分段 Section II 题解
文章目录 题目描述输入格式输出格式样例样例输入样例输出 数据范围与提示完整代码 题目描述 对于给定的一个长度为N的正整数数列 A 1 ∼ N A_{1\sim N} A1∼N,现要将其分成 M M M( M ≤ N M\leq N M≤N)段,并要求每段连续&am…...

vscode1.83远程连接失败
(报错信息忘记截图了 总之卡在vscode-server.tar.gz的下载那里,一直404,删了C:\Users\Administrator\.ssh\known_hosts也不管用 看了一下vscode1.83的commitID为a6606b6ca720bca780c2d3c9d4cc3966ff2eca12,网友说可以通过以下网…...

Leetcode-141 环形链表
使用HashSet,从头遍历链表并写入哈希表,遍历每个元素找哈希表是否出现过,如果出现过则存在环。 HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的,即不会记录…...

深入了解汽车级功率MOSFET NVMFS2D3P04M8LT1G P沟道数据表
汽车级功率MOSFET是一种专门用于汽车电子领域的功率MOSFET。它具有高电压、高电流、高温、高可靠性等特点,能够满足汽车电子领域对功率器件的严格要求。汽车级功率MOSFET广泛应用于汽车电机驱动、泵电机控制、车身控制等方面,能够提高汽车电子系统的效率…...

C 作用域规则
任何一种编程中,作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问。C 语言中有三个地方可以声明变量: 在函数或块内部的局部变量在所有函数外部的全局变量在形式参数的函数参数定义中 让我们来看看什么是局部变量、全局变…...

Go中第一类函数
什么是第一类函数? 支持第一类函数的语言允许将函数分配给变量,作为参数传递给其他函数,并从其他函数返回。Go 支持第一类函数。 在本教程中,我们将讨论第一类函数的语法和各种用例。 匿名函数 让我们从一个简单的例子开始&am…...

Linux内核分析(五)--IO机制原理与系统总线
目录 一、引言 二、I/O设备 ------>2.1、块设备 ------>2.2、字符设备 ------>2.3、设备控制器 ------------>2.3.1、I/O寻址 ------------>2.3.2、内存映射 I/O 三、系统总线 ------>3.1、数据总线 ------>3.2、地址总线 ------>3.3、控制…...

oracle-sql语句执行过程
客户端输入sql语句。 sql语句通过网络到达数据库实例。 服务器进程(server process)接收到sql语句。 sql – 解析成执行计划,然后sql才能执行。 会将sql和sql的执行计划缓存到共享池中。解析: 会消耗很多资源。 从数据库找数据,先从buffer cache中找&a…...

京东数据分析:2023年9月京东打印机行业品牌销售排行榜
鲸参谋监测的京东平台9月份打印机市场销售数据已出炉! 鲸参谋数据显示,今年9月,京东平台打印机的销量为60万,环比增长约32%,同比下滑约25%;销售额为5亿,环比增长约35%,同比下滑约29%…...

Flutter 自签名证书
前言 Flutter项目中服务器使用了自签名证书,如果直接使用https请求或者wss请求的话会报证书签名错误。 HandshakeException: Handshake error in client (OS Error: I/flutter (28959): │ 💡 CERTIFICATE_VERIFY_FAILED: unable to get local issuer c…...

观察者模式——解决解耦的钥匙
● 观察者模式介绍 观察者模式是一个使用频率非常高的模式,它最常用的地方是GUI系统、订阅——发布系统。因为这个模式的一个重要作用就是解耦,将被观察者和观察者解耦,使得它们之间依赖性更小,甚至做到毫无依赖。以CUI系统来说&a…...
MATLAB和西门子SMART PLC UDP通信
MATLAB和SMART PLC的OPC通信请参考下面文章链接,这里不再赘述: MATLAB和西门子SMART PLC OPC通信-CSDN博客文章浏览阅读661次,点赞26次,收藏2次。西门子S7-200SMART PLC OPC软件的下载和使用,请查看下面文章Smart 200PLC PC Access SMART OPC通信_基于pc access smart的o…...

打造高效运营底座,极智嘉一体化软件系统彰显科技威能
在仓储成本和物流需求日益增加的今天,创新且高效的物流机器人解决方案能够显著提升物流运营效率,降低物流成本,实现智能化、精益化、一体化的物流管理。全球仓储机器人引领者极智嘉(Geek)以「一套系统,天生全能」为准则࿰…...