Common Memory-Mapped IO operations and in-memory representations.
Project description
corel-mmio
Common Memory-Mapped Input/Output (MMIO) operations and in-memory representations, to aid in the development of packages which communicate with hardware containing a memory-mapped address space.
This package is part of the corel project ecosystem, which is a collection of Python packages for the cooperative development of software and firmware for memory mapped FPGAs, microcontrollers and other hardware.
- Supported Python versions: 3.10+
- Supported platforms: Linux, OSX
- Source: https://gitlab.desy.de/corel/corel-mmio
- Pypi: https://pypi.org/project/corel-mmio
- Documentation: TODO
- License: MIT
Features
- Unification of the interfaces involved in the interaction between software and Memory-Mapped Input/Output (MMIO) hardware.
- Object-oriented description of a memory map address space, providing register address access and validation and supporting multiple layers of submaps.
- Convenient asynchronous read/write methods attached to the memory-mapped
registers via an abstract "interface" class defined through the structural
subtyping of Python
Protocol. - Supports the development of hardware drivers which can be reused in different bench setups, where the underlying protocol (message format or communication protocol) changes, but the memory map of the device (and therefore the device operation) is common.
Acknowledgements
Concepts in corel-mmio have been inspired by the hdl_registers package. However, corel-mmio deliberately avoids a dependency on hdl_registers, so that it may be used in software architectures which strive to minimise dependencies.
Installation
This package is installable via pip from PyPI:
pip install corel-mmio
This package is installable via pip directly from this repository (via https or ssh), e.g.:
pip install 'git+https://gitlab.desy.de/corel/corel-mmio.git'
For developers, follow the usual git clone procedure and see the
Makefile for development commands.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file corel_mmio-8.0.0.tar.gz.
File metadata
- Download URL: corel_mmio-8.0.0.tar.gz
- Upload date:
- Size: 40.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8545ff4082f6973154d113560bf86e496d68bc2d91907345cd671e9a91583cc8
|
|
| MD5 |
af990eeba521a627916340b71f70a02e
|
|
| BLAKE2b-256 |
5b19f33bc3c857e5d610b01382ec48d35c4cef44d8c9674fff6ad95b387f8076
|
File details
Details for the file corel_mmio-8.0.0-py3-none-any.whl.
File metadata
- Download URL: corel_mmio-8.0.0-py3-none-any.whl
- Upload date:
- Size: 45.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52f8405331d28021759296f24866438400c7bbde33241f28651530ba5be48fa4
|
|
| MD5 |
7c45fc045b106d512561e9b720577bf3
|
|
| BLAKE2b-256 |
6a4b964f9c0002bd1d98447319887b1ccc9de7a8f628e8d6215bc6a55a8bf761
|