devLib2  2.12
devLib2 MMIO Bus Access Library

What is it?

devLib2 is an extension to the EPICS OS independent VME bus access library found in the EPICS Base. The MMIO API is included in EPICS Base >=3.15.0.2

Source

Releases can be found at https://github.com/epics-modules/devlib2/tags

VCS source browser https://github.com/epics-modules/devlib2

Or checked out with

git clone https://github.com/epics-modules/devlib2.git

The canonical version of this page is https://epics-modules.github.io/devlib2

Requires

EPICS Base >= 3.14.8.2

http://www.aps.anl.gov/epics/

Features

devLib2 adds features in several areas: PCI bus access, VME64x CSR/CSR, and memory mapped I/O (MMIO) operations.

PCI Bus

The PCI bus access interface is entirely new. It is currently implemented for RTEMS, vxWorks, and Linux (with some limitations). The PCI interface provides functions for: searching the bus, mapping devices into process memory, and (dis)connecting interrupts.

Runtime selection of implementations is also supported. This allows code using this interface to compile and link for all target, even those which lack an implementation.

Generic PCI driver

The exploreApp PCI driver/hardware development tool is a generic EPICS driver intended to support development of custom PCI/PCIe devices. It provides a set of records which read/write to individual registers. Basic support for interrupts is also available (Linux only).

VME CSR

The VME64x library provides several functions for accessing the CSR/CR address space defined by VME64 and extended by VME64x. This includes: probing by slot number and matching by identifier registers, definitions of standard registers, and functions to access them.

MMIO

The MMIO library provides an OS and CPU architecture independent way to safely access memory mapped I/O devices. Makes guarantees of the width and order of accesses.

Changelog

2.12 (January 2024)

2.11 (Apr 2020)

2.10 (Nov 2018)

2.9 (July 2017)

2.8 (Sept. 2016)

2.7 (Jan. 2016)

2.6 (May 2015)

Work by Andrew Johnson

Work by Till Straumann

Work by Dirk Zimoch

Work by Michael Davidsaver

2.5 (May 2014)

2.4 (Oct. 2012)

2.3 (Apr. 2012)

2.2 (Sept. 2011)

2.1 (Jan. 2011)

2.0 (Sept. 2010)

Author
Michael Davidsaver mdavi.nosp@m.dsav.nosp@m.er@gm.nosp@m.ail..nosp@m.com
Till Straumann strau.nosp@m.man@.nosp@m.slac..nosp@m.stan.nosp@m.ford..nosp@m.edu
Dirk Zimoch dirk..nosp@m.zimo.nosp@m.ch@ps.nosp@m.i.ch
Gabriel Fedel gabri.nosp@m.el.f.nosp@m.edel@.nosp@m.ess..nosp@m.eu