Ingegneri software embedded e sviluppatori firmware

Richiedi specialisti che sviluppano firmware e software embedded per nuovi dispositivi o prodotti già in uso. Intervengono sul codice e sull'hardware per verificare il comportamento dei sistemi real-time.

L'esperto giusto per il tuo team

Dicci come contattarti e ti mettiamo in contatto con un esperto.

Nessun impegno. Prosegui solo se è la scelta giusta.

Clienti

Bimbo
Bolaffi
BTO
IDS
Infocert
Metelli
Newchem
Relatech
Bimbo
Bolaffi
BTO
IDS
Infocert
Metelli
Newchem
Relatech
Contattaci

Di cosa hai bisogno?

Avviare una nuova scheda elettronica

L'hardware è pronto, ma serve il firmware per verificarne il funzionamento. Uno sviluppatore implementa il codice di avvio e i driver, controllando le interfacce direttamente sulla scheda.

Rispettare i vincoli temporali del dispositivo

Un ciclo di controllo supera le scadenze o presenta blocchi intermittenti. Uno specialista real-time analizza le priorità dei task e gli interrupt, misurando i tempi sull'hardware di destinazione.

Adattare Linux a un dispositivo connesso

Una scheda personalizzata richiede una piattaforma Linux e comunicazioni affidabili. Un ingegnere embedded adatta il sistema all'hardware e integra i protocolli utilizzati dal dispositivo.

Mantenere il firmware di prodotti già distribuiti

Un prodotto richiede correzioni o aggiornamenti dopo il rilascio. Gli sviluppatori riproducono i guasti sull'hardware e verificano le modifiche con test di regressione prima della distribuzione.

Sviluppo firmware e avvio delle schede

Digiventi fornisce ingegneri software embedded che si uniscono al tuo team per sviluppare firmware C e C++ su microcontrollori come STM32 e Nordic nRF52. Puoi coinvolgere uno sviluppatore firmware quando una nuova scheda richiede codice eseguibile o il firmware esistente rallenta lo sviluppo del prodotto.

  • Avvio della scheda: implementazione del codice di avvio e dei bootloader, con verifica della configurazione dei clock e della disposizione della memoria rispetto al progetto hardware.
  • Driver delle periferiche: sviluppo delle interfacce per sensori e attuatori tramite SPI o I2C. Diagnosi dei guasti a livello di segnale con oscilloscopi e analizzatori logici.

Sistemi real-time e sviluppo RTOS

Gli specialisti di sistemi real-time sviluppano applicazioni bare-metal e firmware basati su FreeRTOS o Zephyr. Traducono i vincoli temporali in priorità dei task e gestione degli interrupt, quindi misurano il comportamento sull'hardware di destinazione.

Quando il sistema non rispetta le scadenze o si blocca in modo intermittente, analizzano l'inversione di priorità e gli accessi alla memoria condivisa. Possono integrare il DMA e limitare l'allocazione della memoria, verificando tramite tracce i tempi di esecuzione e la latenza di scheduling. Intervengono su cicli di controllo o acquisizioni dati che richiedono tempi prevedibili.

Linux embedded e connettività dei dispositivi

Gli ingegneri Linux embedded adattano il sistema a schede personalizzate e collegano il software applicativo alle periferiche. Le attività comprendono i board support package e i servizi applicativi, con configurazioni di compilazione mantenute in Yocto o Buildroot.

  • Adattamento della piattaforma: modifica di U-Boot e dei device tree. Configurazione del kernel e sviluppo dei driver per la scheda di destinazione.
  • Comunicazione dei dispositivi: integrazione delle interfacce CAN o Modbus e diagnosi degli errori di protocollo. Per i prodotti connessi in rete, implementazione delle comunicazioni MQTT e gestione dei certificati TLS.

Test del firmware e manutenzione continuativa

Gli ingegneri di test embedded e gli sviluppatori firmware seguono i prodotti già distribuiti con analisi dei guasti e manutenzione software. Riproducono i malfunzionamenti sull'hardware ed esaminano i crash dump, poi verificano che le correzioni preservino il comportamento esistente.

Implementano test unitari e suite di regressione hardware-in-the-loop nelle pipeline CI. Valutano il codice ereditato prima della sostituzione di un componente e mantengono la compatibilità dei bootloader. Possono realizzare aggiornamenti firmware firmati con gestione del rollback. La manutenzione comprende gli aggiornamenti del compilatore e delle dipendenze che incidono sulla riproducibilità delle build.

Esperienze sul campo

Rilascio di piattaforme digitali enterprise per un Qualified Trust Service Provider europeo

Un primario provider europeo di servizi fiduciari necessitava di competenze senior per guidare l'estensione della propria piattaforma di identità digitale nel rispetto di stringenti scadenze normative. Abbiamo integrato consulenti specialistici a supporto della definizione dei requisiti, dell'architettura cloud AWS e del coordinamento dei rilasci tecnici. L'iniziativa si è conclusa nei tempi previsti, abilitando con successo flussi di onboarding e verifica biometrica su scala nazionale.

Digiventi in numeri

10+

Anni di esperienza nel settore informatico.

1.500+

Professionisti

250+

Progetti portati a termine con successo.

Il team Digiventi

Specialisti senior e le persone che fanno avanzare il lavoro dei clienti. Sono le stesse che rispondono quando ci contatti.

Le nostre competenze su altre tecnologie

La nostra rete copre un insieme più ampio di tecnologie, comprese le piattaforme qui sotto.

.NET
Azure DevOps
C#
C++
Atlassian
GitHub
Java
Javascript
Node js
php
Python
Typescript
.NET
Azure DevOps
C#
C++
Atlassian
GitHub
Java
Javascript
Node js
php
Python
Typescript

Come ti mettiamo in contatto con un esperto

  1. Dicci di cosa hai bisogno

    Condividi le attività, le competenze che ti mancano e quando ti serve supporto.

  2. Ti mettiamo in contatto con un esperto

    Usiamo i tuoi dettagli per individuare l'esperto giusto e presentarvi.

  3. Si unisce al tuo team

    L'esperto affianca il tuo team nelle attività continuative o in un'iniziativa con un ambito definito.

Ti servono competenze specialistiche o un rinforzo? Dicci di cosa ha bisogno il tuo team e ti mettiamo in contatto con un esperto.

Richiedi un esperto