No idea. As said I'd like to but don't yet know if it's possible or how one would or should go about it, what obstacles there are to making it work, the consequences in doing that.How do you propose taking in to account the different processor architectures (M0+ vs M33+), for example the differing floating point capabilities (M0 has custom software for FP, M33 have HW support)?
It may well be that I end up with two UF2, one for Pico and Pico W, the other for Pico 2, Pico 2 W and RP235XB. That will be my first milestone anyway. It's still fewer than having UF2 for each.
Yes, looking into how compatible running Cortex-M0+ code on a Cortex-M33 is is on my To Do List.Just assume M0+ and have less than optimal performance on the M33+s?
Even vice-versa, or by running an emulator but that will likely be slow.
I would never deny that and there are other consequences to having universal binaries; program size and memory use.There comes a point where recompilation is the best/only sensible approach if you want the optimal performance.
My universal MicroPython port for Pico and/or Pico W has to include all the CWY-43 drivers and firmware, all the Bluetooth and networking stack, even though that can't be used on a Pico. That reduces the amount of Flash available for a file system on the Pico, to about 840KB, down from about 1.4MB it could otherwise have had.
If I ever find the time to figure out how to get the CW43 firmware and the rest into the file system, rather than having it built-in as part of the firmware, I could probably maximise the amount of Flash available as file system. MicroPython are apparently considering this so I've not invested anything towards that end. To paraphrase an old saying; "840K ought to be enough for anybody" but I recognise it's a limitation. A reasonable one IMO for avoiding the confusion of which UF2 to use. It makes my life a lot easier anyway.
Statistics: Posted by hippy — Fri Aug 16, 2024 4:23 pm