Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the simply-static domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6121
编译包含自己模块和程序的micropython固件(ESP32-C3)

编译包含自己模块和程序的micropython固件(ESP32-C3)

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

执行结束后窗口如下所示:

执行如下指令:

cd esp-idf

git checkout v4.4.1

cd ~/esp-gitee-tools

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

./install.sh ~/esp-idf/

( . /home/peter/esp-idf/export.sh)

(

Added the following directories to PATH:
/home/peter/esp-idf/components/esptool_py/esptool
/home/peter/esp-idf/components/espcoredump
/home/peter/esp-idf/components/partition_table
/home/peter/esp-idf/components/app_update
Done! You can now compile ESP-IDF projects.
Go to the project directory and run:

idf.py build

(检查一下PATH是否包含上述路径,$PATH)

等待命令结束,接着执行如下指令:

sudo nano /etc/profile
末尾加上以下一行:
export PATH="$PATH:~/esp-idf"

cd ~/esp-idf/

source export.sh

1.1.3. 编译固件

执行如下指令

cd ~

git clone https://gitee.com/CHN_ZC/micropython.git

sudo chmod a+rwx micropython

cd ~/micropython

make -C mpy-cross

cd ports/esp32

make submodules

make

最终执行结果:

1.1.4. 测试模块

Python文件模块放在esp32下的modules文件夹,进入该文件夹:

cd modules

新建一个测试用的python文件,如下:

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/

编译esp32c3固件

make clean

更改ports/esp32/Makefile文件

找到 BOARD ?= GENERIC
改为 BOARD ?= GENERIC_C3

make

留意上面的三个文件及地址,分别是烧录文件及偏移地址。

注意:

严格按照执行后的提示执行一下,否则会导致环境变量等等没有设置,为后续编译带来很多麻烦

如果安装了虚拟机,比如在windows上安装了ubuntu,则可以将编译好的文件拷回windows系统再用工具烧录,比如将xxx拷贝到windows的d盘:

$ cp xxx /mnt/d/

$ cp build-GENERIC_C3/bootloader/bootloader.bin /mnt/d/
$ cp build-GENERIC_C3/partition_table/partition-table.bin /mnt/d/
$ cp build-GENERIC_C3/micropython.bin /mnt/d/