4.4.3.1 Size Limitations of Program-memory Objects

Objects defined using just const, or const and __memx are limited only by the available program memory, and objects defined using the progmem attribute can span multiple flash segments, but functions from the pgm_read_xxx_far() family must be used to access them. Objects defined using the __flash, or __flashn qualifiers are limited to the memory available in one 64 KB segment of flash memory and must never cross a segment boundary.

Note that in addition to the data itself, extra code is required to read data in program memory for those devices that do not have program memory mapped into the data space. This code might be library code that is included only once; however the code sequences to read program memory are typically longer that those to read from RAM.