LPC1788 internal flash memory dimension insufficient

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

LPC1788 internal flash memory dimension insufficient

1,066 Views
aut
Contributor I

Hi all,

I'm using the following configuration:

- LPC1788FBD208

- 128 Mbyte external SPI FLASH (2 x IS25LP512M-JLLE)

- 64 Mbyte external 32 bit SDRAM (1 x IS42S32160F-7TLI)

- 2 Kbyte external I2C EEPROM (1 x M24C16-RMN6)

- USB connection

The internal 512 Kbyte flash memory is insufficient for my code. I'm thinking to store the code in the external flash by means the USB port (using a bootloader), load it in the SDRAM at the startup and execute it directly from the SDRAM. Can a similar system work fine? Do you have any other suggestion?

Thanks

0 Kudos
6 Replies

949 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Nico Aprile,

Thank you for your interest in NXP Semiconductor products and
for the opportunity to serve you.
Q1) Can a similar system work fine?
-- Yes, it can work.
Q2) Do you have any other suggestion?
-- The application note AN10866 describes how to add a custom secondary USB bootloader to the LPC1700 series MCU, it would help you to design this system and please refer to it for details.


Have a great day,
TIC

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

949 Views
aut
Contributor I

Hi jeremyzhou,

thank you for your support.

Q1) Yes, it can work.

-- Ok, it can work but will the performance be the same or not? In my system the external SDRAM bus is often busy because I use many variables stored in SDRAM, moreover, I have a 800x480 LDC display, so, I use the SDRAM to store the three frame buffer. Is that a problem? Do you advice me to proceed as I said?

Q2)  The application note AN10866 describes how to add a custom secondary USB bootloader.....

-- I already use an USB bootloader to write the internal flash with the main firmware.  

Thanks

0 Kudos

949 Views
carstengroen
Senior Contributor II

Nico,

I have a benchmark I have been running long time ago on one of our systems (LPC1778 at 120 MHz, SDRAM at 60 MHz). It was basically doing a number of Dhrystone tests. The SDRAM was a 16 bit wide databus and there were NO LCD connected/used (which will take quite a substantial bandwidth of the SDRAM if used)

The results were:

(tools were Keil)


Running from SDRAM with O3/optimize for time => 2.7 seconds
Running from internal Flash with O3/optimize for time => 0.9 seconds
In both cases the data was located in SDRAM, it was only the code that was moved from SDRAM to Flash.

I know this is not exactly what you were asking for, but maybe it will give you a feeling for what is possible.

0 Kudos

949 Views
aut
Contributor I

Hi Carsten,

Thank you for the answer. I really appreciated your information. I didn't think that the speed performance reduction was so much. This could be a problem for the LCD screens. I have to do a test. Have you any suggestion to avoid or reduce as much as possible the loss performance when the code running from SDRAM? Are there other option different? 

Thanks

0 Kudos

949 Views
carstengroen
Senior Contributor II

Hi Nico,

I don't think there is much to do in that case, my SDRAM was running at 60 MHz and CPU at 120 MHz. Maybe you can lower the CPU clock and thereby reach a higher clock on the SDRAM. I run the CPU at its max 120 MHz, and as I remember it, the 1788 has 90 MHz as max for the SDRAM interface. So theoretically you could maybe run the CPU at 90 MHz to get full speed on SDRAM, but I don't think that would change much "overall" performance wise. But it might be something to check ? Another thing that will help you, is that you run 32 bit wide databus and I was only running 16 bit wide databus due to lack of GPIO signals. This will help you quite a lot on the LCD interface as the LCD/DMA can fetch double as much data pr cycle.

0 Kudos

949 Views
aut
Contributor I

Carsten, many thanks. I will do some tests considering also your indications.

Have a nice day. 

0 Kudos