29 votos

Es el firmware de código o datos?

Cuando alguien dice que "el resplandor" firmware en un dispositivo, soy curioso en cuanto a lo que este hecho implica.

  1. Es firmware sólo un binario nativo que se almacena en la memoria y que puede ser interpretado por la CPU del dispositivo (como cualquier otro ejecutable en un ordenador)? O es el firmware sólo de datos que actúa como entrada a una inmutable programa ya codificado/por cable en el dispositivo?
  2. Si el último ejemplo no es el firmware, ¿cómo lo llaman? Por ejemplo, digamos que un dispositivo tiene algunas binario (someapp.exe), y no se puede eliminar o modificar este binario. El binario, cuando se corrió, toma la entrada de un chip de memoria. Usted puede "flash" de datos para este chip, y por lo tanto afectan a la entrada/configuración de someapp.exe que tendrá efecto la próxima vez que se ejecuta. Si no el firmware, ¿qué puede ser esto?

27voto

GetFree Puntos 495

Como sucede a menudo con tales definiciones, estamos de acuerdo en la mayoría de los casos, pero no es muy firmes límite entre lo que es el firmware y lo que no. El Firmware es

  • almacenado de forma permanente (excepto para algunos conocedores de la persona que puede cambiar ...)
  • no pretende ser cambiado (excepto ...)
  • opera en el procesador sin la ayuda de otro software (excepto...?)

En cuanto a los datos que es interpretada por un (firmware) intérprete: esto no se hace a menudo en un entorno profesional, ya que hace que el producto más caro: más memoria, la potencia de la CPU, etc. es necesario para lograr el mismo objetivo final. Esto es sin embargo a veces se utiliza en un aficionado a la configuración, a menudo con un intérprete de Basic en flash, y un (señalizado) aplicación Básica almacenados en eeprom o Flash). Comprobar, por ejemplo, el PICAXE y los diversos Básicos de sellos.

La OMI en este marco, tanto el intérprete de Basic y la solicitud de base debe ser llamado firmware.


Un uso interesante de un firmware intérprete que interpreta el código almacenado (que debe OMI ser considerado firmware) es la de XBOX 360 de inicio. Esta excelente charla describe con algún detalle.


A continuación MSalters se pregunta si el código FPGA / datos de configuración deben ser considerados de firmware.

En los aspectos que más importan (se trata de información que es cambiante tarde en el proceso de producción, pero no es la intención de ser cambiado a voluntad por el usuario final) FPGA bits se comportan como firmware. Que hace la pregunta de si es el firmware según cualquier definición discutible. El punto importante es que se puede (y debe) ser escrito, manejado y administrado como firmware. (Si camina y grazna como un pato, es un pato?)

No te molestes con las definiciones cuando no son útiles. Es el microcódigo de firmware? ¿La representación de la materia? ¿El contexto de la materia? Son las ROM de bits para MIM firmware?


Vaxquis' comentario a la OP es la pregunta que me impulsó a leer el artículo de wiki se vincula. IMO la definición de firmware que allí se indican (persistente de la memoria y el código del programa y los datos almacenados en ella) es problemático. IMO los mapas almacenados en un sistema de navegación para coche son los datos, no el firmware, no importa cómo se almacenan (según la wiki deben ser de firmware). Y las aplicaciones en tu iPhone o teléfono Android son aplicaciones, no de firmware (según la wiki también debe ser de firmware).

14voto

Mark Biek Puntos 41769

El Firmware es un programa de código que se almacena en una memoria no volátil, como la memoria flash. El término se utiliza más a menudo en conexión con sistemas embebidos. Puede ser en el mismo chip del procesador, o en un dispositivo independiente.

9voto

Seiti Puntos 1013

Creo que ambas opciones son una especie de corregir, de sólo mirar el microprocesador en diferentes niveles de abstracción. Lo que se está refiriendo como su inmutable binario sería el hardware en sí, que es bastante limitado en lo que puede hacer. Fetch instrucción de la dirección 0x0000, decodificar instrucción fetch suministrado dirección/registrar, ejecutar, incremento de la instrucción de contador. Ese es el microprocesador de la tubería, y no se puede cambiar. Para controlar lo que el microcontrolador hace mediante el almacenamiento de instrucciones en la memoria, que son, a continuación, de forma secuencial. Así que, básicamente, sí, el firmware es sólo de entrada de datos para una inmutable programa, a un bajo nivel de abstracción. Generalmente, sin embargo, es más fácil imaginar el firmware como un programa especial que controla el microprocesador porque conceptualmente es más fácil de esa manera.

8voto

Burak Erdem Puntos 2513

En realidad, es de ambos.

