You are on page 1of 2

Boletín Abril 2008

Firmware: El software base de los dispositivos electrónicos
Hoy en día todos nosotros utilizamos diariamente algún dispositivo electrónico, celular, computadora, iPod, horno de microondas, televisión, reloj digital, por mencionar algunos. Pero, alguna vez se ha preguntado ¿Cómo funciona mi dispositivo internamente? La gran mayoría de los dispositivos electrónicos que conocemos son controlados por un software interno el cual se encuentra almacenado en una memoria interna (ROM, EPROM, FLASH). Este software es ejecutado por un procesador de la misma manera en que nuestra computadora ejecuta los programas que le instalamos. La gran diferencia es que esta computadora está contenida en un solo chip que es del tamaño de nuestro dedo pulgar, a estos chips se les conoce como “microcontroladores”. Los microcontroladores contienen todas las partes de una computadora, procesador, memoria ram, memoria flash, puertos de entrada y salida, incluso hasta una conexión ethernet (la cual sirve para conectarse a Internet). El detalle con los microcontroladores es que todos tienen características y periféricos distintos y cada fabricante maneja su propio lenguaje de programación (lenguaje ensamblador), incluso dos microcontroladores del mismo fabricante pueden ser totalmente distintos en su programación. Debido a esto, el software que se escribe para los microcontroladores es 100% específico para cierta marca y modelo por lo que hay que escribir un programa específico para cada uno de ellos, a la combinación de este hardware y software se le conoce como firmware. El firmware es el que hace posible que nuestros celulares tengan un menú de opciones o que nuestra televisión tenga un menú para ajustar el color, grabar canales favoritos, indicarle que se apague automáticamente después de cierto tiempo, etc. Algunos dispositivos electrónicos no requieren que su firmware sea actualizado debido que sus funciones no varían, pero, ¿Qué tal si compramos un celular nuevo y al pasar una semana surge una nueva tecnología (Internet móvil) o una mejor manera de utilizar ese celular (más opciones en el menú)? ¿Tendríamos que comprar otro celular? tal vez no, quizá lo único que hay que hacer es conseguir la nueva versión de firmware del sitio web del fabricante, cargarla en nuestro celular, ¡y listo!, nuestro celular ya tiene lo más nuevo. Otro ejemplo de firmware con el que probablemente la mayoría de nosotros estamos más familiarizados es el BIOS (Basic Input Output System) de nuestra computadora, ¿BIOS? ¿Qué es eso?... si ponemos atención al encender nuestra computadora podemos observar varios mensajes como “IDE-0 WDC25000, ATAPI CD-ROM, RAM Memory… etc.”. Toda esta información es relativa al firmware de nuestra computadora el cual se encarga de inicializar, verificar y detectar todos los dispositivos conectados en el sistema, además de que nos ayuda para hacer las configuraciones iniciales cuando se ensambla la computadora por primera vez; en otras palabras, es el software base para que podamos utilizar nuestra computadora. Los avances en el desarrollo de firmware y hardware son más notables en la industria de la automatización y en la automotriz que en la industria de dispositivos personales. Por ejemplo, actualmente empresas como INTEL y AMD presumen de su tecnología con procesadores de doble núcleo (dos microprocesadores en un solo chip), incluso a la fecha ya existen en el mercado procesadores con cuatro núcleos y se esperan procesadores con 6 u 8 núcleos... Sin embargo, esto no es nuevo en la industria de la automatización o en la automotriz ya que hace más de 7 años existen microcontroladores con 32 núcleos de tiempo real (independientes) o

Boletín Abril 2008

incluso a la fecha tal vez ya existen de 64 o 100 núcleos. Lo más probable es que empresas como INTEL o AMD ya tienen listos estos desarrollos y solamente están deteniendo su liberación al mercado para asegurar más años de ventas. La elaboración de firmware es un gran reto debido a que los microcontroladores tienen recursos muy limitados y le exige al desarrollador tener habilidades y conocimientos en diversas áreas como cómputo y electrónica, además de que involucra el uso de dispositivos de prueba y periféricos especializados como por ejemplo osciloscopios, analizadores de espectro, diversos tipos de sensores, entre otras cosas. Con respecto a los recursos, comparemos brevemente algunos de los recursos típicos de una computadora personal (PC) y un microcontrolador (MC): Memoria RAM: 512 MB en PC; 0.25 MB en MC Memoria Permanente: 40,000 MB en PC; 1 MB en MC Puertos Disponibles: 8 puertos expandibles en PC; 3 puertos fijos en MC

Como podemos ver, los recursos de una computadora personal superan por mucho a los de un microcontrolador, es por eso que el desarrollo de firmware para un microcontrolador es mucho más complicado que el desarrollo de software para una computadora personal. En resumen, hoy en día cada vez más usuarios aprenden a actualizar el firmware de sus dispositivos ya que el Internet y los avances en la industria electrónica facilitan esta tarea. En la mayoría de los casos la actualización de firmware elimina la necesidad de adquirir un dispositivo nuevo cada vez que surge una tecnología o funcionalidad nueva extendiendo de esta manera la vida útil de nuestros dispositivos.

Referencias:

http://es.wikipedia.org/wiki/Firmware