Saltar al contenido

¿Qué es el Firmware?

Firmware

Los ordenadores, teléfonos móviles, videoconsolas y cualquier sistema computacional están conformado por circuitos electrónico, conocidos como hardware. Estos circuitos tramiten distintos impulsos eléctricos a partir de órdenes dadas y emiten una respuesta. De esta manera podemos utilizar nuestros ordenadores, jugar nuestro videojuegos favorito o conectarnos a internet mediante la telefonía móvil.

Pero, ¿qué es lo que transmite las órdenes que debe cumplir el hardware? El hardware en si no puede entender directamente las órdenes del sistema operativo, por ejemplo, es necesario un componente más directo para que controle el funcionamiento del hardware. Estos son software de más bajo nivel y que se comunican directamente con el hardware. Estos software son conocidos como firmware. Si quieres conocer más a fondo que es el firmware, te invito a que continúes leyendo. Ya comenzamos.

Tabla de contenidos


Definición de firmware

El firmware es el soporte lógico inalterable de un dispositivo electrónico. Este es un software encargado de establecer la lógica en el más bajo nivel para controlar los circuitos electrónicos que conforman el dispositivo.

El firmware de un dispositivo electrónico no puede ser alterado o accedido por un usuario común. Sin embargo, puede ser actualizado por parte del fabricante. Este programa está intrínsecamente ligado al hardware de dispositivo. De esta manera, dicho programa controla todo el hardware y ordena ejecutar todas las tareas e instrucciones externas.

Este programa es considerado, junto al software y el hardware, como uno de los pilares esenciales para el diseño y construcción de dispositivos electrónicos. En resumen, podemos decir que el firmware es un programa que maneja físicamente el hardware del dispositivo.  

El firmware de un ordenador es almacenado dentro del BIOS. Una vez que el ordenador arranca, extrae de aquí las instrucciones necesarias para realizar la carga del sistema operativo en el disco duro y la memoria RAM.

BIOS American Megatrends.
BIOS de tarjeta madre American Megatrends utilizado para almacenar el firmware.

Definición por el Institute of Electrical and Electronics Engineers (IEEE)

El Instituto de Ingenieros Eléctricos y Electrónicos (siglas en inglés IEEE) establece una definición específica para el término firmware en la Std 610.12-1990. Esta plantea que el firmware es “la combinación de instrucciones de un dispositivo de hardware e instrucciones y datos de computadora que residen como software de solo lectura en ese dispositivo”.

Como notas a este concepto, la IEEE plantea que es posible que en ocasiones este término solo se use para referirse al dispositivo de hardware o al software por separado. En este caso, esta interpretación es errónea.

También recomienda, debido a las confusiones generadas alrededor del término, a no usarlos o evitar usarlo.

Historia del firmware

El científico computacional Ascher Opler fue el primero en acuñar el uso del término firmware en un artículo publicado en el año 1967. Este término se usó para referirse a una pequeña porción de la memoria RAM. Esta contenía un conjunto de instrucciones del ordenador, y fue denominada microshiva.

De ser necesario, las instrucciones de firmware se podían recargar en caso de que se necesitará una actualización. De esta manera se modificaban las instrucciones a ejecutar por la Unidad Central de Procesamiento CPU.

Originalmente, el firmware no se componía de instrucciones en lenguaje de máquina del CPU propiamente dicho. En su lugar, eran instrucciones de nivel inferior que se encargaba de las implementaciones de las instrucciones de lenguaje de máquina que podía ejecutar el CPU.

Es decir, el firmware ocupaba un lugar en el límite de la frontera entre el hardware y el software del dispositivo.

Durante el paso del tiempo, el término fue ampliado. Actualmente se usa para referirse a cualquier tipo de microcódigo. Este puede ser almacenado en RAM o en la memoria de solo lectura ROM. De hecho, firmware se usa para identificar cualquier grupo de instrucciones contenidas en memoria ROM. Aquí se incluyen las instrucciones del BIOS del ordenador, aplicaciones especializadas y cargadores de arranque.

Evolución y proceso de actualización

