ESP32S3 多固件燒錄方法、合并多個固件為單一固件方法

ESP32S3 多固件燒錄方法、合并多個固件為單一固件方法


文章目錄

  • ESP32S3 多固件燒錄方法、合并多個固件為單一固件方法
  • 前言
  • 1、前期準備工作
  • 2、多固件燒錄方法
  • 3、單固件燒錄方法
  • 總結


前言

使用正點原子的ESP32S3 BOX開發板獨立燒錄編譯生成的xxx.bin固件無法正常運行起來,因為如果沒有經過特殊處理直接下載單一固件,程序是不會正確運行的,必須添加多個固件才可以運行。即單獨燒錄工程編譯生成的固件程序是不會運行的,需要同時燒錄其它輔佐的固件才可以,比如另外的bootloader.bin、partition-table.bin 等,至于為什么要這樣,可以自行學習,這里不展開描述。

本文就以一個簡單的例子來操作演示,只要掌握了該方法,其它的工程或燒錄固件方法都一樣的,舉一反三。

在這里插入圖片描述

1、前期準備工作

第一步:首先解壓一個(圖片顯示)實驗例程到桌面,當然,工程存放在其它英文路徑下也是可以的,不要含有中文路徑即可,如下圖:

在這里插入圖片描述

第二步:雙擊打開工程文件夾,鼠標右鍵空白區域選擇以通過VS Code 打開工程。

在這里插入圖片描述

第三步:編譯工程。

打開VS Code 主界面后,在左下方找到一個扳手的圖標,點擊編譯工程。

注意:左下角會有一個IDF版本的選擇,要IDF版本和你工程的版本一致,點擊就可以在頂部搜索框下面選擇對應工程版本的,我打開的是5.4的版本,所以就選擇這個,能選多個版本的前提是你已經提前安裝了多個版本的IDF。如果版本不對應,可能會導致運行異常的,如果下載后發現不合理就看看是否是這里的版本問題導致的。

在這里插入圖片描述

如果打開工程后無法自動匹配IDF版本,那么就會顯示xxx的,此時就需要手動選擇一個對應的版本了,不然是無法進行編譯的。

編譯完后提示信息如下圖:

在這里插入圖片描述

可以看到編譯結果有3個xx.bin文件,如下圖:

在這里插入圖片描述
注意,不同功能代碼所包含的bin數量就會不一樣。

第四步:接著打開工程文件夾,可以看到比之前多了一個build文件夾,里面就用來存放編譯生成的固件的。

在這里插入圖片描述

進去build文件夾后如下圖:

在這里插入圖片描述
三個固件就存放在里面。

第五步:打開固件燒錄工具:flash_download_tool_3.9.2。

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述


2、多固件燒錄方法

打開固件燒錄軟件以后,添加工程編譯生成的3個固件和對應地址。忘記了具體地址是多少的可以回到IDE查看的。

在這里插入圖片描述

按圖片標號順序依次設置完成后,點擊START按鈕開始固件燒錄。

注意COM要和板子的端口一致才能正常燒錄,如果不知道具體是多少,可以到電腦設備管理器里面端口看到具體COM幾的,沒安裝過驅動的那么就要先安裝一次串口驅動。

在這里插入圖片描述

燒錄完成后,按一次開發板的復位按鍵即可啟動程序看現象了。

說明一下,如果單純的添加22_pitures.bin固件進行燒錄的話,程序是無法正常運行,可以自己驗證測試一次就明白了。

3、單固件燒錄方法

在前面多固件燒錄的基礎上將多個固件合成一個固件進行燒錄。按下圖標號順序設置參數。

在這里插入圖片描述

如果沒有自己操作的情況下,工具自己會合成一個固件的,路徑是flash_download_tool_3.9.2\combine\target.bin。你下載一次后,這個target.bin就被覆蓋你當前合成的固件了,直接下載就可以用了。

當點擊CombineBin按鈕后,工具會默認打開燒錄工具的路徑,里面是這個target.bin文件了,(該步驟可選,工具默認完成的)。

如果有特殊需求可以選其它的路徑或名字生成。

在這里插入圖片描述

接著直接添加該固件,地址填0x0即可進行燒錄了。

在這里插入圖片描述

