Cómo el firmware [como BIOS] se agrega al hardware

0

Estoy leyendo sobre BIOS , que es una pieza de no volátil Firmware . Wikipedia dice de firmware:

  

Las razones comunes para actualizar el firmware incluyen corregir errores o agregar funciones al dispositivo. Esto puede requerir que los circuitos integrados ROM sean reemplazados físicamente, o que la memoria flash se reprograme a través de un procedimiento especial ... El firmware, como el programa de un sistema integrado, puede ser el único programa que se ejecutará en el sistema y brindará todas sus funciones. .... La BIOS puede ser actualizada "manualmente" por un usuario, usando un programa de utilidad pequeño. ... el firmware propietario como un riesgo de seguridad, diciendo que "el firmware de su dispositivo es el mejor de la NSA". Amigo "y firmware de llamada" un troyano de proporciones monumentales ".

De todos modos, no se dice mucho sobre cómo se agrega o actualiza el firmware, y todo parece una caja negra.

Me interesa saber con más detalle cómo el sistema BIOS se instala en la "placa del sistema":

  

El firmware del BIOS viene preinstalado en la placa del sistema de una computadora personal [se pregunta cómo], y es el primer software que se ejecuta cuando se enciende ... La mayoría de las implementaciones de BIOS están diseñadas específicamente para funcionar con una computadora o placa base en particular Modelo, al interactuar con varios dispositivos que conforman el conjunto de chips del sistema complementario. Originalmente, el firmware del BIOS se almacenaba en un chip ROM en la placa base de la PC. En los sistemas informáticos modernos, el contenido de la BIOS se almacena en la memoria flash para que pueda reescribirse sin quitar el chip de la placa base. Esto permite actualizaciones fáciles para el firmware del BIOS por parte del usuario final, de modo que se pueden agregar nuevas características o se pueden corregir errores, pero también crea una posibilidad de que la computadora se infecte con los rootkits del BIOS. Además, una actualización del BIOS que falla puede bloquear la placa base permanentemente, a menos que el sistema incluya algún tipo de respaldo para este caso.

Básicamente, esta pregunta es qué sucede en realidad para que el software se instale en el hardware en este caso. En mi cabeza, estoy grabando un grabador láser grabando el software en el metal de alguna manera Eso es todo lo que mi conocimiento dice, lo que probablemente está mal. Así que me gustaría saber cómo hacerlo allí, cómo instalar algo sin que el sistema BIOS esté disponible para ayudarlo a arrancar su hardware.

    
pregunta Lance Pollard

4 respuestas

1

Consulte enlace :

El chip es una especie de Flash o EEPROM, y puede escribirse esencialmente de la misma forma que las memorias USB o tarjetas SD (¿tal vez esta sea tu verdadera pregunta?). El que se muestra está enchufado, pero el otro en esa página está soldado a la placa base.

Los chips probablemente serán suministrados programados por su fabricante; en el último paso del proceso de producción, se colocarán en un zócalo o plantilla para que puedan encenderse, probarse y programarse antes de colocarlos en una bandeja o cinta que se enviará al ensamblador.

    
respondido por el pjc50
2

El BIOS se almacena en una memoria reprogramable, ya que puede actualizarlo.
Esto significa que no hay láseres desafortunadamente.

Incluso si los láseres están involucrados, no graban el programa. Podrían grabar algunos bits, para un número de serie o configuración. Antes de que el chip se moldea en un paquete de plástico. Si un programa es de solo lectura, será debido a la ROM de máscara durante la fabricación de chips.

Las placas madre se prueban, en lugar de una prueba funcional completa y temerosa directamente después de la soldadura, se han simplificado para verificar solo las conexiones. Dado que este es el error más probable.

Para hacer esto, se inventó JTAG . Lo que básicamente significa que a través de un conector de 20 pines, todos los chips grandes de la placa tienen sus pines agregados a un registro de desplazamiento grande para poder controlarlos, y así probar las interconexiones entre los chips. JTAG también ofrece funcionalidades de programación, como es común en los microcontroladores.

