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 current support available:

  • SPARC 32-bit LEON3/4/5 (available since 2.5.0 release)
    • SPARC V8 ABI compliant
    • LEON4/5 supported by the generic LEON3 BSP
    • Support for Floating Point Unit (FPU) and non-FPU systems
  • RISC-V NOEL-V BSP (BSP under development) available on request: support@gaisler.com
    • RISC-V 32- and 64-bit architecture available in Zephyr official releases.

Specific SoC processor components and Boards are supported either via the generic BSP (user-provided configuration via DTS) or via specific BSPs available:

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)
  • Device Drivers from the BCC2 Bare-Metal Environment may be reused (1)
1) Only applicable to LEON processor systems
2) Only applicable to NOEL-V processor systems (under development)

Compiler Toolchain

SPARC and RISC-V pre-compiled GNU GCC based C/C++ compiler toolchains are available within the Zephyr Software Development Kit (SDK) starting with version 0.11.3 and in source code:

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, the official Getting started Guide is a great starting point. The guide will by default check out the Zephyr master branch. To work on a specific Zephyr release version the appropriate Git tag is selected instead, for example use the tag zephyr-v2.5.0 for 2.5.0 release:
   $ git checkout -B work zephyr-v2.5.0

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