O que um engenheiro de software incorporado faz?

Os usuários de computador provavelmente estão mais familiarizados com o software executado em seus sistemas operacionais. No entanto, muitos deles não têm tanta experiência com o software que regula a operação de certos componentes sofisticados de hardware. Esses componentes são programados por profissionais chamados engenheiros de software embarcados.

Os componentes de hardware que executam funções específicas e especializadas são chamados de sistemas embarcados. Eles agem como computadores dentro de computadores, com seus próprios processadores e memória. Os sistemas incorporados coletam dados de componentes de hardware específicos, executam sua programação e depois transmitem dados para outras peças de hardware na máquina. A função de um sistema incorporado pode ser tão complexa quanto a conversão de dados de antenas internas para um formato de dados que o restante do dispositivo pode usar ou tão simples quanto transmitir sinais específicos quando ativados por um botão. Um engenheiro de software incorporado cria os programas que executam esses dispositivos.

O trabalho de um engenheiro de software incorporado é semelhante aos engenheiros de software que criam programas para computadores desktop. O código fonte para a conversão de dados em um formato para outro é o mesmo em um computador pessoal e em um sistema incorporado. Onde o trabalho do engenheiro de software incorporado difere é adicionar código adicional para que o programa seja executado na peça de hardware especializada que atua como o sistema incorporado.

Os sistemas operacionais nos quais os aplicativos de desktop são executados incluem uma variedade de software de driver. Isso é apropriado para esses sistemas devido à variedade de hardware que pode estar no computador e ao software que um usuário pode executar. Os sistemas incorporados são independentes e executam apenas um único programa. Por esse motivo, o programador precisa carregar apenas um número limitado de drivers e o próprio programa na memória limitada do dispositivo. O trabalho do engenheiro de software incorporado geralmente inclui a determinação do menor número de drivers que o programa precisará para operar o dispositivo incorporado.

Depois que um engenheiro de software incorporado termina a programação de um dispositivo, seu trabalho deve ser documentado. Os sistemas embarcados nunca são usados ​​sozinhos, mas como parte de um projeto maior. Para fazer uso do dispositivo, outros engenheiros precisam conhecer informações como:

quais dados o sistema incorporado está esperando

que formato de dados sua programação está esperando

como o dispositivo reagirá a diferentes entradas

o formato dos dados que o dispositivo emitirá

Essas informações são incluídas na documentação técnica que os engenheiros de software embarcados produzem por si mesmos, geralmente na forma de um manual. Às vezes, escritores técnicos, e não os engenheiros de verdade, criam esses manuais, a partir das anotações fornecidas pelos engenheiros de software. Ter documentação para se referir é inestimável para os usuários.