For the kernel application, the serial peripheral interface (SPI) will be used. There are a number of core routines set up to control the device, allow users to get and set data to registers on the device. The SPI driver also uses DMA transfers to copy DMA into and out of the device. The user code will then use ioctl commands to tell the SPI device what activity it wants to perform. It will request to go to or from the device with a read or a write. When a read call is performed the device driver will set up a DMA transfer, enabling the data transfer and waiting for an interrupt. The read will terminate once the interrupt is received. The data is then available for copying into user space. The user code continues with the new data.

