Cobham Gaisler AB provides IP cores and supporting development tools for embedded processors based on the SPARC architecture. We specialize in digital hardware design for both commercial and aerospace applications

Linux for LEON processors

Linux support for LEON3/4 is available in the LEON Linux 4.9 and 3.10 kernels distributed here and in the official Linux kernel from kernel.org. The LEON Linux kernel is based on a long term stable version of the mainline also used by the Long Term Stable Initiative (LTSI) project to ensure that the kernel is actively maintained by a large community and industry. The LEON kernel supports SPARC V8 systems with floating point (FPU) and memory management unit (MMU) in both single-core and symmetric multi-processing (SMP) configurations. The overview document describes the LEON Linux software environment and requirements. All host tools and Linux software are provided in full source. Documentation, toolchain and software can be downloaded from our Linux download page.

LINUXBUILD is Cobham Gaisler's open-source embedded software development environment for Linux. It focuses on connecting all LEON utilities with the Linux kernel and applications to obtain a Linux image. It integrates all required steps including configuration and cross building of Linux kernel, root file system, LEON Linux Loader and boot loader into a single graphical user interface. The Buildroot package has been integrated to allow rapid development of embedded Linux systems.

Hardware supported by LEON Linux

The LEON Linux kernel has software support for a wide range of commercial interfaces available in the GRLIB IP Library. Most device drivers are available in the mainline sources and adheres to Linux's standard framework for respective interface. It ensures good platform independent software support in existing userspace applications and through APIs for writing custom applications. Below is a summary of LEON specific device drivers:

  • LEON3, LEON4, LEON3-SMP and LEON4-SMP
  • MMU, V8, FPU
  • GPTIMER System Clock Timer
  • IRQMP or IRQAMP interrupt controller
  • APBUART system console
  • GRETH 10/100 and 10/100/1000 Network driver using the MDIO layer
  • GRPCI or GRPCI2 PCI Host support
  • GRUSBHC USB 1.1/2.0 Host controller
  • GRUSBDC USB 1.1/2.0 Device controller
  • GRVGA Graphical Frame Buffer
  • GRPS2 mouse/keyboard PS/2 controller
  • GRCAN and OCCAN implements the Linux socket CAN 2.0b interface
  • GRGPIO supports the generic General Purpose I/O model of Linux
  • SPICTRL supports SPI master interface through the spi-fsl driver
  • I2CMST support I2C master interface through the i2c-ocores driver
  • SPIMCTRL SPI master support

Additionally there is a GRLIB driver package available from the download page that contains the following support:

  • GRSPW SpaceWire driver kernel library
  • GRSPW SpaceWire driver zero-copy user-space interface
  • GRSPW ROUTER APB driver
  • MAPLIB linear physical memory library for zero-copy GRLIB device drivers

GNU Toolchain and C Library

The prebuilt LEON Linux toolchain for Linux 4.9 includes the software listed below.

  • GNU Compiler Collection (GCC) 4.9.4
  • GNU BINUTILS 2.24
  • GNU C Library (GLIBC) 2.20

The older prebuilt LEON Linux toolchain for Linux 3.10 includes the software listed below.

  • GNU Compiler Collection (GCC) 4.4.2
  • GNU BINUTILS 2.20.1
  • GNU C Library (GLIBC) 2.9

Optionally a custom toolchain can be built based on µClibC or GLIBC from within the LINUXBUILD environment.

LEON Linux vs. kernel.org and LTSI kernels

The current official Linux sources available at kernel.org has support for LEON3 and LEON4. Cobham Gaisler actively develops the Linux kernel's LEON support, submitting patches to the official kernel. All work such as new drivers and mainline LEON patches are available in the long term stable LEON Linux kernel distribution.

The LEON Linux kernel is based on a LTS kernel version from kernel.org that is also used by the Long Term Stable Initiative (LTSI) project. The industry that drives the LTSI ensures the kernel will be actively supported for a long time and additional back ported functionality is applicable to the LEON Linux kernel. The LEON Linux kernel is branched from the LTS releases from kernel.org, thus it does not contain patches from LTSI but they can easily be applied.

Buildroot

Cobham Gaisler supports a version of the open-source Buildroot tool that is developed by the community at buildroot.org. Buildroot targets embedded systems supporting both GLIBC and uCLIBC which makes it suitable for the typical LEON user. It supports several hundreds of useful userspace applications which can be automatically included in the generated root file system as selected by the user. LINUXBUILD has integrated the Buildroot tool to easy get started using it in an LEON software environment. A standalone Buildroot package including additional LEON patches can also be obtained from the Linux download page.

LEON specific documentation about Buildroot is found in the LINUXBUILD User's Manual.

MKLINUXIMG

Cobham Gaisler provides an open-source RAM loader for the SPARC Linux kernel. The SPARC kernel requires low-level support in order to successfully run Linux. It is responsible to implement low-level initialization during boot and functionality requested by the kernel during run-time. The tool links a Linux image to a specific location in RAM and integrates a loader that is configured according to the user's command line options. See the MKLINUXIMG User's Manual for more information.

The generated Linux image can be loaded to RAM and executed with GRMON, TSIM or GRSIM. It can also be used with MKPROM to create an bootable ROM image. Sample single-core and multi-core images supporting standard systems such as GR712RC-BOARD and GR-CPCI-GR740 are available from the download page.