Gli utenti di computer probabilmente conoscono meglio il software che gira sui loro sistemi operativi. Molti, tuttavia, non sono così esperti del software che regola il funzionamento di alcuni componenti hardware sofisticati. Questi componenti sono programmati da professionisti chiamati ingegneri del software incorporato.
I componenti hardware che svolgono funzioni specifiche e specializzate sono chiamati sistemi integrati. Questi agiscono come computer all’interno dei computer, con i propri processori e memoria. I sistemi integrati raccolgono dati da specifici componenti hardware, eseguono la loro programmazione e quindi trasmettono i dati ad altri componenti hardware della macchina. Il ruolo di un sistema incorporato potrebbe essere complesso quanto la conversione dei dati da un’antenna interna in un formato dati che può essere utilizzato dal resto del dispositivo, o semplice come la trasmissione di segnali specifici quando viene attivato da un pulsante. Un ingegnere del software incorporato crea i programmi che eseguono questi dispositivi.
Il lavoro di un ingegnere informatico incorporato è simile a quello degli ingegneri software che creano programmi per computer desktop. Il codice sorgente per la conversione di dati in un formato in un altro è lo stesso su un personal computer come in un sistema incorporato. La differenza tra il compito dell’ingegnere del software incorporato è l’aggiunta di codice aggiuntivo per l’esecuzione del programma sull’hardware specializzato che funge da sistema incorporato.
I sistemi operativi su cui vengono eseguite le applicazioni desktop includono una varietà di software driver. Ciò è appropriato per questi sistemi a causa della gamma di hardware che potrebbe trovarsi nel computer e del software che un utente potrebbe eseguire. I sistemi integrati sono autonomi ed eseguono un solo programma. Per questo motivo, il programmatore deve solo caricare un numero limitato di driver e il programma stesso nella memoria limitata del dispositivo. Il lavoro dell’ingegnere del software incorporato di solito include la determinazione del numero più piccolo di driver di cui il programma avrà bisogno per far funzionare il dispositivo incorporato.
Dopo che un ingegnere del software incorporato ha finito di programmare un dispositivo, il suo lavoro deve essere documentato. I sistemi integrati non vengono mai utilizzati da soli, ma come parte di un progetto più ampio. Per utilizzare il dispositivo, altri ingegneri devono conoscere informazioni come:
quali dati si aspetta il sistema incorporato
quale formato di dati si aspetta la sua programmazione
come il dispositivo reagirà ai diversi input
il formato dei dati che il dispositivo emetterà
Queste informazioni sono quindi incluse nella documentazione tecnica prodotta dagli ingegneri del software incorporato, spesso sotto forma di un manuale. A volte, gli scrittori tecnici, piuttosto che gli ingegneri reali, creano tali manuali, dalle note fornite dagli ingegneri del software. Avere documentazione a cui fare riferimento è prezioso per gli utenti.