Hi,
LPC2148 + WinARM
I've a very large array of unsigned shorts in my application. It has
21900 elements which has the pixels of a photo that I want to show in
LCD. (S65 - LS020)
To calculate the values of each pixel in 5-6-5 RGB format I made a PC
application. It loads an image and converts it to C source file. It's
simple but it works.
I want to use my unsigned short array in WinARM. My array looks like
this:
unsigned short image[ 21913]={
0xFFB7, 0xFFB6, 0xFFB6, 0xF796, 0xF796, 0xF796, 0xF796, 0xF796, 0xF796,
0xF796, 0xF775, 0xF775, 0xF775, 0xF775, 0xF775, 0xF775, 0xF775, 0xF775,
0xF775, ....
};
but after adding this into source code I can't compile it anymore.
"region RAM is full"....
apperently compiler tries to allocate RAM for this array. Recently I
used many other non-ARM7 CPUs and compilers and it is possible to place
an array in program memory ( FLASH ROM) instead of RAM.
How can I let it run from Flash?
Regards
Try with const unsigned short image... const should let the compiler mark the array as read only and place it in the ro-data input section. The usual linker-scripts let the linker place ro-data input-sections in a output-section located in flash-memory.
yes, I tried const unsigned char just after I post the topic. It worked fine. Now I can display any image I want after I convert it with my program.
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.