Skip to main content

Merge a MicroPython firmware and with source files into a single binary that can be flashed to a device.

Project description

vfs_merge

Merge a MicroPython firmware and with source files into a single binary that can be flashed to a device.

Merge

  • the files in src/**/*
  • with the firmware in firmware/<firmware.bin/uf2>

and write the resulting firmware image to : - build/firmware.bin or build/firmware.uf2:

Esp32

vfsmerge --port esp32 --firmware ./firmware

INFO      | Micropython Port: esp32
INFO      | Source folder path: src
INFO      | Firmware path: firmware\ESP32_GENERIC-20231005-v1.21.0.bin
INFO      | Build path: build
INFO      | Create littlefs image: build\littlefs.img
DEBUG     | Create new filesystem with: 512 blocks of 4096 bytes = 2048Kb
INFO      | Add files from src
DEBUG     | Adding /foo.py
DEBUG     | Adding /main.py
DEBUG     | Adding /lib/bar.py
DEBUG     | write filesystem to build\littlefs.img
INFO      | Merge firmware and littlefs image into build\firmware_lfs.bin
DEBUG     | running: esptool --chip esp32 merge_bin -o build\firmware_lfs.bin --flash_mode dio --flash_size 4MB 0x1000 firmware\ESP32_GENERIC-20231005-v1.21.0.bin 0x00200000 build\littlefs.img
esptool.py v4.6.2
Wrote 0x400000 bytes to file build\firmware_lfs.bin, ready to flash to offset 0x0

RP2 Pico_W

vfsmerge --port rp2-pico_w --firmware .\firmware\rp2-pico-w-20230426-v1.20.0.uf2

INFO      | Micropython Port: rp2-pico_w
INFO      | Source folder path: src
INFO      | Firmware path: firmware\rp2-pico-w-20230426-v1.20.0.uf2
INFO      | Build path: build
INFO      | Create littlefs image: build\littlefs.img
DEBUG     | Create new filesystem with: 212 blocks of 4096 bytes = 848Kb
INFO      | Add files from src
DEBUG     | Adding /foo.py
DEBUG     | Adding /main.py
DEBUG     | Adding /lib/bar.py
DEBUG     | write filesystem to build\littlefs.img
DEBUG     | Running D:\MyPython\vfs_merge\vfs_merge\picotool info -a firmware\rp2-pico-w-20230426-v1.20.0.uf2
DEBUG     | Number of blocks: 2736
Program name: MicroPython
Board: pico_w
Number of families: 1
 - Family RP2040 at 0x1000_0000
Number of ranges: 1
 - Range 0: 0x1000_0000 - 0x100A_B000
LittleFS superblocks: 0
Pico drive info
 - Drive start: 0x1012_C000
 - Drive end: 0x1020_0000

INFO      | Reading littlefs binary image from build\littlefs.img
DEBUG     | Extend uf2 with: 3392 blocks
DEBUG     | LittleFS image size: 3392 blocks
INFO      | Writing 3392 blocks to littlefs.uf2
INFO      |  > Found LittleFS file system header in block 2736 at 0x1012_C000
INFO      |  > Found LittleFS file system header in block 2752 at 0x1012_D000
DEBUG     | Writing 6128 blocks to build\firmware_lfs.uf2
DEBUG     | Number of blocks: 6128
Program name: MicroPython
Board: pico_w
Number of families: 1
 - Family RP2040 at 0x1000_0000
Number of ranges: 2
 - Range 0: 0x1000_0000 - 0x100A_B000
 - Range 1: 0x1012_C000 - 0x1020_0000
LittleFS superblocks: 2
 - LittleFS superblock 0: block 2736 at 0x1012_C000
 - LittleFS superblock 1: block 2752 at 0x1012_D000
Pico drive info
 - Drive start: 0x1012_C000
 - Drive end: 0x1020_0000

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vfs_merge-0.1.2.tar.gz (805.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vfs_merge-0.1.2-py3-none-any.whl (811.0 kB view details)

Uploaded Python 3

File details

Details for the file vfs_merge-0.1.2.tar.gz.

File metadata

  • Download URL: vfs_merge-0.1.2.tar.gz
  • Upload date:
  • Size: 805.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.7 Windows/10

File hashes

Hashes for vfs_merge-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d08758b7f3bbe8cfb3ec21c9af0ea02eb1c15e382d0f935335bac700de83e268
MD5 635c66101e6872f43d268849cc8429e6
BLAKE2b-256 dc86e1a80379225c41ab36d0d2bb8c5bf9559a52da7fb997d56ad8b9e764328f

See more details on using hashes here.

File details

Details for the file vfs_merge-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: vfs_merge-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 811.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.7 Windows/10

File hashes

Hashes for vfs_merge-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8663a4ce8fc2f0ebbd962f11e6d6455e5a80dd76668088a974cc55093230868a
MD5 b6f0d8136e92587f813b825fbe706de7
BLAKE2b-256 3cfbe3b4413dd85e265230213e863961dd5c7661d437afc9beb75b2a0b20a304

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page