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

----*----*----*----*----*----*----*----*----*----*----*----
史久超 email:shijiuchao1983@163.com tel:15999550975 qq:157185173
原文地址:https://www.cnblogs.com/horal/p/15613875.html