Embedded Linux

linux embedded

Thanks to the appearance on the market of Application Processor even more performing, rich of built-in peripherals and even more cheap, in recent years we are assisting to a massive diffusion of products and solutions based on embedded platforms with a Linux operating system: automotive infotainment equipment, data loggers, industrial automation equipment, home automation solutions, networking, medical equipment are just some examples of application areas where more and more frequently we can find linux-based solutions.

To the historical competitive advantage of a Linux based embedded solution, the absence of licensing costs, now we can add more important benefits: excellent performance levels, even in applications with close real-time requirements, ability to pick into a virtually infinite world of open source solutions, powered by increasingly populated and active communities, even in very specialized fields of application, a plurality of competing solutions, the availability of development board at very affordable costs and a engineered boards for modular solutions (SoM) optimized as cost and space, and designed to be easily and conveniently used even on a mass-production product, greatly simplifying design and production phases.

Since several years we are working in product development based on Embedded Linux, and we can provide consolidated skills:

  • Scouting and identification of a suitable solutions for the a specific application. We have experience on Intel x86/x64 architectures (Atom and its evolution, Broxton), Arm Cortex (NXP i.MX6 and i.MX8, TI OMAP 4/5, Renesas R-Car, Broadcom BCM 28xx, Atmel SAM9, ...) , with single, dual and multi cores, system-on-chip solutions with auxiliary cores (SCU, DSP, graphic accelerators, ...) 
  • "Make or buy" approach to the product: complete development of a new full custom board, integration a commercial system-on-module on a custom carrier board, or just integration of a full commercial solutions
  • Integration, implementation, customization of Yocto based BSPs
  • Customization and optimization of first stage bootloaders (DDR management and boot from SD card, eMMC, SPI Flash, ...)
  • Configurations and customization of u-boot, with specific features deployment (splash screen, early audio, video early, ....)
  • Linux kernel driver development and adaptation (UART, SPI, I2C, ALSA SoC sound, V4L video input, video output, Ethernet, HS and SS USB, USB OTG, DMA, CAN, GPIO, SD / MMC, ...)
  • kernel configuration for the target board via device tree or platform 
  • Complex audio architectures developmenta and maintenance, based on ALSA SoC framework, with multiple simultaneous TDM streams, integration of Sample Rate Converter and DSP features (filtering, volume control, mixing, ...)
  • Development / maintenance of root filesystem based on Open Embedded / Yocto
  • Development of multimedia applications based on gstreamer using audio / video accelerated plugins (for platforms with GPU / DSP)
  • Applications development in C / C ++, Python, PHP, Java
  • OS services setup / implementation (network server, db server, ...)
  • Use of integrated solutions for software versioning (SVN, Git, ...), code review workflow (Gerrit), bug tracking, automated builds (Jenkins)
linux embedded