Skip to main content

Common Memory-Mapped IO operations and in-memory representations.

Project description

corel-mmio

pipeline status coverage report

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.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

corel_mmio-8.0.0.tar.gz (40.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

corel_mmio-8.0.0-py3-none-any.whl (45.3 kB view details)

Uploaded Python 3

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

Hashes for corel_mmio-8.0.0.tar.gz
Algorithm Hash digest
SHA256 8545ff4082f6973154d113560bf86e496d68bc2d91907345cd671e9a91583cc8
MD5 af990eeba521a627916340b71f70a02e
BLAKE2b-256 5b19f33bc3c857e5d610b01382ec48d35c4cef44d8c9674fff6ad95b387f8076

See more details on using hashes here.

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

Hashes for corel_mmio-8.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52f8405331d28021759296f24866438400c7bbde33241f28651530ba5be48fa4
MD5 7c45fc045b106d512561e9b720577bf3
BLAKE2b-256 6a4b964f9c0002bd1d98447319887b1ccc9de7a8f628e8d6215bc6a55a8bf761

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page