Linux Embedded

linux embedded

Grazie alla comparsa sul mercato di Application Processor sempre più performanti, ricchi di periferiche ed a costi sempre più allettanti, in questi ultimi anni si sta assistendo ad una diffusione massiva di prodotti e soluzioni basate su piattaforme embedded basate su sistema operativo Linux: sistemi di infotainment automotive, datalogger, dispositivi di automazione industriale, soluzioni di domotica, networking, medicale sono solo alcuni esempi di settori applicativi dove sempre più frequentemente si trovano prodotti basati su Linux.

Al vantaggio competitivo storico di una soluzione basata su Linux embedded, costituito dall'assenza di costi di licenza, si affiancano oggi ulteriori benefici: livelli di performance eccellenti, anche in applicazioni con esigenze strette di real time, possibilità di attingere ad un mondo open source praticamente infinito ed alimentato da community sempre più popolate ed attive anche in settori applicativi molto specialistici, una pluralità di soluzioni concorrenti, la disponibilità di board di sviluppo a costi assolutamente abbordabili ed a board ingegnerizzate per soluzioni modulari (SOM) ottimizzate come costi ed ingombri, e concepite per essere facilmente e convenientemente utilizzate anche su un prodotto di produzione, semplificandone enormemente le problematiche di progettazione e produzione.

Da svariati anni operiamo nel settore dello sviluppo prodotti basati su Linux Embedded e possiamo mettere a disposizione consolidate competenze:

  • Scouting e individuazione di un processore idoneo per l'applicazione in esame. Possiamo vantare esperienze su architetture Intel x86 e x64 (Atom e sue evoluzioni, Broxton), Arm Cortex (NXP i.MX6 e i.MX8, TI Omap 4/5, Renesas R-Car, Broadcom BCM28xx, Atmel SAM9, ...), single, dual e quad core, soluzioni SoC con core ausiliari (SCU, DSP, acceleratori grafici, ...)
  • Approccio "make or buy" al prodotto: sviluppo completo di una nuova board full custom, integrazione di un SOM commerciale su una carrier board custom, integrazione di soluzioni commerciali
  • Sviluppo, integrazione, e customizzazione di BSP basati su Yocto
  • Ottimizzazione e customizzazione di first stage bootloader (gestione DDR e boot da SD card, eMMC, SPI Flash, ...)
  • Configurazione e customizzazione di u-Boot, implementazioni specifiche (splash screen, early audio, early video, ....)
  • Sviluppo e adattamento di kernel driver di ogni tipologia (UART, SPI, I2C, ALSA SoC sound, V4L video input, video output, Ethernet, USB HS/SS, USB OTG, DMA, CAN, GPIO, SD/MMC, ...)
  • Configurazioni del kernel per la piattaforma via device tree o platform driver
  • Realizzazione di architetture audio complesse basate su ALSA SoC con multi-stream TDM simultaneo, integrazione di Sample Rate Converter e celle di Digital Signal Processing (filtraggio, controllo volume, mixing, ...)
  • Sviluppo/implementazione di root filesytem basati su Open Embedded / Yocto
  • Realizzazione di applicazioni multimediali basate su gstreamer con utilizzo di plugin audio/video accelerati (per le piattaforme con GPU / DSP)
  • Sviluppo applicazioni in C/C++, Python, PHP, Java
  • Installazione/integrazione di servizi (network server, db server, ...)
  • Utilizzo di soluzioni integrate per il versioning software (SVN, Git), code review (Gerrit), Bug tracking, build automatizzata (Jenkins)
linux embedded