Firmware

En el ámbito de la informática, se denomina firmware al software que establece la lógica de más bajo nivel que controla el hardware de un dispositivo de cualquier tipo. El firmware se ubica en dispositivos de memoria no volátil como ROM, EPROM o memoria flash. En algunos dispositivos el firmware está instalado permanentemente y no se puede cambiar después de la fabricación, mientras que en otros el firmware puede ser modificado y reprogramado, incluso por el usuario del dispositivo, para corregir errores o añadir funciones.

Firmware

Qué es el firmware

El firmware es básicamente el software contenido en el hardware y que tiene la función de hacer posible su manejo. El firmware es un grupo de instrucciones que se graban dentro de una memoria no volátil como ROM (Read Only Memory, Memoria de solo lectura), EPROM (Erasable Programmable ROM, ROM programable borrable) o memoria flash, estableciéndose como la lógica de más bajo nivel de un dispositivo, capaz de controlar los circuitos electrónicos.

Ejemplos típicos de dispositivos que contienen firmware son los sistemas embebidos (tales como semáforos, aparatos de consumo, mandos a distancia y relojes digitales), ordenadores, periféricos de ordenador, teléfonos móviles y cámaras digitales, entre muchos otros.

Originalmente, el concepto de firmware se diferenciaba tanto del software (las instrucciones que se ejecutan en la CPU) como del hardware (la propia CPU), ya que el firmware es un software pero está incrustado en una pieza de hardware. Cada pieza de hardware contiene software y firmware, siendo la principal diferencia entre ambos que, si bien es habitual que el usuario instale y desinstale software de su computadora de forma regular, sólo raramente, si es que lo hace, actualizará el firmware en un dispositivo y probablemente sólo lo hará si lo solicita el fabricante, probablemente para arreglar un fallo. Actualmente, la palabra firmware incluye cualquier software que esté estrechamente vinculado al hardware, incluyendo las instrucciones del procesador, cargadores de arranque o los sistemas de control para dispositivos electrónicos como los periféricos.

Aunque está fuertemente ligado a la parte electrónica del dispositivo, el firmware no forma parte del hardware, es también un software desarrollado a partir de un lenguaje de programación. El firmware se encarga de controlar el dispositivo y hacer una correcta interpretación de las órdenes externas que recibe.

El firmware se coloca en dispositivos de memoria no volátil como ROM, EPROM o memoria flash. Por lo general, cambiar el firmware de un dispositivo es algo que se hace rara vez o incluso nunca durante su vida útil. Los motivos más comunes para actualizar el firmware incluyen la corrección de errores o añadir funciones al dispositivo. Las actualizaciones permiten mejorar el funcionamiento del dispositivo o agregar funcionalidades, en el caso de algunos reproductores multimedia, la actualización puede agregar funciones de compatibilidad con algunos formatos de audio y vídeo.

En algunos dispositivos el firmware está instalado permanentemente y no se puede cambiar después de la fabricación. Esto puede requerir que los circuitos integrados ROM sean reemplazados físicamente o que la memoria flash sea reprogramada a través de un procedimiento especial.

En la actualidad, la mayoría de los firmware se pueden actualizar, de tal manera que el firmware puede ser modificado y reprogramado, incluso por el usuario del dispositivo, sin embargo es una operación que representa un elevado riesgo, ya que un fallo en la actualización podría dejar inservible el dispositivo. El fabricante del dispositivo es el que incluye el firmware y el que proporciona versiones actualizadas.

El principal firmware de un ordenador es la BIOS, que es la encargada de activar las funciones del ordenador y hace posible la carga de un sistema operativo. El firmware como el ROM BIOS de un ordenador personal sólo contiene funciones básicas elementales del dispositivo y únicamente proporciona servicios a un software de nivel superior. En la actualidad, la BIOS está en proceso de transición hacia el UEFI (Unified Extensible Firmware Interface).

Otros firmwares de ordenador son los que vienen contenidos en cada uno de los periféricos, que son los que hacen posible la interacción entre el periférico y el ordenador. En algunos casos estos elementos de hardware traen consigo un software más sofisticado que muestra un interfaz que hace más fácil el manejo del dispositivo y permite cambiar configuraciones dentro del mismo.

Respecto a los sistemas embebidos, el firmware de un sistema embebido puede ser el único programa que se ejecutará en el sistema y proporcionará todas sus funciones.

Los teléfonos móviles, sobre todo los llamados smartphone, vienen provistos con firmware bastante flexible, que permite actualizaciones de forma sencilla. Estas actualizaciones son provistas por los mismos fabricantes de los teléfonos y en algunos casos por desarrolladores particulares, que crean su propia versión de un sistema operativo.