pimoroni / pimoroni-pico

Libraries and examples to support Pimoroni Pico add-ons in C++ and MicroPython.
https://shop.pimoroni.com/collections/pico
MIT License
1.23k stars 474 forks source link

TEST: Enable ulab and attempt to catch app/filesystem overlap #926

Closed Gadgetoid closed 1 month ago

Gadgetoid commented 2 months ago

Try to enable ulab for additional builds.

TODO: Most of the required tooling changes to know if ulab builds will work or not have been moved to https://github.com/pimoroni/pimoroni-pico/pull/927 which needs merged and this PR rebased.

Generally it seems additional ulab builds are... unlikely... but we can always monkey with the filesystem size for people who really want to make that tradeoff.

:warning: There's a pimoroni-pico build in this PR/branch which adjusts the memory split from 640k/1408k to 1024k/1024k. This makes room for ulab and perhaps other things, but since the filesystem has moved, it is not compatible with our Pico or the stock Pico build. :sparkles: Back up your files! :sparkles:

Gadgetoid commented 2 months ago

Cool cool, despite checking it twice I had my app/filesystem sizes backwards...

Gadgetoid commented 2 months ago

Results... uh, the prognosis 🦉 is not so good:

Board Avail Used Usage Note
Pico 640k 723k 112.96% ulab wont fit
Pico W 1200k 1192k 99.34% ulab just fits
Tiny 2040 640k 610k 95.38% no ulab or custom linker, percentage calculated
Galactic 1200k 1124k 93.67% ulab just fits, and we currently ship with it!
Cosmic 1200k 1124k 93.66% ulab just fits, and we currently ship with it!
Stellar 1200k 1124k 93.66% ulab just fits, and we currently ship with it!
Inky Frame 1200k 1071k 89.25% ulab... might fit?
Gadgetoid commented 1 month ago

Using py_decl to analyze .uf2 files post build has replaced the method used here.

See also: https://github.com/pimoroni/pimoroni-pico/issues/951