|
They are used to build pin tables for the PIO_Configure() subroutine. The include file you found them in defines the board characteristics, whether it is used or not will depend on if the particular pin/peripheral is needed. If you use a slightly different board you just need to update the include file, this is how Atmel deals with the 9260-EK, 9263-EK, etc.
Here's how the text substitution macros work for the SDRAM pins
static const Pin pinsSdram[] = {PINS_SDRAM};
// Enable corresponding PIOs PIO_Configure(pinsSdram, 1);
where board.h handles D16..D31 thusly..
/// List of all SDRAM pins definitions. #define PINS_SDRAM {0xFFFF0000, AT91C_BASE_PIOD, AT91C_ID_PIOCDE, PIO_PERIPH_A, PIO_DEFAULT}
You could do this manually by programming the bits in the PIO controller "SFR", but that is prone to error, and you have a lot more pins. This method is cleaner and more efficient.
|