Pico-W: shrink firmware region
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- c
- 領域
- embedded-iot
調査の方向性
Start by comparing the Pico-W mpconfigboard.mk and link.ld settings mentioned in the issue, then trace how the firmware region and /saves partition are laid out. Check whether the size values need to account for other regions or alignment. Done means a smaller firmware region can coexist with the added partition without corrupting the CIRCUITPY drive.
索引モデルが issue の本文から書いたものです。
説明
CircuitPython version and board name
built from tag 10.3.0
Code/REPL
n.a.
Behavior
n.a.
Description
I am trying to create a custom build for the Pico-W with a much smaller firmware region to fit in a /saves partition. Reducing required firmware size works by deactivating all modules I don't need:
Memory region Used Size Region Size %age Used
FLASH_FIRMWARE: 1266372 B 1250 KB 98.94%
RAM: 46812 B 256 KB 17.86%
SCRATCH_Y: 0 B 4 KB 0.00%
SCRATCH_X: 0 B 4 KB 0.00%
The firmware size / region size is configured in two places:
# mpconfigboard.mk
CFLAGS += -DCIRCUITPY_FIRMWARE_SIZE='(1536 * 1024)'
and
# link.ld
firmware_size = 1532k;
My questions:
- why do the figures differ (1536 vs. 1532)?
- are there other things to take into account? Does the firmware_size has to be a multiple of 4?
I did change the firmware_size to 1250k and CIRCUITPY_FIRMWARE_SIZE accordingly, added a 200k /saves partition, and this results in a partly corrupted CIRCUITPY drive (mounts as ro after errors):
ls: Zugriff auf '/mnt/.fseventsd' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/sd' nicht möglich: Eingabe-/Ausgabefehler
insgesamt 18
drwxr-xr-x 6 bablokb users 16384 1. Jan 1970 ./
drwxr-xr-x 1 root root 300 25. Mär 2025 ../
-rwxr-xr-x 1 bablokb users 166 1. Jan 2000 boot_out.txt*
-rwxr-xr-x 1 bablokb users 22 1. Jan 2000 code.py*
d????????? ? ? ? ? ? .fseventsd/
drwxr-xr-x 2 bablokb users 512 1. Jan 2000 lib/
-rwxr-xr-x 1 bablokb users 0 1. Jan 2000 .metadata_never_index*
drwxr-xr-x 2 bablokb users 512 1. Jan 2000 saves/
d????????? ? ? ? ? ? sd/
-rwxr-xr-x 1 bablokb users 0 1. Jan 2000 .Trash-1000*
-rwxr-xr-x 1 bablokb users 0 1. Jan 2000 .Trashes*
### Additional information
_No response_
- 主要言語
- C
- スター
- 4.6k
- フォーク
- 1.4k
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 153
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
adafruit/circuitpython のほかの issue
-
board breaks api
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
adafruit/circuitpython#11099 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
Tags and Branchesオープンbug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
adafruit/circuitpython#11514 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
silabs
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
adafruit/circuitpython#11507 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
circuitpython api enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
adafruit/circuitpython#11505 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
adafruit/circuitpython#11472 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
adafruit/circuitpython の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
libsdl-org/SDL#16464 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
backend
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
BasedHardware/omi#20940 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1時間未満 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信