4.3.4.7 How Can I Load a Value Into Flash Memory?
The compiler provides different ways of defining Flash variables.
- A variable can be explicitly placed into Flash using an
appropriate
spaceattribute. - Variables are implicitly placed into Flash in the default
const-in-code memory model if they have the C
consttype qualifier.
These differences allow you to choose how much work you want to do to
access variables, and how much you want the compiler to do. The compiler has the least to
do when you simply specify the attribute space(prog), and the initial
value; which leaves the access (usually via tblrd instructions) up to you,
the programmer. The compiler has the most to do when you combine the
space(prog) attribute with an appropriate access qualifier, such as
__eds__ or __prog__.
Also, there is often a single page of Flash space dedicated to
const qualified objects. See -mconst-in-code in the
following sections of this user’s guide for more details:
