<button id="ssm6u"><optgroup id="ssm6u"></optgroup></button>
  • 跳轉至

    Linux下的固件燒錄

    概要

    本編教程中,1Z實驗室主要為大家詳細講解在Linux下對ESP32刷入MicroPython固件的具體流程。

    開始之前

    在開始之前,你應該仔細閱讀本系列教程中之前的章節:

    MicroPython固件燒錄指南

    閱讀完成之后,你需要做到:

    • 下載MicroPython的固件到本地

    • 了解到燒錄MicroPython固件需要使用到的工具

    • 把你的ESP32設備用一根正確的的數據線連接到你的電腦

    獲取工具

    MicroPython固件燒錄指南一文中筆者有提到:

    為ESP32燒錄MicroPython固件需要使用的工具:

    • Python3

    • pip python的包管理器,用來下載esptool模塊

    • esptool 一個用于給ESP32刷入固件的Python工具模塊

    接下來我們重點講解如何在Linux上獲取這些工具。

    Linux自帶Python

    在linux下的固件燒錄十分的方便,這得益于linux發行版都通常自帶了Python.很多發行版甚至同時自帶Python2和Python3兩個版本,接下來的示例,我們只以Python3為例。
    雖然在linux下我們不用自己安裝Python,但是我們需要為Python安裝包管理器pip

    獲取pip

    在你可愛的Linux里打開終端程序,按你的發行版對號入座,輸入以下的命令

    • Arch Linux

      sudo pacman -S python3-pip
      

    • Ubuntu

      sudo apt-get install python3-pip
      

    其余發行版自行百度吧,就不在此一一列舉啦。

    獲取esptool

    我們需要使用Python的包管理器pip來獲取esptool,在命令行窗口中輸入如下命令進行安裝:

    sudo pip3 install esptool
    

    至此,linux下的工具就已經籌辦完畢了。

    使用esptool刷入固件

    萬事俱備,開始刷入MicroPython固件吧。

    查看linux下的端口號

    在開始之前,你需要知道你插入到電腦上的ESP32設備,在Linux中的端口號是多少。不同于Windows,linux中秉承著一切皆是文件的思想,usb串口設備,在Linux的文件系統中的/dev/目錄下可以找到,Linux通常以ttyUSB+數字編號的方式為這些設備命名??梢允褂萌缦碌拿顏聿榭矗?/p>

    ls -l /dev/ttyUSB* 
    

    如上圖所示, 筆者的ESP32在linux下的端口號為紅色線框中的部分,和Windows的大相徑庭.

    注意: ttyUSB 后所跟的那位數字,可能也會隨你的具體情況而定,不一定是0,如果存在多個USB串口設備,需要你去甄別具體哪一個是你的ESP32設備

    擦除flash

    同樣的,為了保證固件刷入的成功率,我們先要對ESP32的flash進行清除.

    sudo esptool.py --port <你的端口號> erase_flash
    

    筆者借來的Mac上,端口號是/dev/ttyUSB0,所以我應該輸入的指令是

    sudo esptool.py --port /dev/ttyUSB0 erase_flash
    

    注意: 務必替換其中的 <你的端口號> 為你自己的端口號

    使用esptool刷入固件

    找到之前你所下載的固件所在的完整路徑,通常瀏覽器下載的固件存放在~/Downloads目錄下

    按照如下命令模板,開始刷入:

    sudo esptool.py --chip esp32 --port <你的端口號> write_flash -z  0x1000 <你的固件的完整路徑> 
    

    注意: 務必替換其中的 <你的端口號> 和<你的固件的完整路徑> ,確保二者的正確性

    筆者的端口號為 /dev/ttyUSB0 , 固件路徑為 ~/Dowloads/esp32-20180411-v1.9.3-534-g59dda710.bin

    所以筆者的輸入應為

     sudo esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z  0x1000 ~/Dowloads/esp32-20180411-v1.9.3-534-g59dda710.bin 
    

    如下是指令執行的完整輸出, 用時53.5s:

    ?  ~ sudo esptool.py --chip esp32 --port /dev/ttyUSB1 write_flash -z  0x1000 ~/Dowloads/esp32-20180411-v1.9.3-534-g59dda710.bin 
    esptool.py v2.3.1
    Connecting........_
    Chip is ESP32D0WDQ6 (revision 1)
    Features: WiFi, BT, Dual Core
    Uploading stub...
    Running stub...
    Stub running...
    Configuring flash size...
    Auto-detected Flash size: 4MB
    Compressed 973584 bytes to 604211...
    Wrote 973584 bytes (604211 compressed) at 0x00001000 in 53.5 seconds (effective 145.5 kbit/s)...
    Hash of data verified.
    
    Leaving...
    Hard resetting via RTS pin...
    

    至此, linux的固件燒錄過程結束.


    韩国精品无码一区二区三区,精品无码一区二区三区AV,欧洲丰满美熟女乱又伦AV,亚洲午夜久久久影院伊人