Sviluppo Drivers
La progettazione di un circuito complesso può richiedere l'interfacciamento verso vari dispositivi esterni oppure altri componenti o reti dati di diveri tipi.
In questi casi vengono sviluppati specifici drivers di comunicazione e interfacciamento verso qualunque componente secondo le specifiche fornite dai costruttori, ad esempio display grafici, chip di comunicazione o di autenticazione, nuovi componenti, varianti di driver già diffusi o generazione di nuovi protocolli sviluppati ad-hoc.
In accordo con il grado di complessità e i requisiti di funzionamento, lo sviluppo dei drivers può avvenire attraverso l'impiego di linguaggi di alto livello oppure di basso livello.
Infatti, quando è necessario raggiungere livelli di prestazioni molto alti e contemporaneamente avere il pieno controllo di tutti i segnali fino a raggiungere il massimo delle risoluzioni temporali e dinamiche, allora diviene indispensabile ricorrere al linguaggio più vicino al "core", ovvero l'assembler.
Lo sviluppo di questi particolari livelli di firmware avviene in strettissimo contatto col circuito che è costantemente sottoposto a misure e verifiche funzionali.
Lo sviluppo di un driver può riguardare anche sistemi complessi, ovvero dispositivi che svolgono le proprie funzioni in modo autonomo (stand-alone), ma che allo stesso tempo richiedono un interfacciamento verso il mondo esterno.
In base al tipo di connessione, che può essere standard o proprietario, risulta utile lo sviluppo di appositi driver di comunicazione e conversione dei dati.
Il supporto verso queste casistiche è di tipo completo e accurato, totalmente effettuato con le adeguate attrezzature al fine di verificare la corretta generazione e distribuzione dei segnali real-time.
Al termine delle fasi di debug si ottiene un codice sorgente che può costituire parte integrante di altri software più complessi, quindi un componente di libreria a tutti gli effetti.