This project outlines the integration of an FPGA-based UARTLite peripheral with Linux user-space applications using PCIe XDMA. It features a custom Software-Defined Radio (SDR) board built on an FPGA Artix-7, a GPS SIM68 module, and an AD9361 RF transceiver. The project implements a Linux TTY driver for UARTLite, accessible via /dev/ttyULx
, and offers an alternative direct access method using Python and mmap
.
Key components include:
The article discusses the system architecture, driver implementation, and testing on the custom SDR platform. It emphasizes the importance of effective communication between FPGA and CPU, particularly in SDR, robotics, and IoT applications. The driver allows for easy integration of FPGA peripherals into Linux systems, minimizing manual configuration and enhancing performance through efficient data handling methods.
The project also includes detailed descriptions of the hardware setup, software stack, driver implementation, and the process for building and testing the driver, along with Python access for rapid prototyping and debugging.