ESP32編譯自己的micropython固件


esp32 micropython視頻地址

1.1. 編譯自己的固件

1.1.1. Windows subsystem for linux(WSL)

控制面板->程序和功能->啟用或關閉window功能,打開window功能對話框,選中“適用於Linux的windows子系統”標簽,“確定”等待系統配置結束。

wps1

打開microsoft store

wps2

搜索”ubuntu 18.04 LTS”,按提示安裝

wps3

安裝完畢后啟動,windows下的linux子系統完成。

1.1.2. Esp-idf開發環境

在linux子系統命令行模式下依次執行如下指令:

cd ~

git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git

git clone https://gitee.com/EspressifSystems/esp-idf.git

ls

執行結束后窗口如下所示:

wps4

執行如下指令:

cd esp-idf

git checkout v4.0.2

cd esp-gitee-tools

./submodule-update.sh ~/esp-idf/

./install.sh ~/esp-idf/

等待命令結束,接着執行如下指令:

cd ~/esp-idf/

source export.sh

1.1.3. 編譯固件

執行如下指令

cd ~

git clone https://gitee.com/horal/micropython_git.git

mv micropython_git micropython

Sudo chmod a+rwx micropython

cd micropython

make -C mpy-cross

cd ports/esp32

make submodule

make

最終執行結果:

wps5

1.1.4. 測試模塊

Python文件模塊放在esp32下的modules文件夾,進入該文件夾:

cd modules

新建一個測試用的python文件,(如果對vim不熟悉,可以適用nano),如下:

vim test.py

或者  nano test.py

文件內容如下:

from time import sleep

def hello():

    print("hello world")

def hw(str):

    print(str)

def cycle(str):

    while True:

        print(str)

        sleep(1)

保存后回到esp32目錄,執行編譯操作:

cd ~/micropython   #micropython根目錄

Make -C mpy-cross

cd ports/esp32/

make clean

make

wps6

留意上面的三個文件及地址,分別是燒錄文件及偏移地址。

1.1.5. WLS與宿主機文件傳遞
1.1.5.1. WSL中訪問本地文件

在wsl的“/mnt”目錄下有“c”、“d”、“e”等文件夾,分別對應這宿主機的C盤、D盤、E盤。

1.1.5.2. 本地訪問WSL的根目錄

微軟未公開WSL所在的根目錄,但可以參考如下目錄:

Ubuntu->C:\Users\xxxxxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\

Debian->C:\Users\NINGMEI\AppData\Local\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs

不建議在外部直接對其文件進行編輯、新建等操作。

1.1.5.3. Copy燒錄文件到window目錄

執行如下操作將燒錄文件cp到windows目錄下:

cd build-GENERIC

cp micropython.bin /mnt/f/

cp bootloader/bootloader.bin /mnt/f/

cp partition-table/partition-table.bin /mnt/f/

1.1.6. 燒寫固件

使用flash_download_tool工具刷固件,設置如下圖:

wps7

留意標識框內的偏移地址與編譯后的打印信息一致。

1.1.7. 測試

燒錄完成后打開thonny,在命令行中執行如下指令,可以觀察到test.py文件已經在固件中了,如下所示:

wps8

wps9


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM