Skip to content

Simple library to make Python driver development for AXI interfaces on Zynq platforms as simple and user friendly as possible.

License

Notifications You must be signed in to change notification settings

luca-della-vedova/axi_python_utilities

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

axi_python_utilities

Simple library to make Python driver development for AXI interfaces on Zynq platforms as simple and user friendly as possible.

Description

Provides a base class RegisterInterface to interface to PL peripherals from userspace.

Assumes that PL peripherals addressed are using UIO drivers. Upon creation of a RegisterInterface the /sys/class/uio folder will be scraped by UIOProber and information about all UIO devices will be saved. Subsequently, the RegisterInterface will open and mmap the file in /dev corresponding to the desired device.

In case multiple IPs with the same name are present a list will be returned and an index will have to be passed to the RegisterInterface initialization to specify which UIO device must be opened

Usage

Import the module and make your object inherit from RegisterInterface. Examples of how to write your own module to interface to PL can be seen in sample_driver.py

Currently unsupported features

  • IPs that map multiple memory regions.
  • Bitfields inside registers.

Created by Luca Della Vedova - [email protected]

About

Simple library to make Python driver development for AXI interfaces on Zynq platforms as simple and user friendly as possible.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages