El firmware es un bloque de instrucciones de programa para
propsitos especficos, grabado en una memoria de tipo no voltil
(ROM, EEPROM, flash, etc), que establece la lgica de ms bajo nivel que controla los circuitos electrnicos de un dispositivo de cualquier tipo.
Al estar integrado en la electrnica del dispositivo es en parte hardware, pero tambin es software, ya que proporciona lgica y se dispone en algn tipo de lenguaje de programacin. Funcionalmente, el firmware es el intermediario (interfaz) entre las rdenes externas que recibe el dispositivo y su electrnica, ya que es el encargado de controlar a sta ltima para ejecutar correctamente dichas rdenes externas.
Encontramos firmware en memorias ROM de los sistemas de diversos dispositivos perifricos, como en monitores de video, unidades de disco, impresoras, etc., pero tambin en los propios microprocesadores, chips de memoria principal y en general en cualquier circuito integrado. Muchos de los firmwares almacenados en ROM estn protegidos por Derechos de Autor.
Encontramos firmware en memorias ROM de los sistemas de diversos dispositivos perifricos, como en monitores de video, unidades de disco, impresoras, etc., pero tambin en los propios microprocesadores, chips de memoria principal y en general en cualquier circuito integrado. Muchos de los firmwares almacenados en ROM estn protegidos por Derechos de Autor.
El programa BIOS de una computadora es un firmware cuyo propsito es activar una mquina desde su encendido y preparar el entorno para la instalacin de un Sistema Operativo complejo, as como responder a otros eventos externos (botones de pulsacin humana) y al intercambio de rdenes entre distintos componentes de la computadora. En un microprocesador el firmware es el que recibe las instrucciones de los programas y las ejecuta en la compleja circuitera del mismo, emitiendo rdenes a otros dispositivos del sistema.
El firmware ha evolucionado para significar casi cualquier contenido programable de un dispositivo de hardware, no slo cdigo de mquina para un procesador, sino tambin configuraciones y datos para los circuitos integrados para aplicaciones especficas (ASICs), dispositivos de lgica programable, etc.
En algn sentido, los varios componentes del firmware son tan importantes como el sistema operativo en un computador. Sin embargo, a diferencia de la mayora de los sistemas operativos modernos, el firmware tiene raramente un mecanismo automtico bien desarrollado para actualizarse a s mismo para corregir los problemas de funcionalidad que son detectados despus de que la unidad es despachada.
El BIOS es bastante fcil de actualizar en una PC moderna; los dispositivos como las tarjetas video o los mdems confan en el firmware cargado dinmicamente por un driver de dispositivo y a menudo pueden as ser actualizados transparentemente a travs de los mecanismos de la actualizacin del sistema operativo. En contraste, el firmware en dispositivos de almacenamiento es raramente actualizado; no estn estandarizados los mecanismos para detectar las versiones del firmware y actualizarlas. Estos dispositivos por lo tanto tienden a tener un ndice ms alto de problemas de funcionalidad, comparado a otras partes de un moderno sistema de computacin
Algunas compaas usan actualizaciones del firmware para agregar nuevos formatos de archivos de reproduccin de sonido (codecs); el iriver agreg el formato ogg de esta manera, por ejemplo. Otras caractersticas que pueden cambiar con las actualizaciones del firmware son el GUI (Graphic User Interface o Interfaz Grfica de Usuario) e incluso la vida de la batera. La mayora de los reproductores de msica modernos soportan las actualizaciones del firmware.
La mayora de los telfonos celulares tienen una capacidad de firmware actualizable por muchas de las mismas razones que arriba, pero algunos incluso pueden ser actualizados para mejorar la recepcin o la calidad de sonido.