Romram: Using QSPI RAM with RP2040's SSI in read-write mode
dmitry.gr
dmitry.gr
The PSRAM had a reasonable size page cache in the chip that made this memory quite responsive from a CPU perspective - a few rare cache flushes were needed, but things like DMA and bus masters (onboard radios etc..) were completely coherent and it made development much easier to manage.
My takeaway was that PSRAM was surprisingly capable (with the right can of hardware controller in place). Kudos to Realtek for getting the hardware to work without a thousand impossible to debug CPU lock ups...
https://github.com/captain-amygdala/pistorm
Oh, this is Pi 3A emulating a 68030, not a RP2040, I'll keep looking.
> General Performance with the current use of Musashi as the 68k CPU emulator is somewhere around a 100-125MHz 68030.
https://github.com/kstenerud/Musashi
Emulating a 128k mac with an RP2040 (using Musashi) https://github.com/evansm7/umac
1. A true, ulta-super-duper-low-power mode, and 2. Proper external memory support.
I understand what you're talking about, but I think it's wrong to shoehorn beginners into one size. I, for one, prefer to start simple. Simple start for MCU is assembly code or very basic C code, linker script and programmer. Those are necessary and can't be dismissed. Programming MCU with Python is like writing website with C. Could be done, but feels wrong.
https://github.com/raspberrypi/pico-bootrom/blob/master/boot...
There hasn't been any major innovation in CPU design for this power/performance/feature/area target, so the Cortex-M3 is still a valid choice if you don't need/want the extra instructions.
In fact, the basic design is much older, the Cortex-M3 is essentially just a stripped down ARM7TDMI 3-stage pipeline from 1994, with the new Thumb2 instructions from the ARM1156T2 and all the original 32bit instructions ripped out. Arguably, it's not that different from the original ARM1 pipeline either.
The Cortex-M4 is the exact same pipeline, just with a hardware divider, DSP instructions and optional FPU. If you don't need/want those, or area is more important, the Cortex-M3 is the way to go. There is the reason why ARM still have it listed as a current design.
The Cortex-M33 is probably the only thing which could be considered as innovation. The pipeline can now dual-issue some pairs of 16bit instructions, giving it a 20% IPC boost in coremark. But it's now 15% larger and uses 5% more power, so it's not a true replacement for the Cortex-M3 (though, it does seem to outperform the Cortex-M4, with the same area and lower power consumption, and it also supports the optional FPU)
Though, for this exact use case, I don't they are too tight on area. And I agree that it would be nice to have an FPU and DSP instructions. So if we are lucky, that 3 actually means the Cortex-M33 and the optional FPU.
This sounds similar to the approach taken by yocto-8