ESP32 Frozen Byte code updates #9749
-
I'm building frozen bytecode by placing my .py files in the modules directory. Something I noticed, when I build for the esp8266 it determines which files have changed, and will just update the frozen bytecode only and create a new firmware file. Which takes a few seconds... example is below. When building for the ESP32, make just calls 'idf.py -D MICROPY_BOARD=GENERIC -B build-GENERIC build' I'm wondering if there an option to just update the frozen bytecode and rebuild the firmware for the esp32? Example esp8266:
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
This works, but it's kind of an implementation detail of the build system. i.e. these are the modules required for MicroPython to function. Your own additional modules should be added via a manifest -- see https://docs.micropython.org/en/latest/reference/manifest.html
There's definitely a bug here with detecting frozen content changes in the modules directory. The ESP32 build is really complicated due to the way it uses CMake with the IDF, but we need to fix this. In the meantime, the way to force it to update just the frozen content is to do rm build-GENERIC/frozen_content.c build-GENERIC/frozen_mpy/*.mpy
make |
Beta Was this translation helpful? Give feedback.
-
remove these file/folder from build_dir(eg. micropython/ports/esp32/build-GENERIC): then call make to rebuild firmware with updated modules. #9332 |
Beta Was this translation helpful? Give feedback.
This works, but it's kind of an implementation detail of the build system. i.e. these are the modules required for MicroPython to function. Your own additional modules should be added via a manifest -- see https://docs.micropython.org/en/latest/reference/manifest.html
There's definitely a bug here with detecting frozen content changes in the modules directory. The ESP32 build is really complicated due to the way it uses CMake with the IDF, but we need to fix this.
In the meantime, the way to force it …