Large Character Arrays Into Program Storage

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)

Writing to FLASH from application.

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?