I have to upgrade an electronic board with an LPC1788 microcontroller. I have to redo the PCB. The reason is due to the firmware size too big. Setting the compiler to maximum "size mode" optimization, the current firmware size is near to the maximum allowed flash size, so, currently I can't add any software update.
The current project is composed by
I know that LPC4088 is pin-to-pin compatible with LPC1788 but it has the same (512 kByte) flash memory size.
I want to choose a MCU with better performance, with a flash size at least double or triple and with an architecture that allow me to recycle most of the current software.
Have you any suggestion?
If you just want to implement one latest change or bugfix that does not fit in, you might consider a different toolchain. The Keil compiler is renowned for it's compact code size, compared with other compilers.
OTOH, if you plan several incremental updates and extensions, an upgrade of the controller is probably required.
> I know that LPC4088 is pin-to-pin compatible with LPC1788 but it has the same (512 kByte) flash memory size.
In my experience, porting a serious firmware to another MCU is far more effort than a PCB reshuffle.
Have you considered executing out of the SDRAM ?
I do this in quite a few projects, load the application from NAND diskdrive to SDRAM, and execute it from there. You will of course have a speed reduction, but maybe you can get around that by placing code cleverly in Flash/SDRAM. Just a though to save some work (maybe it is not possible for a number of reasons) ....