Con el avance tecnología, el firmware también ha evolucionado y actualmente este se refiere a casi todo contenido programable dentro de un hardware. Se ha eliminado la restricción de usarlos sólo para referirse a microcódigo de máquina para el CPU de un ordenador. Este se refiere actualmente, además, a configuraciones y datos para circuitos integrados y dispositivos de lógica programable.  

Un dispositivo tan sencillo como un control remoto, posee un firmware encargado de enviar las instrucciones al hardware que envía las señales infrarrojas al TV. De esta manera se puede cambiar de canal, modificar el volumen y todas las acciones que permiten los controles remotos.

Firmware en control remoto.
Control remoto de TV.

El proceso de actualización del firmware se realiza removiendo el dispositivo de almacenamiento que tenía las instrucciones del mismo. Estos dispositivos eran comúnmente un chip de memoria ROM.

Actualmente este procediendo es más sencillo y menos costoso. Los fabricantes implementan mecanismos que posibilitan grabar nuevamente las instrucciones en la memoria ROM del dispositivo. Los niveles de seguridad son bastante potentes, para evitar así que un usuario común acceda o modifique el contenido del microcódigo.

Para actualizar el firmware es necesario ser muy cuidadoso, ya que se puede dañar el dispositivo y dejarlo inutilizable. Es necesario contar con sistemas eléctricos de respaldos para evitar un fallo de alimentación durante la actualización. Un fallo en medio de la actualización podría afectar la lógica del dispositivo y no permitir que este se actualice nuevamente.

Firmware en dispositivos electrónicos comunes

Como hemos explicado el firmware puede estar presente en cualquier dispositivo electrónico programable. En los ordenadores este no se encuentra solamente en la Unidad central de procesamiento. También podemos encontrarlo en los periféricos.

BIOS de ordenador

Las instrucciones contenidas en el BIOS de un ordenador pueden ser actualizadas fácilmente. El firmware de tarjetas de video u otros dispositivos dependen de la correcta ejecución de las instrucciones del BIOS y son cargadas por drivers de dispositivos. Estos drivers se actualizan comúnmente una vez es actualizado el sistema operativo o de manera manual.

Periféricos de ordenador

De hecho, un periférico de ordenador se puede considerar como ordenadores de propósito específico. Un dispositivo común pose el firmware almacenado internamente. En el caso de los periféricos, estos cargan el firmware directamente al ordenador en el arranque de este. De esta manera la interacción del ordenador con los periféricos es mucho más flexible.

Es común que el periférico no funcione correctamente hasta que el ordenador ha terminado de cargar completamente el firmware del mismo. La interacción con el periférico se realiza comúnmente mediante drivers para un dispositivo específico. Los drivers más modernos pueden proporcionar una interfaz a los usuarios para la configuración del periférico.

Reproductores portátiles de música

El firmware de los reproductores contiene las configuraciones para reproducir ciertos formatos de música. En caso de que un fabricante quiera añadir un nuevo formato a su reproductor, solo tiene que incluirlo en el código y proceder a la actualización.

Con las actualizaciones también es posible modificar la interfaz gráfica de usuario GUI y hasta la vida útil de la batería del dispositivo. Casi todos los dispositivos de reproducción de música modernos incorporan soporte para el mecanismo de actualización.

Teléfonos móviles

Estos son sin duda de los dispositivos más utilizados en la actualidad. Los teléfonos móviles incorporan mecanismos sencillos de actualización de firmware. El proceso de actualización pueden realizar mejores, desde la calidad y nivel de recepción, sonido y vida de la batería.

Actualización de firmware de un movil.
Teléfono móvil actualizando firmware.

Coches

Actualmente es común que los coches modernos incorporan computadoras internas. Automóviles aún más complejos, como los automóviles autónomos, poseen mecanismos computacionales bastante poderosos.

Estos ordenadores pueden detectar problemas mecánicos y brindar información sobre el estado del coche a los usuarios. Todos estos controles pueden ser actualizado, e incluir algunos nuevos, mediante actualizaciones al firmware del vehículo.


Artículos relacionados que te podrían resultar interesantes:

Deja una respuesta

Tu dirección de correo electrónico no será publicada.