5.3.9.1 Bank Type Qualifier
The __bank(n)
type qualifier and the
-maddrqual
compiler option are used to place objects in a particular
memory bank.
The data memory on PIC devices is arranged into memory banks. The compiler automatically allocates objects to one of the available banks, but there are times when you might require the object to be located in a particular bank, as might be the case if assembly code selects that bank prior accessing the object. They can be used to place objects in banks 0 through 3 (higher bank selection is not currently available).
This qualifier can be used with any variable with static storage duration,
for example to following places playMode
into bank 1:
__bank(1) unsigned char playMode;
These qualifiers are controlled by the compiler option
-maddrqual
, which determines their effect (see 4.6.1.1 Addrqual Option). Based on this
option’s settings, these qualifiers can be binding or ignored (which is the default
operation). Qualifiers which are ignored will not produce an error or warning, but will
have no effect.