4.3.6.2 Data Pointers
Pointers to objects that are located in only the data space are all 2 bytes wide.
A pointer qualified with __flash
or
__flashn
, where n
can range from 1 thru
5, can access objects data objects stored in program memory. Both these pointer types
are 16 bits wide. Pointers to __flash
use the lpm
instruction to access data; pointers to __flashn
use the RAMPZ register
and the elpm
instruction. Neither pointer can be used to access objects
in RAM.
These pointers must be assigned the addresses of objects that are
defined using the same qualifiers, so for example, a pointer to
__flash1
must only be assigned the addresses of objects that also
use the __flash1
qualifier.