I'm working with the EA 1788 Board and the EA 4.33'' TFT Display. I started modifying "s_disply_board" project. The problem appeared when I loaded a font (for SWIM library) that needs a lot of storage memory. When compiling the next error message appears: "RamLoc64 overflowed by XXXX bytes". This is what I think it means: The data loaded in Flash is to big to fit in the internal RAM, so the startup sequence can't be run. Please correct my statement if it's false. I think I have to modify the startup sequence so the data loaded in flash is transfered to the external RAM (32 MB). Is this possible? I have a routine that inits the EMC (External Memory Controller). I think I have to call it at the beggining of the startup. I don't know how to modify the linker scripts so can I try the next trick? Go to Project Properties -> MCU Settings and change the location of RamLoc64 (Original: 0x1000 0000) to the location of the external RAM (0xA000 0000). I tried this but without success.
Thank you for your replies.
You could try changing the font arrays to type 'const' to get them placed in FLASH memory. This should reduce your RAM usgae requirements for something that we should probably located in non-volathile memory anyways - we'll check into this and (probbaly) make the default fonts all const.
for example, in the lpc_rom8x16.c file
Change to
There might be a few warnings/errors after this that require some type casts to clear up.