注意:如果燒錄固件還是無法運行,那么就看看這個固件生成的時間是否合理的,失敗的話可以重新操作一次,只要代碼正常一般基本上生成也是沒問題的。

燒錄完成后按一次復位按鍵即可運行程序了。


總結

ESP32用燒寫工具進行固件燒錄是比較簡單的,需要注意的就是添加位置相關固件,不能只下載一個實驗bin固件,不然是無現象的,注意這個問題就沒其它錯誤的地方了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904158.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904158.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904158.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Webug4.0靶場通關筆記10- 第14關鏈接注入

目錄 第14關 鏈接注入 1.打開靶場 2.源碼分析 3.滲透實戰 (1)方法1:跳轉外部網頁 (2)方法2:獲取cookie 4.漏洞防御 本文通過《webug靶場第14關 鏈接注入》來進行滲透實戰。 第14關 鏈接注入 鏈接注…

SpringBoot的汽車商城后臺管理系統源碼開發實現

概述 汽車商城后臺管理系統專為汽車4S店和經銷商設計,提供全面的汽車管理系統解決方案。 主要內容 1. 核心功能模塊 系統提供以下主要功能: ??銷售管理??:記錄銷售信息,跟蹤交易進度??客戶管理??:維護客戶…

VBA代碼解決方案第二十四講:EXCEL中,如何刪除重復數據行

《VBA代碼解決方案》(版權10028096)這套教程是我最早推出的教程,目前已經是第三版修訂了。這套教程定位于入門后的提高,在學習這套教程過程中,側重點是要理解及掌握我的“積木編程”思想。要靈活運用教程中的實例像搭積木一樣把自己喜歡的代碼…

日本IT行業|salesforce開發語言占據的地位

在日本的IT行業中,Salesforce 開發語言處于一個較為專業但穩步增長的細分領域,并不是主流開發語言(如 Java、Python、PHP),但其在某些行業和場景中地位越來越重要。 本篇以下是詳細分析: Salesforce開發語言…

前端開發,文件在鏡像服務器上不存在問題:Downloading binary from...Cannot download...

問題與處理策略 問題描述 在 Vue 項目中,執行 npm i 下載依賴時,報如下錯誤 Downloading binary from https://npm.taobao.org/mirrors/node-sass//v4.14.1/win32-x64-72_binding.node Cannot download "https://npm.taobao.org/mirrors/node-sa…

基于Vue2 + Element 實現任務列表管理功能的詳細教程

前言:本文介紹的是如何從0開始搭建Vue2項目到1實現對任務添加、刪除和篩選的功能,🔗 相關鏈接Vue 入門(安裝與應用超詳細教程) ? 【作者主頁—📚閱讀更多優質文章、獲取更多優質源碼】 目錄 一 . 項目搭建 1.1 安裝node.js 1.…

【PostgreSQL數據分析實戰:從數據清洗到可視化全流程】1.4 數據庫與表的基本操作(DDL/DML語句)

