I've been reading a lot of microcontroller specs today, and I want to be sure I understand what I'm reading. Most of them have at least two kinds of memory. Please let me know if this is right:
Flash Memory: this is written in the course of programming the chip, but not modified when the program is running. Most kinds of flash memory can be overwritten a limited (but probably very large) number of times. Flash Memory of course keeps its contents when power is removed.
Internal RAM (also called SRAM): this can be modified while the program is written. Does this also keep its contents when power is removed?
Some MCUs have, in addition to these, some EEPROM memory. I know what EEPROM is, but I don't know how an MCU would make use of it. Can anyone provide a clue?
Assuming my understanding is correct, it's disappointing how limited microcontrollers are on internal RAM. PIC- and AVR-based ones have SRAM measured in bytes (or small kb, e.g. the 4kb on the ATMega128). Even the ET-ARM Stamp (using an LPC2119 ARM chip) has 128 kb of Flash, but only 16 kb of internal RAM.
What I'd really like to find -- no doubt for illogical comfort reasons
-- is something like an Apple II on a chip: 16k of Flash, and 48k or more of RAM. In theory, you could then put Applesoft BASIC (or something very similar) into the Flash, along with a "DOS" for accessing say an SD card, and then have the full 48k for BASIC programs and variables. But I'm just dreaming...
Thanks,
- Joe