I made an App that dynamically load firmware from SD Card

Hi @adwuard,

I’ve been digging through all the cool stuff coming out of the community and I’ve gotta say, your SD_Boot project looks awesome!

Not sure if you’re planning to keep developing it, but I figured I’d throw in a couple of ideas just in case.


1) Avoiding the need to recompile Apps

Right now, having to recompile applications to make them work with PicoCalc_SD_Boot feels like a bit of a roadblock, honestly.

But I think that could be solved on the Pi Pico 2/2W. The new RP2350 chip has a really interesting feature - Address Translation (see page 364 of the RP2350 datasheet, section 5.1.19).

In short, it lets you store the App anywhere on SPI flash and then remap that address space so it appears as if it’s stored at the beginning of the flash at 0x10000000. In this case Apps could be used as-is, without needing to be recompiled to match the actual flash layout.

2) Support for .uf2 files

At the moment, SD_Boot supports .bin files on the SD card, which works, but a lot of apps are distributed as .uf2. It’d be super useful to support that format too.

The original pico bootrom already capable of converting .uf2 to binary, so maybe that code could be reused? It’d just need to apply the right offset to avoid overwriting SD_Boot itself - which your code already handles nicely anyway.

3) USB Mass Storage mode for SD card

Would be really handy if, while in the SD_Boot menu, the SD card could be exposed as a USB mass storage device - kinda like how the original bootrom works exposing the SPI flash.
That way you could just drag-and-drop files over USB instead of having to eject the SD card and use a reader.

Again, the pico bootrom might have some reusable code to make this work.


Anyway, just wanted to say thanks for building this, and share a few ideas that came to mind. Looking forward to seeing where it goes!

3 Likes