Vai al contenuto
BigTree108

Servizi di sviluppo di software embedded

Servizi di sviluppo di software embedded per dispositivi con Linux embedded, Android e RTOS: board support package e driver, applicazioni per dispositivi, software automotive, apparati di rete, dispositivi audio e video, interfacce touchscreen e aggiornamenti sicuri per prodotti di elettronica di consumo, industriali, automotive, telecomunicazioni, energia e medicali, con ingegneri di software embedded dedicati al Suo team o progetti realizzati end to end.

Il software embedded che sviluppiamo

  • Piattaforme Linux embedded

    Distribuzioni personalizzate costruite con Yocto Project o Buildroot per schede NXP i.MX, Texas Instruments Sitara, Qualcomm, Rockchip, NVIDIA Jetson e Raspberry Pi Compute Module, riproducibili da un checkout pulito nella Sua pipeline e mantenute su una release a supporto a lungo termine.

  • Board support package e driver

    Device tree, configurazione di U-Boot e driver del kernel Linux per i Suoi sensori, display, telecamere e radio, mantenuti vicini al kernel mainline perché un aggiornamento del kernel sia un rebase e non una riscrittura, e l’intera piattaforma portata su un nuovo processore quando un componente va fuori produzione.

  • Applicazioni per dispositivi e middleware

    I servizi che fanno svolgere al prodotto il suo compito, in C, C++, Rust o Python su Linux, oppure su Zephyr, FreeRTOS, QNX o VxWorks, con messaggistica, logging e configurazione progettati prima della prima funzionalità.

  • Software embedded per l’automotive

    Applicazioni Adaptive AUTOSAR, software di infotainment e digital cockpit su Android Automotive OS, QNX o Automotive Grade Linux e unità telematiche, sviluppati secondo ISO 26262, ISO/SAE 21434 e Automotive SPICE dove il Suo programma lo richiede.

  • Software per apparati di rete

    Firmware per router, gateway, firewall e access point su OpenWrt, prplOS o RDK-B, elaborazione dei pacchetti con DPDK ed eBPF e driver di rete Linux, con throughput e latenza misurati sul target anziché supposti.

  • Software per audio, video e telecamere

    Pipeline per telecamere su V4L2 e libcamera, codifica hardware e streaming con GStreamer su RTSP, WebRTC o ONVIF e audio su ALSA e PipeWire, per telecamere IP, videocitofoni, apparecchiature per conferenze, altoparlanti e set-top box.

  • Sviluppo di piattaforme Android

    Build AOSP, hardware abstraction layer e servizi di sistema per dispositivi con Android, come terminali di pagamento, chioschi, palmari rugged, TV box e sistemi di bordo, con la build e le relative chiavi di firma sotto il Suo controllo.

  • Interfacce touchscreen e display

    Qt 6 e QML su Linux embedded, e LVGL, Slint o TouchGFX su display di microcontrollori, progettati in Figma e misurati per tempo di avvio e frame rate sul pannello reale.

  • Sicurezza dei dispositivi e aggiornamenti over-the-air

    Secure boot dalla boot ROM all’applicazione, Arm TrustZone con OP-TEE per chiavi e segreti, immagini A/B firmate tramite RAUC, SWUpdate o Mender con rollback automatico quando una nuova immagine non supera il controllo di integrità e chiavi di firma in un vault anziché su un portatile.

Ingaggiare ingegneri di software embedded

  • ingegneri di software embedded dedicati

    Ingegneri di software embedded che entrano a tempo pieno nel Suo team, lavorano con i Suoi strumenti e il Suo processo e rispondono al Suo responsabile. Li intervista Lei; noi ci occupiamo del contratto ucraino, delle buste paga, della fatturazione e delle ferie.

  • Progetti di Sviluppo di software embedded

    Un’attività di sviluppo di software embedded ben definita, con un perimetro, un piano fisso e un responsabile nominato da parte nostra che risponde del risultato e riferisce sull’avanzamento nei Suoi canali.

  • sviluppo di software embedded su base continuativa

    Sviluppo di software embedded come servizio continuativo: le stesse persone ogni mese, un backlog di cui Lei stabilisce le priorità e ore che può vedere nel nostro portale e in fattura.

La pagina sul team dedicato spiega come gli specialisti entrano nel Suo team, e la pagina sull’outsourcing tratta la realizzazione di progetti, le prese in carico e il modo in cui fatturiamo.

Chi si occupa di sviluppo di software embedded per Lei

  • Ingegneri di software embedded

    Applicazioni Linux embedded e RTOS in C, C++ e Rust

  • Ingegneri del kernel Linux e dei BSP

    Driver, device tree, bootloader e layer Yocto

  • Ingegneri di piattaforme automotive e Android

    AUTOSAR, infotainment e build di dispositivi AOSP

  • Designer UI e UX

    Interfacce dei dispositivi progettate in Figma

  • Ingegneri QA

    Piani di test, automazione ed esecuzioni su schede reali

