FIRMWARE
Firmware o programación en firme, es un bloque de instrucciones de programa para propósitos específicos, grabado en una memoria de tipo no volátil (ROM, EEPROM, flash,...), que establece la lógica de más bajo nivel que controla los circuitos electrónicos de un dispositivo de cualquier tipo. Al estar integrado en la electrónica del dispositivo es en parte hardware, pero también es software, ya que proporciona lógica y se dispone en algún tipo de lenguaje de programación. Funcionalmente, el firmware es el intermediario (interfaz) entre las órdenes externas que recibe el dispositivo y su electrónica, 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 periféricos, como en monitores de video, unidades de disco, impresoras, etc., pero también en los propios microprocesadores, chips de memoria principal y en general en cualquier circuito integrado.
Muchos de los firmwares almacenados en ROM están protegidos por Derechos de Autor.
El programa BIOS de una computadora es un firmware cuyo propósito es activar una máquina desde su encendido y preparar el entorno para la instalación de un Sistema Operativo complejo, así como responder a otros eventos externos (botones de pulsación 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 circuitería 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 sólo código de máquina para un procesador, sino también configuraciones y datos para los circuitos integrados para aplicaciones específicas (ASICs), dispositivos de lógica programable, etc.
Ejemplos
Ejemplos de firmware incluyen:
• Sistemas de temporización y control para las lavadoras
• El BIOS encontrado en computadores personales compatibles con el IBM PC;
• El código de plataforma encontrado en los sistemas Itanium, las máquinas Mac OS X basadas en Intel, y muchos tarjetas de escritorio de Intel tienen firmware EFI;
• Open Firmware, usado en computadores de Sun Microsystems, Apple Computer, y de Genesi;
• ARCS, usado en computadores de Silicon Graphics;
• Kickstart usado en la línea de computadoras Amiga. Este es un ejemplo único de un firmware que mezclaba las capacidades del BIOS (POST, inicio del hardware + auto configuración plug and play de periféricos, etc.), del kernel en sí mismo del AmigaOS y de partes del código usadas en el sistema operativo (como primitivas y bibliotecas de la interface gráfica)
• RTAS (Run Time Abstraction Services), usado en computadoras de IBM;
• Chips de EPROM usados en la serie Eventide H-3000 de procesadores digitales de música.
• El Common Firmware Environment (CFE)
• Controlando los atributos del sonido y video tanto como la lista de canales en los televisores modernos
Hackeando el firmware
A veces una nueva o modificada versión no oficial de firmware es creada por terceros para proporcionar nuevas características o para abrir una funcionalidad oculta. Los ejemplos incluyen Rockbox para los reproductores de audio digital, CHDK2 y Magic Lantern para las cámaras digitales de Canon, y OpenWRT para los enrutadores inalámbricos, el firmware de región libre para unidades de DVD, que no son de región libre con el firmware oficial, así como muchos proyectos de homebrew para las consolas de juego. Éstos pueden a menudo abrir funcionalidad computacional en dispositivos previamente limitados (ej., ejecutar Doom en iPods). La mayoría de los hacks de firmware son libres y también de código abierto.
Estos hacks usualmente utilizan la facilidad de actualización del firmware en muchos dispositivos para instalarse o ejecutarse en ellos. Algunos, sin embargo, deben recurrir a exploits para funcionar, porque el fabricante ha intentado bloquear el hardware para evitar que utilicen código no autorizado.
BIBLIOGRAFIA:
http://es.wikipedia.org/wiki/Firmware
Firmware o programación en firme, es un bloque de instrucciones de programa para propósitos específicos, grabado en una memoria de tipo no volátil (ROM, EEPROM, flash,...), que establece la lógica de más bajo nivel que controla los circuitos electrónicos de un dispositivo de cualquier tipo. Al estar integrado en la electrónica del dispositivo es en parte hardware, pero también es software, ya que proporciona lógica y se dispone en algún tipo de lenguaje de programación. Funcionalmente, el firmware es el intermediario (interfaz) entre las órdenes externas que recibe el dispositivo y su electrónica, 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 periféricos, como en monitores de video, unidades de disco, impresoras, etc., pero también en los propios microprocesadores, chips de memoria principal y en general en cualquier circuito integrado.
Muchos de los firmwares almacenados en ROM están protegidos por Derechos de Autor.
El programa BIOS de una computadora es un firmware cuyo propósito es activar una máquina desde su encendido y preparar el entorno para la instalación de un Sistema Operativo complejo, así como responder a otros eventos externos (botones de pulsación 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 circuitería 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 sólo código de máquina para un procesador, sino también configuraciones y datos para los circuitos integrados para aplicaciones específicas (ASICs), dispositivos de lógica programable, etc.
Ejemplos
Ejemplos de firmware incluyen:
• Sistemas de temporización y control para las lavadoras
• El BIOS encontrado en computadores personales compatibles con el IBM PC;
• El código de plataforma encontrado en los sistemas Itanium, las máquinas Mac OS X basadas en Intel, y muchos tarjetas de escritorio de Intel tienen firmware EFI;
• Open Firmware, usado en computadores de Sun Microsystems, Apple Computer, y de Genesi;
• ARCS, usado en computadores de Silicon Graphics;
• Kickstart usado en la línea de computadoras Amiga. Este es un ejemplo único de un firmware que mezclaba las capacidades del BIOS (POST, inicio del hardware + auto configuración plug and play de periféricos, etc.), del kernel en sí mismo del AmigaOS y de partes del código usadas en el sistema operativo (como primitivas y bibliotecas de la interface gráfica)
• RTAS (Run Time Abstraction Services), usado en computadoras de IBM;
• Chips de EPROM usados en la serie Eventide H-3000 de procesadores digitales de música.
• El Common Firmware Environment (CFE)
• Controlando los atributos del sonido y video tanto como la lista de canales en los televisores modernos
Hackeando el firmware
A veces una nueva o modificada versión no oficial de firmware es creada por terceros para proporcionar nuevas características o para abrir una funcionalidad oculta. Los ejemplos incluyen Rockbox para los reproductores de audio digital, CHDK2 y Magic Lantern para las cámaras digitales de Canon, y OpenWRT para los enrutadores inalámbricos, el firmware de región libre para unidades de DVD, que no son de región libre con el firmware oficial, así como muchos proyectos de homebrew para las consolas de juego. Éstos pueden a menudo abrir funcionalidad computacional en dispositivos previamente limitados (ej., ejecutar Doom en iPods). La mayoría de los hacks de firmware son libres y también de código abierto.
Estos hacks usualmente utilizan la facilidad de actualización del firmware en muchos dispositivos para instalarse o ejecutarse en ellos. Algunos, sin embargo, deben recurrir a exploits para funcionar, porque el fabricante ha intentado bloquear el hardware para evitar que utilicen código no autorizado.
BIBLIOGRAFIA:
http://es.wikipedia.org/wiki/Firmware