ESP32 | Ubuntu18.04.06下安裝ESP-IDF

    來源: 嗶哩嗶哩2023-08-13 21:44:03
      

    目的:在ubuntu下開發(fā)ESP-IDF。


    (資料圖)

    主要參考的是樂鑫的官方文檔,在安裝過程中會遇到各種各樣的問題,在此記錄。

    官方文檔:樂鑫 | Linux 和 macOS 平臺工具鏈的標(biāo)準(zhǔn)設(shè)置

    /projects/esp-idf/zh_CN//esp32/get-started/#get-started-set-up-tools

    1、安裝準(zhǔn)備

    這里按照官方的指南,對于ubuntu需要執(zhí)行命令:

    命令的作用是一次性安裝了一大堆ESP-IDF需要的組件,例如git、python3、cmake等等。筆者一開始也是執(zhí)行的這條命令,但是后面遇到了python3版本過低、CMake版本過低的問題。

    在恢復(fù)快照重新嘗試安裝時,我執(zhí)行的時下述命令,只是將python3改為了(ESP-IDF所需的最低版本的python),在后續(xù)過程中沒有提示我python的問題,但是python虛擬環(huán)境的問題還是會遇到。

    2、獲取 ESP-IDF

    這里建議直接執(zhí)行官方文檔的命令:

    在 ~/esp/esp-idf目錄克隆idf的倉庫,這里對網(wǎng)速有一定要求,而且需要能穩(wěn)定訪問github,具體還得看自己的情況了。

    Github拒絕連接

    還有的情況就是網(wǎng)頁能夠順暢訪問github,但是在clone的過程中,一開始還可以clone一些,但是后面會報錯拒絕連接:

    這里的情況有可能是科學(xué)上網(wǎng)走了代理,但是clone的時候沒有走代理。還有可能就是單純地不穩(wěn)定、慢。

    筆者用下面的方法2成功克隆了。

    1)使用代理

    在科學(xué)上網(wǎng)的時候,讓git也走代理

    如果不想用代理了,取消代理也很簡單:

    還有就是查看代理狀態(tài):

    2)CDN加速

    CDN不需要科學(xué)上網(wǎng),小白友好。在克隆主倉庫的時候,筆者的速度甚至來到過11MB/s(差不多是百兆網(wǎng)的上限了)。

    上述三個命令任選一個即可,親測第一個有效(2023年8月12日),但是這些都是為愛發(fā)電的CDN,指不定能用到啥時候,且用且珍惜。

    3)使用國內(nèi)的gitee

    樂鑫在Gitee也是有倉庫的:/EspressifSystems/esp-idf

    理論上只要把clone的鏈接換成Gitee的鏈接就可以了,但是筆者沒有嘗試過。

    如果克隆中斷了,或者是升級IDF,可以在IDF的根目錄執(zhí)行:

    3、設(shè)置工具

    除了 ESP-IDF 本身,您還需要為支持 ESP32 的項目安裝 ESP-IDF 使用的各種工具,比如編譯器、調(diào)試器、Python 包等。

    這里官方可以單純安裝某一些芯片的工具,但是我建議全都要。

    這一步驟,筆者在第一節(jié)安裝準(zhǔn)備的時候執(zhí)行的是官方的命令,由于ubuntu18已經(jīng)安裝了了,并沒有實際安裝ESP-IDF所需的python版本(以上),所以這一步一直報錯,如果上述步驟讀者執(zhí)行的是筆者給出的推薦的命令,那就不需要其他操作了,耐心等待就好了。

    python虛擬環(huán)境創(chuàng)建失敗

    在這個步驟中,安裝了到一半,筆者遇到了以下提示:

    大致意思就是的虛擬環(huán)境創(chuàng)建失敗,終端提示運行

    但是多次嘗試后還是一樣的問題。最后的解決方法是指定安裝虛擬環(huán)境的版本:

    然后終端會提示更新了,還會建議我們卸載不需要的軟件包,在卸載玩之后需要在執(zhí)行一次上述命令。之后再設(shè)置工具就完成啦。

    成功之后,會在終端看到類似圖示的內(nèi)容。

    如果訪問github網(wǎng)速不穩(wěn)定,樂鑫也很貼心給了鏡像網(wǎng)站:

    下載工具備選方案?ESP-IDF 工具安裝器會下載 Github 發(fā)布版本中附帶的一些工具,如果訪問 Github 較為緩慢,可以設(shè)置一個環(huán)境變量,從而優(yōu)先選擇 Espressif 的下載服務(wù)器進行 Github 資源下載。備注該設(shè)置只影響從 Github 發(fā)布版本中下載的單個工具,它并不會改變訪問任何 Git 倉庫的 URL。要在安裝工具時優(yōu)先選擇 Espressif 下載服務(wù)器,請在運行 時使用以下命令:

    4、設(shè)置環(huán)境變量

    此時,您剛剛安裝的工具尚未添加至 PATH 環(huán)境變量,無法通過“命令窗口”使用這些工具。因此,必須設(shè)置一些環(huán)境變量。這可以通過 ESP-IDF 提供的另一個腳本進行設(shè)置。請在需要運行 ESP-IDF 的終端窗口運行以下命令:

    但是每次打開一個終端就執(zhí)行一次這個文件,還得記住這個路徑,顯然是不優(yōu)雅的,那怎么優(yōu)雅起來呢?樂鑫也是很懂大家哈。

    如果您需要經(jīng)常運行 ESP-IDF,您可以為執(zhí)行 創(chuàng)建一個別名,具體步驟如下:復(fù)制并粘貼以下命令到 shell 配置文件中(.profile、.bashrc、.zprofile 等)

    通過重啟終端窗口或運行 source [path to profile],如 source ~/.bashrc 來刷新配置文件。現(xiàn)在您可以在任何終端窗口中運行 get_idf 來設(shè)置或刷新 esp-idf 環(huán)境。

    這里筆者修改的配置文件是bashrc。

    到這一步,基本上就是成功啦,

    5、開始使用 ESP-IDF 吧

    這里就不按官方的來了。我們直接進入IDF的目錄,按路徑~/esp/esp-idf/example/get-started/hello_world展開,將整個hello_world文件夾復(fù)制,在粘貼到自己的工程路徑(例如我是在~/esp/Prj文件夾下),然后在空白處右鍵,在終端打開。在終端輸入get_idf導(dǎo)入IDF環(huán)境。

    之后就是設(shè)置目標(biāo)芯片,可以使用命令:

    這里根據(jù)自己手上的開發(fā)板實際選擇,筆者的是ESP32-C3。

    CMake版本太低

    ESP-IDF是以CMake來進行工程管理的,對CMake的版本有最低要求,筆者的版本還是太低了,所以需要進行CMake版本的升級。

    具體的報錯信息可參考:

    大致意思就是CMake的版本太低了,需要升級版本。

    1)下載cmake

    2)解壓

    3)先進入解壓后的目錄,再執(zhí)行以下命令進行配置

    配置成功會顯示:

    失敗情況有:

    這里提示少了C編譯器,安裝就好了

    4)配置完之后進行編譯

    5)編譯完之后進行安裝

    6)替換舊版本,。

    其中/usr/local/bin/cmake為新安裝的cmake目錄

    7)最后測試cmake版本:

    成功升級CMake的版本之后,也是很順利地設(shè)置了目標(biāo)芯片,可以愉快編譯啦:

    這里大家可以體會到在Linux環(huán)境下,IDF 編譯的速度變化,筆者的物理機是i5-12500 ? GHz,普普通通12代i5,而虛擬機才倆核心,編譯的速度基本上差不多的,那我要是多分幾個核給虛擬機,蕪湖~。

    編譯完成之后可以開始燒錄了,這里接上設(shè)備之后,可以使用

    來查看當(dāng)前掛載的設(shè)備。例如筆者當(dāng)時的設(shè)備如下圖,而插入的開發(fā)板在圖中的最后一行倒數(shù)第三個:ttyUSB0。

    確認(rèn)當(dāng)前的設(shè)備端口后,就可以開始燒錄啦:

    -p后面的端口號要根據(jù)讀者的參數(shù)進行調(diào)整。這里燒錄可能會提示報錯:

    省流:沒有寫串口的權(quán)限。那打開權(quán)限就完事了,直接:

    再次進行燒錄就莫問題啦。猜你想要打開串口查看調(diào)試信息:

    又或者一鍵燒(san)錄(lian):

    結(jié)束

    遇到的問題不一定一樣,但是可以做個參考

    可參看視頻教程

    (待錄)

    參考鏈(wen)接(xian)

    1、github 代理加速或 CDN 加速 - thepoy - 博客園 ()

    /thepoy/p/

    2、Ubuntu升級Cmake的正確方式_Liangtao`的博客-CSDN博客

    /qq_27350133/article/details/121994229

    關(guān)鍵詞:

    責(zé)任編輯:sdnew003

    相關(guān)新聞

    版權(quán)與免責(zé)聲明:

    1 本網(wǎng)注明“來源:×××”(非商業(yè)周刊網(wǎng))的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負(fù)責(zé),本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。

    2 在本網(wǎng)的新聞頁面或BBS上進行跟帖或發(fā)表言論者,文責(zé)自負(fù)。

    3 相關(guān)信息并未經(jīng)過本網(wǎng)站證實,不對您構(gòu)成任何投資建議,據(jù)此操作,風(fēng)險自擔(dān)。

    4 如涉及作品內(nèi)容、版權(quán)等其它問題,請在30日內(nèi)同本網(wǎng)聯(lián)系。