Come lavoriamo sul software embedded

La build è riproducibile da un checkout pulito all’interno di un container, così l’immagine prodotta dalla pipeline è quella che viene rilasciata. Gli avvisi del compilatore sono errori, l’analisi statica gira a ogni modifica, i test unitari girano sulla macchina di build e su hardware emulato in QEMU o Renode, e la stessa suite gira su schede reali prima di un rilascio. Kernel e librerie restano su release mantenute e ogni build produce una software bill of materials, così un avviso di sicurezza può essere associato alle immagini che interessa.

L’hardware raggiunge l’ingegnere in due modi: gli vengono spediti kit di sviluppo e schede prototipo, oppure lavora su un rack nel Suo laboratorio tramite accensione remota, una sonda di debug e una console seriale attraverso la Sua VPN. In entrambi i casi la build gira nella Sua pipeline e il codice risiede nei Suoi repository.

Altri servizi embedded e hardware

Panoramica: Embedded e hardware

Domande sullo sviluppo di software embedded

Linux embedded o sistema operativo real-time?

Linux embedded quando il dispositivo richiede un’interfaccia ricca, connettività di rete, un file system o software scritto per server, e dispone di un processore con memory management unit e di decine di megabyte di RAM o più. Zephyr o FreeRTOS su un microcontrollore quando il dispositivo funziona a batteria, deve rispondere in microsecondi o deve costare pochi euro da produrre. Molti prodotti usano entrambi, Linux sul processore applicativo e un RTOS su un microcontrollore accanto, e proponiamo la suddivisione prima che l’hardware venga definito.

In quali settori lavorano i vostri ingegneri di software embedded?

Elettronica di consumo e smart home, in telecamere, altoparlanti, TV ed elettrodomestici; automazione industriale ed energia, in controllori, pannelli operatore, inverter e colonnine di ricarica per veicoli elettrici; automotive, in infotainment, digital cockpit e unità telematiche; telecomunicazioni e networking, in router, gateway, firewall e access point; sistemi di sicurezza, in centraline di allarme, controllo accessi e videoregistratori; e dispositivi medicali, in monitor per pazienti e apparecchiature diagnostiche.

Potete prendere in carico il nostro codice embedded esistente?

Sì. Una presa in carico parte da una revisione in sola lettura: se l’immagine si compila da un checkout pulito, a quale kernel e a quali librerie è vincolata, come vengono firmati e distribuiti gli aggiornamenti e quali vulnerabilità note riguardano ciò che è già sul campo, messo per iscritto come elenco di rischi in ordine di impatto.

Lavorate su prodotti medicali, automotive e altri prodotti regolamentati?

Sì. Per dispositivi medici, veicoli e funzioni di sicurezza industriale lavoriamo all’interno del Suo sistema di gestione della qualità e del Suo processo di sicurezza: le Sue procedure, i design control, il file dei rischi e il safety case, con la tracciabilità richiesta da IEC 62304 e ISO 14971, ISO 26262 e Automotive SPICE, o IEC 61508, mantenuta man mano che il lavoro procede anziché ricostruita prima di un audit. Certificazione e fascicolo regolatorio restano a Lei, in quanto fabbricante.

Con quale rapidità possono iniziare ingegneri di software embedded?

Quando è disponibile il profilo giusto per il ruolo di ingegnere di software embedded, l’avvio dipende soltanto dal Suo colloquio e dalla firma dell’NDA e della cessione della proprietà intellettuale. Altrimenti avviamo una ricerca, che di norma produce profili di candidati entro due o tre settimane, e nessuno inizia finché Lei non ha detto di sì.

Come ingaggiare ingegneri di software embedded tramite BigTree108?

Ci indichi il lavoro, il livello di seniority e l’impegno orario necessario. Le proponiamo una o due persone con i rispettivi profili, Lei le intervista come farebbe con una Sua assunzione e firma un unico contratto con BIG TREE 108 LLC, ricevendo una sola fattura al mese.

A chi appartiene il lavoro che producono?

A Lei. Ogni specialista ha un contratto firmato con BigTree108 che cede all’azienda tutto il lavoro prodotto, e il nostro accordo con Lei lo cede a sua volta. Codice, design e documenti vengono consegnati nei Suoi repository e strumenti, non conservati dove solo noi possiamo modificarli.

Sta realizzando un dispositivo embedded?

Ci indichi il processore, il sistema operativo e che cosa deve fare il dispositivo. Riceverà una risposta entro un giorno lavorativo: un piano per il software, profili di candidati oppure una revisione del codice esistente.