Esta imagem é uma seção da placa mãe de um AT mostrando a BIOS ROMAMIBIOS.
Emeletrônica ecomputação,firmware é uma classe específica desoftware de computador que fornece controle de baixo nível para ohardware específico do dispositivo. O firmware pode fornecer um ambiente operacional padronizado para o software mais complexo do dispositivo (permitindo maiorindependência de hardware) ou, para dispositivos menos complexos, atuar como osistema operacional completo do dispositivo, executando todas as funções de controle, monitoramento e manipulação de dados. Exemplos típicos de dispositivos que contêm firmware sãosistemas embarcados.
O firmware é armazenado permanentemente num circuito integrado (chip) dememória dehardware, como umaROM,PROM,EPROM ou aindaEEPROM ememória flash, no momento da fabricação do componente. Muitos aparelhos simples possuem firmware, entre eles: controles-remotos, calculadora de mão, algumas partes do computador, comodisco rígido,teclado,cartão de memória,unidades USB, muitos instrumentos científicos erobôs. Outros aparelhos mais complexos comocelulares,câmeras digitais, sintetizadores, entre outros, também possuem um firmware para a execução de suas tarefas.[1][2][3]
Não há fronteiras rígidas entre firmware esoftware, pois ambos são termos descritivos bastante livres. Contudo, o termofirmware foi originalmente inventado para contrastar com software de alto nível que poderia ser alterado sem a troca de um componente de hardware, e o firmware está normalmente envolvido com operações muito básicas de baixo nível, sem as quais um dispositivo seria completamente não-funcional.
O dispositivo representado é uma unidade USB flash drive de 128 MB.
Firmwares estão presentes em computadores na forma deBIOS, leitores e/ou gravadores deCDs/DVDs. Também estão presentes em celulares, leitoresMP3 eMP4,câmeras digitais, consoles,impressoras, televisões e cafeteiras. Em portáteis comocartões de memória,pen drives, consoles portáteis, controles remotos, brinquedos e virtualmente quaisquer equipamentos eletrônicos da atualidade, incluindo eletrodomésticos como fornos de microondas, geladeiras ou lavadoras.[3]
É uma variação de firmware criada originalmente em compatibilidade com a normaIEEE 1275-1994. Sua principal característica é ser compilada emFCode, o que lhe proporciona independência de arquitetura.[3]
A importância do firmware nos dispositivos eletronicos atuais
A evolução dos dispositivos eletronicos tornou o firmware, uma parte essencial para a melhora das funcionalidades. As necessidades tecnológicas obrigaram a que os chips de memória tenham evoluído de forma exponencial nos últimos anos. Atualmente as memórias SPI, NAND e EMMC já são um componente indispensável e necessitam o firmware para funcionar.
Um exemplo muito notório disso, são as Smart TV, que dominam o mercado com as funcionalidades inteligentes, utilizando o firmware mais avançado. Contudo, essa dependência acarreta, que um dos problemas técnicos mais comuns nos televisores na atualidade são os bugs ou defeitos nofirmware emmc da TV.
As memórias eMMC são as principais memórias utilizadas nos dispositivos mais evoluídos, nomeadamente nas Smart TV, Bluray, Telemóveis, Centralinas de automóveis e diversos outros dispositivos mais evoluídos.
André Schneider de Oliveira, Fernando Souza de Andrade,Sistemas embarcados: hardware e firmware na prática, Editora Érica Ltda, 2006ISBN 8-536-50105-7
Gary Stringham,Hardware/Firmware Interface Design: Best Practices for Improving Embedded Systems Development; Newnes, 2009,ISBN 0-080-88019-3 (em inglês)
Miloš Dragutin Ercegovac, Tomás Lang,Digital systems and hardware/firmware algorithms , Wiley, 1985ISBN 0-471-88393-X (em inglês)
Rodrigo M. A Almeida, Carlos Henrique Valério, Thatyana Faria Piola Seraphim,Programação de sistemas Embarcados, GEN LTC, 2016,ISBN 978-8535285185 (em português)
Jack Ganssle,The Art of Programming Embedded Systems , Elsevier, 2012ISBN 0-080-49942-2 (em inglês)