An xPack with the µOS++ support for the SiFive Core Complex devices

Usage no npm install needed!

<script type="module">
  import sifiveDevices from 'https://cdn.skypack.dev/@sifive/devices';


SiFive device specific files

This project provides support for SiFive RISC-V microcontrollers.

Developer info

This section is intended to developers who plan to include this library in their own projects.


A recent xpm, which is a portable Node.js command line application.

Compiling the source code requires a modern C++ compiler, preferably GCC 5 or higher.

Easy install

This package is available as @sifive/devices from the npmjs.com registry; with xpm available, installing the latest version of the package is quite easy:

$ xpm install @sifive/devices@latest

This package is also available from GitHub:

$ git clone https://github.com/micro-os-plus/sifive-devices-xpack.git sifive-devices-xpack.git

How to use

The standard way to include the device files is

#include <micro-os-plus/device.h>


  • SIFIVE_FE310

Known problems

  • the os_terminate() function is not fully implemented, it must use either the Watchdog or PMU+RTC to trigger a system reset.

Maintainer info

How to publish

  • commit all changes
  • update CHANGELOG.md; commit with a message like CHANGELOG: prepare v0.1.2
  • npm version patch
  • push all changes to GitHub
  • npm publish


The original content is released under the MIT License, with all rights reserved to Liviu Ionescu.