Real-Time Linux Yocto BSP for x86 and iMX6/iMX7/iMX8 CPUs
LinRT Real-Time Linux Yocto BSP for i.MX and x86 are available in 5 deliveries, depending on the latency requirement level expected by the application. LinRT provides Oxygen and Mercury BSPs with PREEMPT-RT to adapt standard Linux kernel API to be determinist or for Cobalt add Xenomai 3 extension to offer RTDM drivers and a POSIX real-time runtime for most demanding applications.
LinRT Mercury Xenomai API with VxWorks® or pSOS® emulator could be a solution to port a real-time application on Linux embedded systems too.
- Helium BSP (for i.MX only) : Linux 4.9 fslc-imx and Linux 4.14 fslc-imx Server, Desktop or Low Latency Preempt Scheduling
- Mainline BSP : Linux 4.14 mainline kernel Server, Desktop or Low Latency Preempt Scheduling
- Oxygen BSP : Linux 4.14-rt fslc-imx kernel with determinist PREEMPT-RT patch
- Mercury BSP : Linux 4.14-rt fslc-imx kernel with PREEMPT-RT patch and Xenomai 3.1 Mercury Real-Time library framework and WxWorks / pSOS emulators
- Cobalt BSP : Linux 4.14-ipipe fslc-imx kernel with IPIPE and Xenomai 3.1 Cobalt Hard Real-Time extension with POSIX API
Note: for 2021, the new LinRT BSPs 3.0 revision will be based on low latency Linux 5.4 PREEMP-RT.
The new LinRT Real-Time Linux Cobalt BSP 3.1 with Linux 5.4 ipipe / Xenomai is scheduled for the second half of 2021
Mainline LinRT BSP with DRM/KMS
LinRT Mainline BSP with standard Linux Kernel 4.14 LTS, is based on Yocto Thud 2.6. It is oriented for using DRM/KMS API compatible, not fully compatible with hardware IUP and VPU i.MX features and NXP API library usage. This solution is mandatory for LinRT’s Debian distribution, recommended for dual-head LVDS displays, and for video capture applications with standard Video4Linux Camera sensor support for example.
- Linux mainline kernel 4.14 DRM framebuffer Helper
- Qt 5.12 framework with KMS/DRM support and GPU openGL ES 2.0/3.0 driver
- Xorg server 1.19.3 with xf86-video-armada and Linux mainline kernel Etnaviv DRM support (for X11 images only)
- Qt 5.12 framework for X11 server with DRM/Mesa 2D openGL support (for X11 images only)
- Web Browser Chromium X11 80 revision for X11 or Chromium Ozone 80 revision for Wayland
Demo and Pre-build Images
LinRT proposes demonstration images for each BSP version, with limited features for testing and full development images ready to go with SDK for Phytec Mira i.MX6 SBC, new Phytec Polaris i.MX8M and Polis i.MX8M-Mini SBC SDKs for Pre-built images are provided with platform devicetree sources to give the possibility to rebuild it with your adaptations and own driver’s devicetree driver entries.
Available demo Images :
- LinRT full multimedia qt5 demo image
- LinRT X11 full multimedia qt5 demo image
Find a LinRT Linux Real-Time Yocto BSP demo image here…
Available Pre-built Images :
- LinRT headless tiny image
- LinRT tiny qt5 image
- LinRT tiny video capture image
- LinRT full multimedia image
- LinRT video capture image
- LinRT full multimedia Qt 5 image
- LinRT Wayland/Weston full multimedia Qt 5 image
- LinRT X11 full multimedia Qt 5 image
- LinRT X11/Sato full multimedia Qt 5 image
- LinRT HTML5 image
- LinRT X11 HTML5 image
- LinRT Debian 9 “Stretch” image for i.MX6Q/DL (with NXP Linux kernel 4.14 PREEMPT-RT BSP)
Software Development Kit and IDE support
The LinRT SDKs are built by collecting all development packages from Yocto’s recipes used for building the runtime Linux image, to have all necessary headers and libraries for your application development project.
- Yocto SDK GNU GCC and Linux headers
- Yocto Qt 5 LTS SDK with qmake spec environment for Yocto SDK toolchain and Device Kit
- OpenCV 3 C/C++ SDK libraries for NXP i.MX6 and i.MX8M
- Xenomai Real-Time development packages and xeno-config tools for GNU C/C++ flags and build options
- NXP Kinetis IDE support for i.Mx7 FreeRTOS applications with JTAG debug for M4 core
LinRT Network stacks addon
LinRT Real-Time Linux Yocto BSP is designed to addon wire and wireless communication stacks for connected devices and industrial applications. With PREEMPT-RT, LinRT Oxygen, and Mercury BSPs propose low-latency network support for applications. With Xenomai extension and RTDM drivers, LinRT Cobalt BSP provides a real-time Linux solution for field bus as CANopen nodes and Powerlink equipment.
HTML5 Web solution
LinRT HTML5 solution is based on Qt 5.12 LTS QWebEngine Framework, itself based on Chromium version 56 with additional security fixes from newer versions, and openGL ES 2.0 support for i.MX6/i.MX8 Vivante GPUs. LinRT Yocto HTML5 image embeds a Node.JS server with MRRA and UPM libraries with specific platform hardware support, and offers HTTP, REST, and WebSocket compatible APIs for developers.
- NodeJS 8.4
- MRRA and UPM libraries for i.MX6 phyCORE and phyFLEX SOMs
- Qt QWebEngine HTML5 render with GPU WebGL support.
- Full Chromium Web browser for X11 server with Vivante GPU support
LinRT Yocto BSP provides, full multimedia images, gstreamer with hardware codecs and VPU support, H264 and MPEG4 encoder/decoder. For video capture on i.MX processor, LinRT proposes two solutions, with IPUv3 i.MX capture API, compatible with FSL Community BSP or with IPU and video4linux capture API from mainline Linux Kernel 4.14
- Audio SDL2 with Hardware Codec Support
- Gstreamer with Hardware codec support (GPU/VPU)
- Qt Multimedia Libraries
- Video4Linux with full hardware VPU encoder/decoder support (not available with Mainline BSP version)
- Video capture with Linux media capture API for i.MX from Linux kernel 4.14 (with Mainline BSP version only)
- OpenCV 3 image processing framework with GPU and VPU support for i.MX6/i.MX8
Real-Time Linux BSP optimized for i.MX platforms
LinRT Helium, Oxygen, Mercury, and Cobalt Yocto BSPs are based on Yocto Rocko 2.4.4 or Yocto Thud 2.6.4, and FSL Community BSP in order to provide support for iMX based platforms and include official Linux kernel stable updates backported features and fixes coming from LinRT, vendors, kernel community, and FSL Community itself. It includes support for many IPs such as GPU, VPU, and IPU for NXP i.MX6, i.MX7 and i.MX8 series processors.
- Secure and fast boot approach
- Optimized and rugged files system images for typical use cases
- Low-latency and Real-time extensions available
- Stable packages and Security fixes
- Multimedia and video capture support
- For network-connected devices and Fieldbus applications
LinRT proposes two solutions for GUI interface Framework, one with support with i.MX multi-framebuffer FSL Community/NXP’s BSP approach and the other with DRM/KMS support from Linux mainline kernel.
Note: for 2021, new LinRT BSPs revision 3.0 will be based on Yocto Dunfell 3.1, Linux 5.4 NXP
Debian Preempt-RT for i.MX platforms
LinRT Debian 9 “Stretch” Preempt-RT Distribution is based on LinRT Oxygen Yocto BSP, based on Linux 4.14 PREEMPT-RT kernel with multi-framebuffers using Linux FSLC/NXP i.MX API Compatibility and provides the most efficient IPU and VPU hardware support on Linux. This solution is recommended for applications that require the use of multiple separate-use displays, one as a GUI touch panel and the other for the video screen, for example.
i.MX multi framebuffer support with imx-gpu-vivante galcore driver and openGL ES2.0/3.0 extension.
Note: for 2021, the new LinRT Debian distribution will be based on 11 “Bullseye” image for iMX6Q/DL and iMX8M/M-Mini (with NXP Linux kernel 5.4 PREEMPT_RT BSP)
Multi Framebuffer GUI interface Framework
LinRT Helium, Oxygen, Mercury, and Cobalt Yocto BSPs with multi-framebuffers use Linux FSLC/NXP i.MX API Compatibility and provides the most efficient IPU and VPU hardware support on Linux. This solution is recommended for applications that require the use of multiple separate-use displays, one as a GUI touch panel and the other for the video screen, for example.
i.MX multi framebuffer support with imx-gpu-vivante 6.2.4 galcore driver and openGL ES2.0/3.0 extension.
- Qt 5.9 LTS and Qt 5.12 LTS framework openGL ES 2.0/3.0 support for Multi-FB and (eglfs, linuxfb minimal, offscreen and vnc platform plugins supported) or X11 server (linuxfb, minimal, offscreen, vnc and xcb platform plugins supported)
- Qt 5.9 and Qt 5.12 framework for Wayland/Weston GUI framework
- Xorg server 1.19.3 with xf86-video-imx-vivante 6.2.4 driver and Vivante DRM support (for X11 images only)
Note: for 2021, the new LinRT Linux Real-Time Yocto BSP revision will be based on Qt 5.15 LTS and Qt 6.1 (optional) framework