Un ejemplo de firmware es la BIOS del PC, una sección de la BIOS es ejecutable, sino en otras partes de la BIOS es la realidad de los datos, específicamente en las tablas para mostrar a enumerar las diferentes funciones de una ROM del BIOS, independientemente del tipo de tecnología que se basa. Muchas veces los datos se almacenan en tanto, otro flash de memoria, batería o un condensador copia de la memoria RAM, ya sea CMOS SRAM o a otro compatible con el chip de la memoria de la tecnología.

Firmware, es un término genérico que se utiliza para inmutable / memoria no volátil, que está ahí y accesibles como por el ciclo de la energía por el tiempo que no hay nada eléctricamente mal con el circuito o en el caso de un ciclo de programación de la atascado, para memorias eeprom o Flash Rom.

Firmware, por definición, es el nivel más bajo de acceso, que se inicializa, pruebas de hardware que tenemos instalado en su sistema o componentes incrustados y da de baja el nivel de las rutinas (a veces visto como llamadas a funciones del BIOS) de que el sistema operativo debe ser capaz de utilizar los componentes en su sistema. En los viejos tiempos, la BIOS o Básico de Entrada y Salida del Sistema también incluye un lenguaje de programación llamado "BÁSICOS", como el Commodore 64 y el resto de ordenadores personales de la década de 1970, por supuesto que hubo equipos antiguos que había BÁSICO incorporado en ellos para el uso por los profesionales del equipo de investigadores. Si usted ha oído hablar de un carácter o símbolo de la ROM que es una forma de pure data para el ejecutivo o el programa de la ROM para conseguir que el sistema vaya a que la ROM y buscar caracteres en una secuencia o un volcado de todo el chip en la memoria RAM para trabajar con él allí.

El valor predeterminado PROM, EPROM, EEPROM, Flash programadores grabar el firmware en un chip con el sufijo .hex o .de reciclaje, que son formatos similares, depende de la aplicación que está utilizando para enviar al chip, el firmware.

También, hay firmware archivos blob, estos son ejecutables en forma de bibliotecas y rutinas que se cargan en tiempo de ejecución, un buen ejemplo de que es inalámbrico controladores de hardware, que contienen el código necesario para ejecutar todo el hardware de las tarjetas a través de su sistema informático. La única diferencia es el USB y la tarjeta basada en el firmware, no se trata de la tienda sobre ellos, pero en su disco duro y cargado en memoria. Funciona como un servicio de traducción de la capa de filtro y, esencialmente. Es tanto los datos y el código también.

Mi base de esto es que yo, de hecho, escribir Bios para otros equipos y sistemas embebidos (por ejemplo, inalámbrica de firmware, que en realidad es cargado cuando el sistema operativo se inicia, a continuación, empieza a cargar los controladores de hardware de bajo nivel, que también incluyen el tiempo de ejecución de firmware). Se llama firmware ya que no cambia nunca es la rutina a menos que usted obtenga una actualización del fabricante y, a continuación, la actualización sobrescribe el viejo. Actúa como el nuevo firmware, en este caso, hasta que las cosas se encuentra actualizado, si no, entonces ese es el firmware que se utiliza cuando el sistema operativo se carga.

Estoy de acuerdo, no debería ser llamado firmware porque no es técnicamente en el chip como una solución permanente, y se necesita una herramienta especial y una aplicación para el firmware (en el caso de la antigua Bios frente a que de memorias flash).

Tengo más preguntas, yo estaría encantado de responder a ellos de usted.

0voto

Martin R-L Puntos 2300

Creo que el uso de los "históricos" de la perspectiva, podría dar una mayor comprensión básica de lo que firmware es.
Primero comienza con "hard-ware." Para proporcionar/crear una función dada, se podrían utilizar los tubos, relés, transistores, & ICs. Usted podría usar un número de estos componentes y habría que crear un dispositivo que realiza la función requerida. Esto fue considerado un "hard-ware" porque, si quería (o necesarios) para cambiar la función que usted necesita para desoldar los cables, enchufes, etc. y este fue "duro" para hacer. Por lo tanto, este método de aplicación de una función se conoce como el uso de hardware. El uso de la CPU, la RAM, y el código, se convirtió en otro método de creación de una función, y llegó a ser conocido como "soft-ware" porque era muy "fácil" para hacer cambios en el diseño." Sin embargo, también hay una necesidad (la mayoría de los fabricantes), para completar como parte de un diseño tan pronto como sea posible, pero ser capaz de hacer de "último minuto" cambios en el diseño de lo más fácil y rentable posible. El uso de ROMs permite esta flexibilidad hasta el punto de "primer barco." EEPROMS permitir los cambios, incluso después de "primer barco" (en el campo). El código necesario/se utiliza para las ROMs y fiestas de graduación, fue darle el nombre de "firmware."

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X