国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ESP32-S3 搭建 micropython 開發(fā)環(huán)境,固件編譯,燒錄

番茄西紅柿 / 3882人閱讀

摘要:環(huán)境搭建環(huán)境搭建系列芯片的開發(fā)絕大部分都是經(jīng)由樂鑫科技提供的軟件開發(fā)工具包來進(jìn)行的,也需要應(yīng)用此。如果是使用樂鑫科技官方的下載工具在平臺則可以直接通過芯片接口將固件燒錄進(jìn)。

簡述

上手了一塊樂鑫科技官方推出的ESP32-S3-DevKitC-1開發(fā)板,發(fā)現(xiàn) ESP32-S3 的綜合性能較比前兩代有著非常明顯的提升,wifi與藍(lán)牙功能,更充足的外設(shè)擴(kuò)展能力,可以看出其在未來物聯(lián)網(wǎng)開發(fā)應(yīng)用中將占有更大的地位與應(yīng)用場景。

micropython實(shí)現(xiàn)了大部分python 3 特性和語法,易學(xué)易上手,驗(yàn)證程序效果無需編譯直接下載進(jìn)芯片運(yùn)行。有python基礎(chǔ)的自然知道好用,沒python基礎(chǔ)的,上手難度也絕對遠(yuǎn)低于其他編程語言,在開源社區(qū)有多年積累的豐富資源,代碼易讀性高,理解快,就如同python一樣擁有極強(qiáng)的生命力與應(yīng)用價值。

micropython團(tuán)隊(duì)在GitHub上的代碼維護(hù)是很積極的,芯片支持,功能更新,BUG修復(fù),所以掌握自行編譯最新的micropython固件是很有必要的。

在此總結(jié)一番 micropython 開發(fā)環(huán)境的搭建,ESP32-S3 的固件編譯,燒錄的一整套流程,以便大家上手應(yīng)用。

Linux

Linux系統(tǒng)目前對于 micropython 來說是必須的。

如果已經(jīng)有在用的Linux系統(tǒng)就可直接進(jìn)行后續(xù)步驟,如果正在使用Windows系統(tǒng)則推薦一條上手Linux最便利的路徑,安裝VMware虛擬機(jī)+Ubuntu系統(tǒng)

其他上手Linux的方法多不勝數(shù),各種虛擬機(jī),各色Linux發(fā)行版本百花齊放,但若說目前最低門檻我認(rèn)為就是這條,僅需在搜索引擎里搜索 VMware Ubuntu 即可獲取很成熟的配置經(jīng)驗(yàn)與資源。

關(guān)于軟件本體及系統(tǒng)鏡像文件建議直接從各自的官方網(wǎng)站上獲取,安全可靠。

esp-idf環(huán)境搭建

ESP32系列芯片的開發(fā)絕大部分都是經(jīng)由樂鑫科技提供的SDK軟件開發(fā)工具包 esp-idf 來進(jìn)行的, micropython 也需要應(yīng)用此SDK。

可以直接參考樂鑫科技的 esp-idf中文快速入門指南 來搭建。

以下是簡要匯總。

首先需要在home目錄下創(chuàng)建一個文件夾。

打開一個 Terminal 終端 輸入以下命令創(chuàng)建文件夾:

mkdir -p ~/esp

進(jìn)入這個文件夾:

cd ~/esp