No sé el proceso exacto de la producción de la placa base, pero hay varios métodos disponibles para cargar el programa inicial:

  • Un probador / programador de lecho de uñas, ya sea por JTAG o directamente en los pines del chip.
  • Fichas preprogramadas del fabricante o distribuidor. Las máquinas hacen esto.
  • gestor de arranque preprogramado o máscara-rom. A través de USB o UART por ejemplo.
respondido por el Jeroen3
2

Parece que le falta el conocimiento básico de la operación del sistema. Aquí está.

Cuando el procesador o el microcontrolador están encendidos, busca un lugar específico en su espacio de direcciones, lee los datos de ese espacio e inicia las ejecuciones de esos datos (instrucciones). Todas las acciones posteriores dependen de la arquitectura del dispositivo y del código ejecutable.

De Wikipedia:

  

... firmware es una clase específica de software de computadora que proporciona el control de bajo nivel para el hardware específico del dispositivo.

Por lo tanto, en términos de sistema operativo, el firmware es un tipo de controlador para el sistema y sus dispositivos. En una etapa posterior, los controladores del sistema operativo pueden obtener un control total o mantener el control de los dispositivos a través de la interfaz programable del firmware (consulte API).

  

Me interesa saber con más detalle cómo se instala el sistema BIOS en la "placa del sistema"

BIOS y firmware están escritos en el chip. El contenido de este chip se puede leer (por supuesto), y la mayoría de las veces se escribe si el chip lo permite.

  

no se dice mucho sobre cómo el firmware se agrega o actualiza

La actualización es una acción de escritura de nuevos datos / códigos en el chip que mencioné anteriormente.

  

lo que realmente sucede para obtener el software en el hardware en este caso

Al instalar este chip con datos / código (software) en la placa. Los datos / códigos pueden estar ubicados dentro de la unidad de procesamiento, no necesariamente dentro de un chip de memoria dedicado.

  

En mi cabeza, estoy grabando un grabador láser grabando el software en el metal de alguna manera.

No estoy seguro de entender esto, pero en general puede grabar (escribir) datos en la barra de metal con láser, la pregunta principal sobre quién / qué y cómo se pueden leer estos datos para ejecutarlos.

  

cómo instalar algo sin que incluso el sistema BIOS esté disponible para ayudarte a reiniciar tu hardware.

Los sistemas complejos constan de varias piezas de código ubicadas en varios lugares, por lo tanto, si algo falla y el código no se ejecuta, simplemente reemplace el dispositivo (o actualice el código en sus chips de memoria NV si es posible).

Por lo tanto, ningún dispositivo que contenga BIOS / UEFI o firmware asume que el hardware es inoperativo, ya que cualquier dispositivo de almacenamiento para cargar datos también asume el controlador que debe cargarse desde el hardware en primer lugar.

    
respondido por el Anonymous
1

En el pasado, los chips de la BIOS eran 27C512 EPROM y luego 29F512 Flash ROM compatibles. Esos chips tienen que encontrarse con un programador externo para que el software los incluya. Esa es también la razón por la que eran los únicos chips DIP enchufados en un tablero moderno.

Hace unos quince años, los fabricantes de tableros de PC finalmente abandonaron los paquetes DIP para ese chip, pero solo dieron el paso a la carcasa del chip PLCC para que aún pudiera ser conectado. Y esa es la situación actual de las PC.

Para otras plataformas, la ROM ROM del gestor de arranque es parte del SoC y se transfiere mediante el mecanismo JTAG bastante común, o mediante un método de programación de bajo número de pines personalizado para el chip en cuestión.

O simplemente viene pre-flash o máscara programada por el fabricante del chip. Sólo lotes de gran volumen, por supuesto.

    
respondido por el Janka

Lea otras preguntas en las etiquetas