👉 點擊關注不迷路 👉 點擊關注不迷路 👉 點擊關注不迷路 文章大綱 1.4 數據庫與表的基本操作(DDL/DML語句)1.4.1 數據庫生命周期管理(DDL核心)1.4.1.1 創建數據庫(CREATE DATABASE&…

Fabrice Bellard(個人網站:?bellard.org?)介紹

Fabrice Bellard 是法國人,國際著名程序員。1972年生于法國Grenoble,大學就讀于巴黎高等綜合理工學院,后在國立巴黎高等電信學院攻讀。 Fabrice Bellard(個人網站:?bellard.org?)是計算機領域最具影響力…

USB布局布線

1USB簡介 USB是通用串行總線的英文縮寫,是連接外部裝置的一個串口總線標準,也是一種輸入輸出接口的技術規范,被廣泛地應用于個人電腦和移動設備等信息通迅產品,并擴展到攝影器材,數字電視(機頂盒&#xff0…

【數據結構】線性表--鏈表

【數據結構】線性表--鏈表 一.前情回顧二.鏈表的概念三.鏈表的實現1.鏈表結點的結構:2.申請新結點函數:3.尾插函數:4.頭插函數:5.尾刪函數:6.頭刪函數:7.在指定結點之前插入:8.在指定結點之后插…

Mybatis-plus代碼生成器的創建使用與詳細解釋

Mybatis-plus代碼生成器的創建使用與詳細解釋 一、代碼生成器概述 1. 定義(什么是代碼生成器) 在軟件開發過程中,存在大量重復性的代碼編寫工作,例如實體類、Mapper 接口、Service 接口及實現類等。代碼生成器就是為了解決這類問題而誕生的工具。MyBa…

drawDB:打造高效數據庫設計流程

drawDB:打造高效數據庫設計流程 drawDB 簡介資源鏈接 核心功能詳解1. 直觀的實體關系圖設計2. SQL 腳本生成3. SQL 導入功能4. 本地化存儲與分享功能5. 自定義主題與外觀 安裝和使用教程本地開發環境搭建構建生產版本Docker 部署基本使用方法 應用場景和實際價值適用…

基于 ESP32 和 GC9D01 0.71寸TFT屏幕的逼真眼睛與寫輪眼動態顯示

近期,我利用 ESP32 和 GC9D01 0.71’TFT 進行了一次有趣的顯示項目開發,成功實現了在該小尺寸屏幕上繪制逼真眼睛和寫輪眼的效果。 硬件準備 主控板 :ESP32,具備強大的處理能力和豐富的接口資源,能夠高效地處理圖像數…

LeetCode58_最后一個單詞的長度

LeetCode58_最后一個單詞的長度 標簽:#字符串Ⅰ. 題目Ⅱ. 示例 0. 個人方法 標簽:#字符串 Ⅰ. 題目 給你一個字符串 s,由若干單詞組成,單詞前后用一些空格字符隔開。返回字符串中 最后一個 單詞的長度。 單詞 是指僅由字母組成、…

論文閱讀:MAXIM Multi-Axis MLP for Image Processing

這是 2022 CVPR 上的一篇文章,介紹了用 MLP 做 low-level 圖像處理的工作 Abstract 近年來,Transformer 和多層感知機(MLP)模型的發展為計算機視覺任務提供了新的網絡架構設計。盡管這些模型在圖像識別等許多視覺任務中已被證明…

PostgreSQL初試

文章目錄 1 PostgreSQL 簡介2 PostgreSQL 與 MySQL 的區別3 PostgreSQL 的安裝1_Linux部署2_容器化部署 4 PostgreSQL的配置1_遠程連接配置2_配置數據庫的日志3_設置數據庫密碼 5 PostgreSQL 基本操作1_用戶操作2_權限操作3_創建一個自己的用戶4_差異補充 6 安裝圖形化界面1_使…

Fortran語言,do-end do循環,相互包含測試,自動性能優化

1)上代碼 !$omp parallel private(n, j, dx, dy, dz, r, a)do n 1, nsteps!$omp dodo i 0, nparticles - 1x_tmp(i) x(i) vx(i) * dty_tmp(i) y(i) vy(i) * dtz_tmp(i) z(i) vz(i) * dtdo j 0, nparticles - 1dx x(j) - x(i)dy y(j) - y(i)dz z(j) - z(…

Cona編譯問題

問題描述 Clion 使用conan插件配置了C工程,然后想通過命令行進行編譯執行。 出現以下錯誤 CMake Error at /usr/local/Cellar/cmake/3.30.1/share/cmake/Modules/CMakeDetermineSystem.cmake:152 (message):Could not find toolchain file: conan_toolchain.cmake…

Qt實現 hello world + 內存泄漏(5)

文章目錄 實現hello world的兩種方式通過圖形化的方式通過純代碼的方式1. 新老頭文件的說明2.堆或棧上創建對象的選擇3.QString的說明 內存泄漏問題 實現hello world的兩種方式 通過圖形化的方式 通過圖形化的方式,在界面上創建出一個控件,顯示出hello …

【翻譯、轉載】【譯文】模型上下文協議(Model Context Protocol, MCP)簡介

原文地址: https://michaelwapp.medium.com/model-context-protocol-mcp-an-introduction-guide-25736f3dd672 在人工智能和 AI 驅動應用日新月異的格局中,一種與大型語言模型(LLM)交互的新方式正在興起。隨著 AI 智能體&#x…