A cyclic buffer working with DMA to send and receive from an UART (SERCOM). Seperate buffer for sending and receiving. Working on the SAM4L8-XPRO board and for the SAM4C Series. Written in C, fully bare metal (no intermediate libraries). Wrapping of buffer handled with DMA interrupts. Handling buffer boundaries (no override of input / output area). Functions to grab buffer In and Out position. And to specify the amount of data to be send (mainly end-pointer or count of characters).
Additionaly UART setup routine (only Baudrate). For the project I provide additional specification as PDF as attached.