The OpenTitan repository contains device libraries which are used within our Reference Firmware Images, and can (and should) be used by other OpenTitan device software.
These are organised into the sw/device/lib
directory.
sw/device/lib/base
]({{< relref “sw/device/lib/base/README.md” >}}) contains the Base Libraries, including [freestanding C library headers]({{< relref “sw/device/lib/base/freestanding/README.md” >}}). The Base Libraries are simple libraries that can be used by any other OpenTitan device software libraries.sw/device/lib/dif
]({{< relref “sw/device/lib/dif/README.md” >}}) contains the [Device Interface Functions]({{< relref “doc/rm/device_interface_functions.md” >}}).sw/device/lib/arch
]({{< relref “sw/device/lib/arch/README.md” >}}) contains the libraries to be used on specific device configurations (for instance FPGA, Simulation, etc.).sw/device/lib/runtime
]({{< relref “sw/device/lib/runtime/README.md” >}}) contains general libraries for more advanced on-device functionality (including logging, printing, and interacting with the RISC-V core).{{% sectionContent %}}