3.5.3 How Can I Reduce RAM Usage?
Consider using auto
variables rather than
global
or static
variables as there is the
potential that these may share memory allocated to other auto
variables
that are not active at the same time. Memory allocation of auto variables is made on a
stack, described in 10.3 Auto Variable Allocation and Access.
Rather than pass large objects to, or from, functions, pass pointers which reference these objects. This is particularly true when larger structures are being passed.
Objects that do not need to change throughout the program can be located in
program memory using the const
qualifier (see 10.4 Variables in Program Memory). This frees up
precious RAM, but slows execution.