I am new to electronics and microcontroller programming and need either confirmation that my understanding on a few items is correct, or I am in desperate need of correction on them!
I have a C-based server that requires about 2GB RAM to function properly. I am interested in seeing if there's any way to flash this program to an ARM-based MCU, such as the Raspberry Pi or the STM32. If my understanding of MCU componentry is correct, the Raspberry Pi simply cannot handle this RAM demand, because its a Broadcom/ARM chip affixed to an SoC with fixed memory ICs.
However, it is also my understanding that non-SoCs such as the STM32 can be wired up to any kind of memory chip. I found these 4GB memory cards, and am wondering if it is possible to place one of these on a PCB alongside an ARM-based MCU, thereby allowing the ARM chip to actually run a very large program on it.
So I ask: is this possible to do? If not, why? How are they incompatible with each other? If so, how are they typically wired up? Does an engineer look at the datasheets for both chips and figure out the wiring/IO between them?
I guess at the end of the day, I'm wondering why there aren't more MCUs out there with crazy big memory; and I'm thinking it's either because most embedded/MCU programs don't need that much memory, or its because - for some reason - they can't.