輸入以下兩個命令之中的一個,從github上克隆esp-idf到這個文件夾里,建議用后面一個命令,--depth=1命令可以使得克隆時不用獲取歷史提交(commit),對于這樣一個大型項(xiàng)目來說可以極大減少下載時間。將https替換為git則有可能解決各種下載失敗的問題,如何還是不行則需要再另尋他方,網(wǎng)絡(luò)疑難雜癥容易使人頭疼腦熱:(

git clone --recursive https://github.com/espressif/esp-idf.git
git clone --recursive git://github.com/espressif/esp-idf.git --depth=1

進(jìn)入esp-idf文件夾:

cd ~/esp/esp-idf

輸入以下命令安裝 ESP-IDF 使用的各種工具,比如編譯器、調(diào)試器、Python 包等,可以一次多帶帶只為一個芯片型號配置,如 ./install.fish esp32s3 ,建議直接用以下命令全部安裝,一勞永逸:

./install.sh all

如果遭遇網(wǎng)絡(luò)問題,多次嘗試無果后,也可以試試替換下載源到 Espressif 下載服務(wù)器:

cd ~/esp/esp-idfexport IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"./install.sh all

倉庫克隆和工具安裝都弄好后,在需要運(yùn)行 ESP-IDF 的終端窗口運(yùn)行以下命令即可,例如在micropython開始編譯之前就必須要使其運(yùn)行起來:

. $HOME/esp/esp-idf/export.sh

運(yùn)行后輸入命令idf.py --help可以查看幫助,idf.py --version查看當(dāng)前版本,idf.py --list-targets檢查當(dāng)前支持的芯片型號。

在Ubuntu中為esp-idf創(chuàng)建快捷命令

用命令來打開文件并修改對于不熟悉linux的生手來說還需要多加學(xué)習(xí)和適應(yīng),我們可以利用好 Ubuntu 比較完善的圖形化操作界面,如同在windows里修改文件一般來修改linux里的文件,為esp-idf創(chuàng)建快捷命令。

在Ubuntu桌面打開home文件夾(一般它的名字是你的用戶名),在右上角的選項(xiàng)欄中開啟顯示隱藏文件。

image

雙擊這個.bashrc文件,即可用文本編輯器打開它。

在其最后一行,輸入以下命令并保存文件。

# get run esp-idf alias get_idf=. /home/wind/esp/esp-idf/export.sh

image

打開一個終端,輸入以下命令使之生效:

source ~/.bashrc

以后在任何終端中輸入以下命令即可運(yùn)行ISP-IDF:

get_idf

這比前文提到的要容易記憶很多,也可以自行替換成任何與其他命令不沖突的命令文本來使用。

micropython環(huán)境搭建

可以直接參考GitHub:micropython/port/esp32中的描述來搭建,以下是中文簡述,不想看英文的可以參考一下。

克隆micropython倉庫到本地,我選擇在esp文件夾中再創(chuàng)建一個mpy文件夾來放置。

在一個終端中打開要放置micropython的文件夾:

cd ~/esp/mpy

輸入以下命令克隆倉庫:

git clone git://github.com/micropython/micropython --depth=1

進(jìn)入micropython目錄中:

cd micropython/

先輸入以下命令編譯一下 mpy-coress ,這是為了構(gòu)建MicroPython交叉編譯器,以便將一些內(nèi)置腳本預(yù)編譯為字節(jié)碼,這只需要做一次:

make -C mpy-cross

再打開ESP32的目錄:

cd ports/esp32

輸入以下命令初始化子模塊,這只需要做一次:

make submodules

固件編譯

確認(rèn)ESP-IDF已經(jīng)運(yùn)行后,在ports/esp32目錄中可以立即輸入以下命令嘗試編譯一個默認(rèn)設(shè)置的ESP32的micropython固件出來:

make

一切順利的話會在此目錄中出現(xiàn)一個build-GENERIC文件夾,且內(nèi)涵一個firmware.bin文件,這就是適用于ESP32芯片的micropython固件。

如果并不順利,需要先檢查ESP-IDF是否啟動,檢查ESP-IDF是否是最新版,檢查ESP-IDF所用相關(guān)工具是否都安裝完備,極大部分問題都是由于ESP-IDF或其相關(guān)工具出問題所導(dǎo)致的。

選擇linux系統(tǒng)也有考慮這部分原因,ESP-IDF在linux系統(tǒng)中配置起來最輕松穩(wěn)定不容易產(chǎn)生各種疑難雜癥。

確認(rèn)可以正常編譯后,就可以開始做ESP32-S3芯片的固件編譯了。

ports/esp32目錄可以找到一個Makefile文件,前文中make命令就是直接執(zhí)行其內(nèi)部的命令,打開它進(jìn)行編輯。

image

第6行設(shè)置要編譯的型號,此處改成GENERIC_S3即可設(shè)置為ESP32S3了,此時保存文件后就可以去終端用make命令開始編譯。

image

關(guān)于此Makefile文件,我們可以稍微再了解得細(xì)致一些,以便后續(xù)自行修改與使用。

第6行BOARD ?=指向的是ports/esp32/boards目錄下的文件夾名稱,打開后可以看到已經(jīng)有不少micropython官方支持的板型,在 BOARD ?=后面填入對應(yīng)板型的文件夾名即可在終端使用make命令編譯適用于對應(yīng)板型的固件。

image

第12行PORT ?=用于設(shè)置將要燒錄固件的設(shè)備接口。

第13行BAUD ?=用于設(shè)置波特率,這將改變燒錄速度,也可能對燒錄穩(wěn)定性有影響。

建議在第33行下面增加一行代碼,這將在每次使用make命令編譯時,在最開始將應(yīng)用ESP-IDF的idf.py menuconfig命令打開工程配置窗口,方便調(diào)整芯片的各項(xiàng)功能,在以后熟悉修改工程配置文件后可以刪除此行,如果編譯時不需要修改配置也可以直接按一下鍵盤的esc鍵退出,后續(xù)將自動完成編譯。

idf.py $(IDFPY_FLAGS) menuconfig

image

image

第44行后面的代碼比較容易直觀理解,例如在終端中使用make clean命令等同于idf.py fullclean命令,完全刪除工程文件夾內(nèi)的所有文件。

固件燒錄

對于ESP32-S3芯片,目前ESP-IDF尚且不支持通過芯片的USB接口來將固件燒錄進(jìn)flash,暫不知道為什么擦除flash卻可以,推測后期ESP-IDF的更新會支持,屆時本文也將更新相應(yīng)內(nèi)容。

如果是使用樂鑫科技官方的FLASH下載工具 flash_download_tool 在Windows PC平臺則可以直接通過ESP32-S3芯片USB接口將固件燒錄進(jìn)flash。

無論用什么方法,在對flash進(jìn)行操作前,要保證芯片進(jìn)入固件下載模式,對于ESP32-S3-DevKitC-1開發(fā)板,進(jìn)入固件下載模式的按鍵順序是:

按住BOOT鍵,按一下RESET鍵并松開,松開BOOT鍵。

其他設(shè)備或是出現(xiàn)的問題則需要參考ESP-IDF編程指南中關(guān)于燒錄過程中可能遇到的問題的描述或者是芯片手冊上的描述。

以下將簡述兩種燒錄方法。

Ubuntu終端make命令燒錄

目前在Ubuntu系統(tǒng)中使用終端命令的方法暫且只支持通過ESP32-S3芯片的UART串口燒錄固件到flash。通常需要一個 ch340 或 cp2102 芯片將UART串口轉(zhuǎn)換為USB與系統(tǒng)連接,ESP32-S3-DevKitC-1開發(fā)板自帶一個,通過其UART轉(zhuǎn)USB的接口與PC的USB接口連接即可。

燒錄前要確認(rèn)一下系統(tǒng)是否識別到設(shè)備,通常需要先在VMware虛擬機(jī)中做好USB連接的相關(guān)設(shè)置才行。

在不接入待燒錄的設(shè)備的情況下,先在終端中輸入以下命令查看當(dāng)前所有設(shè)備:

ls /dev/tty*

接入設(shè)備,再輸入此命令,正常的話可以看到多出一個USB設(shè)備,如果僅有接入這一個設(shè)備,通常就是ttyUSB0,在Makefile文件中無需修改接口名,若是別的就需要做出相應(yīng)修改并保存。

確認(rèn)當(dāng)前終端里ESP-IDF運(yùn)行中,且固件編譯已經(jīng)完成,ESP32-S3芯片處于固件下載模式。

先用擦除命令擦除當(dāng)前芯片的flash,再用燒錄命令將固件燒錄進(jìn)flash中。

make erase
make deploy

如果遇到權(quán)限問題,使用如下命令獲取此USB接口的權(quán)限:

sudo chmod 777 /dev/ttyUSB0

Windows FLASH下載工具燒錄

firmware.bin文件從其對應(yīng)的工程文件夾中拷貝出來,放到Windows系統(tǒng)下的文件夾里。VMware虛擬機(jī)拷貝文件很容易,在Ubuntu里選擇文件并復(fù)制,再到Windows的文件夾里粘貼即可將其拷貝出來,可以修改一下文件名以便記錄是用于什么芯片,在什么時候編譯的。

image

打開樂鑫科技的FLASH下載工具,選擇芯片,選擇燒錄接口的模式,這里就可以選擇USB,使用芯片自帶的usb接口燒錄,如果是ESP32-S3-DevKitC-1開發(fā)板就直接用USB口,而不用UART轉(zhuǎn)接出的USB。

image

在燒錄前先確認(rèn)ESP32-S3芯片是否已經(jīng)設(shè)置為固件下載模式,ESP32-S3芯片是否已被Windows識別,可以到設(shè)備管理器中查看對應(yīng)串口名,如果沒有則需要先排除一下是否自動連接到虛擬機(jī)的系統(tǒng)里了,如果有則要斷開其與虛擬機(jī)的連接。

在芯片處于固件下載模式的條件下,修改COM接口為對應(yīng)的接口,添加固件,對于ESP32-S3芯片要設(shè)置flash起始地址為0x0,具體見下圖。

image

可以修改BUAD波特率加快下載速度,但對穩(wěn)定性可能有影響。

設(shè)置好后,先點(diǎn)擊ERASE按鈕擦除flash,擦除完成后再點(diǎn)擊START燒錄固件進(jìn)flash中。

簡單驗(yàn)證固件是否有效

推薦使用 PuTTY 串口調(diào)試軟件,無論在Linux或是Windows中都可以下載使用,操作便捷。

在Linux系統(tǒng)如Ubuntu的終端里使用如下命令安裝PuTTY:

sudo apt-get install putty

在終端輸入putty命令即可打開,也可直接在應(yīng)用程序列表找到它。

在Windows系統(tǒng)中,可以在PuTTY官網(wǎng)下載到64位的putty.exe文件,運(yùn)行即可,無需安裝。

PuTTY設(shè)置方法如圖:

image

需要注意前面編譯的micropython固件默認(rèn)將調(diào)試信息輸出在芯片的USB接口而不是UART串行接口,所以此時需要將直連芯片的USB接口與PC連接。

在Linux中,此時的設(shè)備接口名稱應(yīng)為ttyACM0,而在Windows中則是一個COM端口,具體名稱需查看設(shè)備管理器再對于填入。

Speed 一定要設(shè)置為 115200 ,這是芯片設(shè)計(jì)決定的。

點(diǎn)擊Open即可打開一個窗口,一般此時并無信息,建議用組合按鍵ctrl + D軟件重啟micropython,可看到如下信息。

image

這就是micropython的 REPL交互式解釋器

可以直接在此處鍵入micropython代碼,例如:

print("Hello Wind~")

如果沒有得到類似上圖的信息,亂碼或是無響應(yīng),則需要回頭去檢查編譯燒錄等各項(xiàng)設(shè)置流程是否有差錯了。


對本文有任何疑問的地方,歡迎留言提問,不一定及時回復(fù),但總會回復(fù)的~

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/123655.html

相關(guān)文章

  • 01.ESP8266開發(fā)方式知多少

    摘要:開發(fā)方式是樂鑫為開發(fā)者提供的物聯(lián)應(yīng)開發(fā)平臺,包括基礎(chǔ)平臺以及上層應(yīng)開發(fā)示例,如智能燈智能開關(guān)等。指令開發(fā)方式作為芯片,指令開發(fā)也是必不可少的。開發(fā)方式即,意為運(yùn)行在單片機(jī)上的。 ...

    sushi 評論0 收藏0
  • TPYBoard開發(fā)板帶你輕松玩轉(zhuǎn)MicroPython

    摘要:實(shí)踐證明,加上穩(wěn)定可靠的外圍電路和抗干擾電源,以為核心的產(chǎn)品能成功應(yīng)用于苛刻的工業(yè)環(huán)境,使開源硬件和開發(fā)平臺得到更廣泛的應(yīng)用,產(chǎn)品多樣性遠(yuǎn)遠(yuǎn)高于官方開發(fā)板,是學(xué)習(xí)的首選。 說到MicroPython,也許有人會感到陌生。而說到和它密切相關(guān)的Python,是否會恍然大悟呢?Python屬于解釋型語言,1989年才開發(fā)完成的Python顯然非常年輕。然而經(jīng)過數(shù)十年的磨礪,如今Python已...

    z2xy 評論0 收藏0
  • micro:bit 開發(fā)用的一款命令行工具

    摘要:另外,開發(fā)者是一個不容忽視的群體,為開發(fā)者準(zhǔn)備一個完善的命令行工具是個很不錯的主意。是一個專為開發(fā)板量身定制的命令行工具,通過簡單的命令行操作完成燒錄輔助開發(fā)。一個命令行工具,為開發(fā)帶來了不少的便利。 閑暇做回小搬運(yùn),搬運(yùn)個小工具的使用教程。 micro: bit 是一款由英國 BBC 設(shè)計(jì)的 ARM 架構(gòu)的單片機(jī),板載藍(lán)牙,加速度計(jì),電子羅盤,三個按鈕,5 x 5 LED 點(diǎn)陣,主要...

    Mr_houzi 評論0 收藏0
  • 宿舍智能門鎖設(shè)計(jì)

    摘要:宿舍智能門鎖設(shè)計(jì)采用作為主控芯片,作為與攝像監(jiān)控,液晶顯示屏作為顯示,指紋識別模塊繼電器模塊具有三種解鎖方式指紋解鎖密碼解鎖解鎖解鎖時密碼或者指紋錯誤液晶顯示屏?xí)崾境鲥e,次錯誤就會鎖定,需要等待分鐘才會解鎖。 ...

    付永剛 評論0 收藏0
  • Arduino uno r3 使用 ESP8266 UART-WiFi 透傳模塊

    摘要:查詢附近名稱密碼連接路由器的查看路由器分配給模組的地址例如設(shè)置單連接設(shè)置透傳模式建立的服務(wù)器開始發(fā)送數(shù)據(jù)進(jìn)入發(fā)送模式發(fā)送數(shù)據(jù)注意退出透傳,直接發(fā)送。取消發(fā)送新行五參考模塊指令入門指南透傳簡單使用模塊指令匯總一、所需硬件材料 1.ESP8266:01s某寶上3、5塊錢 2.杜邦線:某寶幾塊錢一組40P,這里只需要三根,用于連接 樹莓派與繼電器 ?? 3.燒錄器 ...

    amuqiao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<