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.
