Zephyr RTOS Architectural port and BSPs for GRLIB processor IPs

Zephyr is an open-source Real-Time Operating System (RTOS) with device drivers and a cross-compilation toolchain that can be used with GRLIB System On Chip (SoC) processor designs. The Linux Foundation hosts the Zephyr Project which provides the software source code releases, documentation, forums and other resources available to the Zephyr Community.

Zephyr ProjectProcessor Support

The GRLIB processor IP families:

  • SPARC 32-bit LEON3/4/5
    • SPARC V8 ABI compliant
    • LEON4/5 supported by the generic LEON3 BSP
    • Single Vector Trapping
  • RISC-V NOEL-V BSP (BSP under development) available on request: support@gaisler.com

Specific SoC processor components and Boards are supported either via the generic BSP or via specific BSPs available:

Some features are enabled by the Gaisler Zephyr distribution. Please see below for details.

GRLIB IP device driver Support

The GRLIB IP library includes IP core are commonly found in our Processor Components and custom FPGA designs. The peripheral interfaces are supported by Zephyr Device Drivers for the following GRLIB IPs and may vary depending on Processor architecture:

  • Interrupt Controller (IRQMP(1), PLIC(2))
  • Timer (GPTIMER)
  • UART (APBUART)
1) Only applicable to LEON processor systems
2) Only applicable to NOEL-V processor systems (under development)

Gaisler Zephyr Distribution

The Gaisler Zephyr distribution consists of additions to the mainline Zephyr repository applicable to Frontgrade Gaisler processors. The current distribution adds the following to the official Zephyr 3.5.0 release:

  • Kernel improvements and features.
  • New BSPs
  • Zephyr API compatible drivers for GPIO, SPIM and ADC
  • Additional drivers available via Zephyr modules for SpaceWire, GRCAN and more

The Gaisler Zephyr Distribution comes as a series of git-patches that should be applied to your local Zephyr repository, as well as a Zephyr module containing custom device drivers. See the included documentation on how to install the distribution.

Compiler Toolchain

SPARC and RISC-V pre-compiled GNU GCC based C/C++ compiler toolchains are available within the Zephyr Software Development Kit (SDK):

Availability and Getting Started

SW and documentation packages are freely available via the Zephyr Project homepage and Git repositories.

To get started with Zephyr on LEON, please see the Gaisler Zephyr Distribution User's Manual.

Application development information and the kernel reference is available online via the Zephyr Project Documentation. Samples and Demos for Zephyr are also available.

Testing

The Zephyr in-tree kernel test suite can be executed with TSIM3 or QEMU provided by the Zephyr SDK. The test suite infrastructure also allows for targeting custom LEON systems.

The QEMU LEON3 board runs in the GitHub continuous integration flow. The QEMU system emulator distributed with Zephyr SDK provides a basic set of peripherals. TSIM3 is recommended for accurate LEON simulation and for simulating peripherals:

Other Useful Links