Is there a way to put a large character array (several thousand bytes) into program storage space rather than global variable space (limited to 2048 bytes total)? I know we can do that with print statements ( Serial.println(F("text")) ). Thanks.
Look into PROGMEM.
Yes, use PROGMEM when you create the array. The sketch cannot change the data; there have been developments in other topics to provide code in the bootload space that a sketch can call out to change flash memory.
Thanks for your reply. Unfortunately PROGMEM will not work for me as I can't use a CONST variable. I need this to store keyboard entries.
Maybe this could be a way to store the data (if you can not define them beforehand via PROGMEM)
Wouldn't a sd-card be a better place to store the data to?
Are you creating a keylogger for wireless keyboards?
MartyL: Thanks for your reply. Unfortunately PROGMEM will not work for me as I can't use a CONST variable. I need this to store keyboard entries.
If the data is changing frequently, you shouldn't be putting it in program memory. Maybe you need to consider using a chip with more SRAM?