Content originally posted in LPCWare by Pacman on Tue Aug 26 18:20:28 MST 2014
I would like to vote for more on-chip SRAM.
SRAM is much more valuable than on-chip flash memory. I could do fine with just 8KB Flash, if I had 512KB SRAM, because adding external flash memory (NAND, NOR, SD/MMC, SPI or SPIFI based) is much easier than adding external SDRAM or even external SRAM.
Why, in my opinion, SRAM is more important:
1: Flash memory is already at 1MB.
2: You can load the program from external memories.
3: If you're driving a LCD display, or you're capturing images using a camera, you need a lot of SRAM
4: You can execute code quicker in SRAM.
5: It's possible to compress your code and data that you're storing in the flash memory, and then decompress it into SRAM when your microcontroller starts up.
6: Usually, you can optimize your code and data, so it doesn't use much flash memory.
-But that said... If I want to run an Objective-C program on my Cortex-M microcontroller, I would need around 800K flash memory (a bit more than 700K for libobjc).
...All that said... I think you can rest assured that NXP is constantly planning improvements.
-So my personal guess (without knowing anything about the internal plans, as I am an outsider), would be that we can expect increases both for flash memory and SRAM. You didn't ask "when can we expect that...", so I don't think I'll try and answer that question. ;)
Do you need more flash memory ? -Please let us know why (if it's not a secret); maybe there is a different approach to what you're trying to do.
You may have a bunch of libraries that you're building into your application, if so, I recommend reducing those libraries where you can. One thing I prohibit in my own sources, is the use of the printf family. It's simply not welcome, not even as a guest. - So if I want to send some strings via a serial interface, I just send plain text strings and numbers (decimal or hexadecimal). It uses very little space, compared to what printf & friends needs.
Also, I don't use malloc. If I really need memory allocation, I've written my own. It's quick, small and precise.