SPI Slave DMA
=============
In this application example SPI master transfer "Hello World!" message using DMA
channel 0 to slave. SPI Slave will receive data using DMA channel 3 and store in
the rx_buffer. SPI slave will send again received message back to master using
DMA channel 2. SPI master will receive message using DMA channel 1

Supported evaluation kit
------------------------
- `ATSAME54-XPRO <http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=ATSAME54-XPRO>`_

Drivers and Middleware
----------------------
* DMA SPI MASTER
* Synchronous SPI Slave
* DMA
* STDIO Redirect

Interface settings
------------------
- USART
	- No parity
	- 8-bit character size
	- 1 stop bit
	- 9600 baud-rate

- SPI MASTER
	- Mode 0
	- 8-bit character size
	- MSB First
	- 1000000 baud-rate

- SPI Slave
	- Mode 0
	- 8-bit character size
	- MSB First

- DMA
	- DMA Channel 0 - SPI Master TX
	- DMA Channel 1 - SPI Master RX
	- DMA Channel 2 - SPI Slave TX
	- DMA Channel 3 - SPI Slave RX

Hardware Connection
-------------------
    =======================  ======================
      SPI Master(SERCOM4)       SPI Slave(SERCOM6)
    =======================  ======================
    PB27 **(MOSI)**             PC04 **(MOSI)**
    PB26 **(SCK)**              PC05 **(SCK)**
    PB29 **(MISO)**             PC07 **(MISO)**
    PB28 **(CS)**               PC06 **(CS)**
    =======================  ======================

Running the demo
----------------
#. Press Download Pack and save the .atzip file
#. Import .atzip file into Atmel Studio 7, File->Import->Atmel Start Project.
#. Build and flash into supported evaluation board
#. Open the serial port in Atmel Data Visualizer or any serial port monitor.
#. Press the Reset button.
#. You should see the **Hello World!** message on console received by SPI slave and SPI master