Casa > O > O Que É Firmware?

O que é firmware?

Firmware é essencialmente software, mas um que faz interface com o hardware. Enquanto o software que conhecemos é escrito para correr em CPUs de propósito geral, o firmware é escrito para correr em processadores especiais. Não há muita diferença no firmware desse software. Enquanto no software você estará lendo a partir da entrada std (teclado) e escrevendo para a saída std (tela), no firmware você talvez leia a partir de um pino (ex. nível de voltagem) e escreva para um pino (ex. mudança de nível de voltagem). Ou em software você leria de um arquivo texto e escreveria para um arquivo texto, em firmware você leria de um bloco de memória e escreveria para um bloco de memória.

Firmware é normalmente escrito em assembly, C/C++. Uma grande diferença no firmware é que a execução do programa é altamente determinista. Firmware pode ser escrito para executar apenas o seu programa, nada mais. Não existem tarefas de fundo. Ele só executa o seu código e somente o seu código. Isto é muito importante para a maioria dos firmware, por exemplo, em automóveis, onde você precisa saber absolutamente que seu código é executado quando ele deve ser executado, sem demora. No firmware você pode saber exatamente quanto tempo levará para executar uma determinada tarefa, novamente porque apenas o seu código está rodando. Você pode olhar para a desmontagem do seu código, contar as instruções e saber exatamente quanto tempo levaria para executar uma tarefa em particular. Isto é algo que você não pode fazer com software rodando em uma CPU de propósito geral em cima de um SO. Claro que existem OS's para firmware, RTOS (real-time OS), que de alguma forma se comportam um pouco como um SO normal de PC, mas ainda com uma sobrecarga muito baixa. Mas quando a precisão e o tempo são importantes, você escreve barebone firmware.

De Zoba

Como executar o Unreal Engine 4 em um laptop de baixa especificação :: Qual é a diferença entre o firmware e um sistema operacional?