作者归档:admin

ESP32S3 编译 8MB PSRAM 16MBFlash N16R8

cd esp-idf

命令 进入esp-idf

source export.sh

设置idf.py命令

cd micropython

进入micropython

make -C mpy-cross

开始mpy-cross

cd ports/esp32

进入 ports下的esp32目录

make BOARD=ESP32_GENERIC_S3 clean

清除之前编译的信息

make submodules

预编译

make BOARD=ESP32_GENERIC_S3 USER_C_MODULES=../../../../micropython.cmake

设置编译后的开发板ESP32_GENERIC_S3 并载入C模块micropython.cmake

#

关于相关问题的修改

#

flash 修改文件:

#

boards/ESP32_GENERIC_S3/sdkconfig.board

其中的文件

CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=”partitions-16MiB.csv”

#

PSRAM修改

#

修改文件boards/sdkconfig.spiram_sx

注释掉QUAD,并创建OCT

#CONFIG_SPIRAM_MODE_QUAD=y

CONFIG_SPIRAM_MODE_OCT=y

#

修改文件boards/ESP32_GENERIC_S3/mpconfigboard.cmake

set(IDF_TARGET esp32s3)

set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.usb
boards/sdkconfig.ble
boards/sdkconfig.spiram_sx
#上面选项添加
boards/ESP32_GENERIC_S3/sdkconfig.board
)

#

boards/sdkconfig.spiram_sx
#上面选项添加

#

ESP32s3编译固件 N16R8

cd esp-idf

source export.sh

cd micropython

make -C mpy-cross

cd ports/esp32

make BOARD=ESP32_GENERIC_S3 clean

make submodules

make BOARD=ESP32_GENERIC_S3 USER_C_MODULES=../../../../micropython.cmake

关于相关问题的修改

flash 修改:
boards/ESP32_GENERIC_S3/sdkconfig.board

CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=”partitions-16MiB.csv”

PSRAM修改
boards/sdkconfig.spiram_sx

#CONFIG_SPIRAM_MODE_QUAD=y
CONFIG_SPIRAM_MODE_OCT=y

boards/ESP32_GENERIC_S3/mpconfigboard.cmake

set(IDF_TARGET esp32s3)

set(SDKCONFIG_DEFAULTS
    boards/sdkconfig.base
    ${SDKCONFIG_IDF_VERSION_SPECIFIC}
    boards/sdkconfig.usb
    boards/sdkconfig.ble
    boards/sdkconfig.spiram_sx
    boards/ESP32_GENERIC_S3/sdkconfig.board
)

esp32s2 lolin/esp32s3 编译 ulab和st7789坑

# ESP-IDF设置
cd esp-idf
./install.sh       # (or install.bat on Windows)
source export.sh   # (or export.bat on Windows)

# ----------------------

make -C mpy-cross

make BOARD=LOLIN_S2_MINI clean

cd micropython/ports/esp32

make submodules

make BOARD=LOLIN_S2_MINI USER_C_MODULES=../../../../st7789_mpy/st7789/micropython.cmake FROZEN_MANIFEST="" FROZEN_MPY_DIR=$UPYDIR/modules 
有且仅能使用一个cmake 但是可以包含
在st7789 和ulab的共同文件夹下创建micropython.cmake

# 里面文件内容:
include(${CMAKE_CURRENT_LIST_DIR}/ulab/code/micropython.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/st7789_mpy/st7789/micropython.cmake)

# 编译命令·
make BOARD=LOLIN_S2_MINI USER_C_MODULES=../../../../micropython.cmake 

解析 USER_C_MODULES=module1/*.c module2/*.c 可以添加多个模块。上面命令添加了ulab和st7789的c模块,但是只能添加一个micropython.cmake文件。破解

在st7789 和ulab的共同文件夹下创建micropython.cmake

include(${CMAKE_CURRENT_LIST_DIR}/ulab/code/micropython.cmake) include(${CMAKE_CURRENT_LIST_DIR}/st7789_mpy/st7789/micropython.cmake)

#ESP32S2 F4R2 LOLIN
make BOARD=LOLIN_S2_MINI USER_C_MODULES=../../../../micropython.cmake 

ESP32S3 PSRAM

make BOARD=ESP32_GENERIC_S3 clean

make submodules
make BOARD=ESP32_GENERIC_S3 USER_C_MODULES=../../../../micropython.cmake

编译其他模块到micropython

将其他模块下载到文件

以下命令编译一下 mpy-coress ,这是为了构建MicroPython交叉编译器,以便将一些内置脚本预编译为字节码,这只需要做一次:

make -C mpy-cross
$ make -C mpy-cross
#转到模块
$ cd ports/esp32

$ make BOARD=GENERIC_C3 clean # 可选项,如果需要完全重新编译则执行这行命令
$ make submodules
$ make BOARD=GENERIC_C3

ST7789

git clone https://github.com/micropython/micropython.git
git clone https://github.com/russhughes/st7789_mpy.git
cd micropython/
git submodule update --init
cd mpy-cross/
make
cd ..
cd ports/esp32
#若需要加入python模块,请将py文件复制到modules的文件夹下
cp ../../../st7789_mpy/fonts/bitmap/vga1_16x16.py modules
cp ../../../st7789_mpy/fonts/truetype/NotoSans_32.py modules
cp ../../../st7789_mpy/fonts/vector/scripts.py modules
#添加py模块 上面
make USER_C_MODULES=../../../../st7789_mpy/st7789/micropython.cmake FROZEN_MANIFEST="" FROZEN_MPY_DIR=$UPYDIR/modules

ULAB

git clone https://github.com/micropython/micropython.git
git clone https://github.com/v923z/micropython-ulab.git ulab
make BOARD=PYBV11 USER_C_MODULES=../../../ulab all

make就是编译命令

-j 立即多个编译命令同时执行,加快速度 -j4 (连在一起)

clean 清楚之前编译

BOARD=PYBV11 #设置编译后的文件及开发板子

USER_C_MODULES= #设置额外的C模块 .cmake文件
FROZEN_MANIFEST=”” #冻结文件
FROZEN_MPY_DIR=$UPYDIR/modules #python模块目录