LPC1788 project upgrade

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPC1788 project upgrade

607 Views
aut
Contributor I

Hi all.

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

  • LCD TFT 7" display
  • 64 MByte external SDRAM
  • 64 MByte external FLASH with standard SPI and QUAD SPI
  • SD card interface
  • CAN interface
  • USB interface
  • UART interface  
  • external EEPROM I2C

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?

Many thanks

 

   

0 Kudos
2 Replies

586 Views
frank_m
Senior Contributor III

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.

0 Kudos

597 Views
carstengroen
Senior Contributor II

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) ....

0 Kudos