加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1 Arduino生成bin文件
    • 2 bin文件燒錄
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

ESP32燒錄Arduino生成的bin文件

10/07 08:55
1.1萬
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

Arduino有著豐富的第三方庫,因此開發(fā)起來非常的方便快捷,但是在實(shí)際的生產(chǎn)中,我們不可能使用Arduino IDE來進(jìn)行固件的燒錄,因?yàn)槭褂肁rduino IDE燒錄效率很低,而且要先幫工廠把環(huán)境搭建好,更重要的是燒錄時(shí)必須要打開源代碼,這可能會(huì)導(dǎo)致工廠泄露機(jī)密。因此,最好的方案還是將代碼轉(zhuǎn)成通用的bin文件燒錄。

廢話不多說,馬上開始講解。

1 Arduino生成bin文件

關(guān)于Arduino的環(huán)境搭建,庫安裝這些我就不介紹了,都走到量產(chǎn)這一步了不會(huì)有人還不知道吧。

打開Arduino IDE,打開 項(xiàng)目 -> 導(dǎo)出已編譯的二進(jìn)制文件,等待編譯完成即可在工程目錄下生成相應(yīng)的bin文件。

在這里插入圖片描述

編譯成功后生成的bin文件:

在這里插入圖片描述

2 bin文件燒錄

2.1 下載燒錄工具

燒錄bin文件的時(shí)候我們需要用到樂鑫的flash燒錄工具。

工具可以在樂鑫官網(wǎng)下載:https://www.espressif.com/zh-hans/support/download/other-tools

在這里插入圖片描述

2.2 集齊MCU需要燒錄的固件

用Arduino IDE燒錄ESP8266、ESP32、ESP32-S2或者其他ESP系列的MCU時(shí)給我們的感覺是它僅僅燒錄了自己編寫的代碼以及底層支持庫。但實(shí)際上除了這些,還包含了啟動(dòng)文件,bootloader,sdk等。

因此,如果我們只燒錄Arduino生成的bin文件是無法正常運(yùn)行的。我們還需要找到另外幾個(gè)文件。

這幾個(gè)文件都在你安裝的開發(fā)板庫里面。比如你用的ESP32,那就是在esp32庫。

我這里以ESP32-S2為例講解,其他ESP系列的MCU也是一樣的。

首先我們要打開庫文件對應(yīng)的文件夾。

這個(gè)路徑可以在Arduino IDE的首選項(xiàng)里面看到。點(diǎn)擊一下這個(gè)路徑就可以彈出文件窗口。

在這里插入圖片描述
在這里插入圖片描述

在packages文件夾可以看到所有已安裝的開發(fā)板庫。比如我這里安裝了esp32和esp8266的庫。

在這里插入圖片描述

進(jìn)入相應(yīng)的庫,找到partitions和sdk這兩個(gè)文件夾。

在這里插入圖片描述
提示:我這個(gè)是esp32 v2.0.1版本的庫,其他MCU或者其他版本的庫文件框架可能會(huì)有區(qū)別,但是大體上應(yīng)該都是類似的。

1)第1個(gè)文件:boot_app0

在partitions文件夾里面。

在這里插入圖片描述

2)第2個(gè)文件:bootloader

在sdk文件夾里面。

特別說明一下:目前esp32是有3個(gè)MCU的sdk的,選擇自己要用的即可。我這里用的是esp32-s2。

在這里插入圖片描述

提示:dio、dout、qio和qout是spi的模式,40m和80m是flash的頻率,比較常用的是dio和40m。當(dāng)然,如果對性能有更高的要求可以選80m,在SPI作為主機(jī)時(shí)可以達(dá)到80MHz,但相應(yīng)的對硬件抗干擾能力也有更高的要求。

3)第3個(gè)文件:app
這個(gè)是你實(shí)際的應(yīng)用代碼,也就是用Arduino IDE生成的bin文件。

4)第4個(gè)文件:default
和第1個(gè)文件一樣,也是在partitions文件夾里面。

在這里插入圖片描述

2.3 燒錄固件

打開樂鑫的燒錄工具,選擇對應(yīng)的芯片和燒錄方式。
提示:ESP32-S2除了串口以外,還可以通過USB下載。

在這里插入圖片描述

依次添加燒錄文件,并填寫相應(yīng)的燒錄地址,配置好相應(yīng)的模式。

我這里還是以ESP32-S2為例。

在這里插入圖片描述

獲取燒錄文件地址的方法:這幾個(gè)地址可以在Arduino IDE燒錄時(shí)輸出的日志中找到。

在這里插入圖片描述

連接好硬件設(shè)備,并且進(jìn)入下載模式。

進(jìn)入下載模塊的方法:按住boot鍵,然后再按reset鍵,最后松開boot鍵?;蛘甙醋oot鍵之后再上電。只要保證MCU啟動(dòng)時(shí),boot腳是低電平即可。

在這里插入圖片描述

通過串口打印的信息可以確定是否已進(jìn)入下載模式。

進(jìn)入下載模式時(shí)可以看到以下信息:

在這里插入圖片描述

在燒錄工具上選擇好對應(yīng)的com口,配置好波特率(波特率越大,下載速度越快)。

提示:ESP32-S2除了串口以外,還可以通過USB下載,要先進(jìn)入下載模式才能檢測到USB對應(yīng)的com口,或者之前運(yùn)行的代碼有把USB配置成虛擬串口也可以看到對應(yīng)的com口。

點(diǎn)擊START開始燒錄。

提示:燒錄固件之前可以先全部擦除一遍。如果點(diǎn)擊開始燒錄之后才發(fā)覺MCU沒有進(jìn)入燒錄模式,也可以在這里進(jìn)入,進(jìn)入之后馬上就會(huì)開始燒錄了。

在這里插入圖片描述

等待下載完成后重啟一下即可。

結(jié)束語

好了,關(guān)于Arduino生成bin文件及燒錄方法的介紹就到這里。本文只列舉了ESP32-S2的情況,ESP8266和ESP32我也試過,也是一樣的,大家舉一反三即可。如果這篇文章對你有幫助,可以點(diǎn)贊收藏,如果還有什么問題,歡迎在評論區(qū)留言或者私信給我。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