Software Design

Integrating all the software components needed for an embedded Linux system can be a time-consuming and complex task. Successful fulfillment of this task ensures the basic vitality and functionality of applications.  The ARIES Embedded engineering team provides support and consulting to application developers for all low-level aspects of Embedded Linux systems: from the initial porting of Linux on your boards to the development of device drivers and other low-level components according to your specifications as well as a bug fixing for the Linux kernel, U-Boot or the Yocto Project.

ARIES Embedded offers efficient services in the following major areas:

  • Software Development:
    • Linux Kernel & Device Drivers
    • Bootloader
    • Graphics Support
    • Life Cycle Management
    • Tools
  • Consulting on different aspects of Linux systems and software developement
  • Trainings

 

Linux Kernel & Device Drivers

Wide practical experience gained by our engineers with numerous ARM platforms (Freescale, Atmel, Texas Instruments, Altera/ Intel FPGA, etc.) and other archetectures (RISC-V, MIPS, PowerPC, etc.) allows them to adapt the Linux kernel for custom hardware platforms and write additional Linux device drivers.  We consult our customers on the initial project phase on appropriate hardware selection in order to reduce the amount of development effort and costs needed to use the Linux kernel on a given platform.

ARIES Embedded has experience and expertise in the kernel subsystems relevant for base platform support (clocks, pin-mixing, power management), NAND, audio, network, graphics, input, industrial sensors, RTC, and more. In order to illustrate the concepts of GNU/Linux kernel internals and device driver development ARIES Embedded offers to the customer the Embedded Linux - Device Drivers training.

Bootloader

The bootloader is the most important prerequisite to run Linux on an Embedded System. ARIES Embedded supports your project with development services for Open Source bootloaders, i.e. U-Boot.

U-Boot is commonly used on popular SoC-architectures (ARM, MIPS, PowerPC, ... boards).  Amongst others, it provides the basic infrastructure support to bring up a board to a point where it can load a linux kernel and start booting your operating system.

Graphics Support

ARIES Embedded supports the development and deployment of graphics drivers and toolkits for Embedded systems. Our skilled engineer port the Linux framebuffer (fbdev) on different SOCs and customers boards. Depending on the customer specific requirements ARIES Embedded offers the most optimal solution for the development of GUI applications based on Qt framework for Embedded Linux, HTML5 or the direct using of C/C++.

Life Cycle Management

Keeping Embedded Systems manageable, updateable and maintainable during the entire life cycle of a product is a really important topic when designing software. Among other conceptual services and development work ARIES Embedded support customers with proven concepts and new ideas to design software for the whole product life cycle. Effective and efficient software life cycle management includes i.e. implementation of robust and useable update cocepts, the selection of the right tools for development and production, selection of the right software components, providing code the community 'upstreaming' and more.

Tools

The Yocto Project is an open source collaboration project that helps to create custom Linux-based systems for embedded products regardless of the hardware architecture.  It's a complete embedded Linux development environment with tools, metadata, and documentation. The Yocto Project provides resources and information catering to both new and experienced users, and includes core system component recipes provided by the OpenEmbedded project. The Yocto Project also provides pointers to example code built demonstrating its capabilities. These community-tested images include the Yocto Project kernel and cover several build profiles across multiple architectures including ARM, PPC, MIPS, x86, and x86-64. Specific platform support takes the form of Board Support Package (BSP) layers for which a standard format has been developed. The project also provides an Eclipse IDE plug-in and a graphical user interface to the build system called Hob.

ARIES Embedded can support the customers in the Yocto Project realization as well as offers a customized Yocto training to foster an understanding of the essentials to utilize the Yocto Project on top of knowledge about Embedded GNU/Linux, the GNU/Linux kernel and others.

All 'M'-products are supported by the aries-meta Yocto-Layer.