chips ARM que carecen de ROM de arranque [cerrado]

0

Esto no es tan verdadero como solía ser, pero considero que una diferencia entre las plataformas x86 y las plataformas ARM es si el arranque implica el uso de una ROM de máscara en el reinicio para inicializar el sistema. Si ignoramos los desarrollos de la ME de Intel y la PSP de AMD, los procesadores x86 comienzan a ejecutarse desde la EEPROM. El código que se almacena allí puede estar en cualquier formato porque el procesador simplemente lo ejecuta, sin hacer preguntas. Al reiniciar en un chip ARM, las cosas son más complicadas. La CPU comienza a ejecutar el código almacenado en una ROM de máscara en el troquel y este código puede o no pasar de la ejecución al código almacenado en un medio mutable, según el diseño del chip. El código que saltará puede necesitar un encabezado, incluso si está almacenado en una memoria que sea compatible con XIP.

Hay algunos casos de procesadores basados en ARM que comenzarán a ejecutar el código almacenado en EEPROM. La línea de microcontroladores STM32 se ajusta a este diseño. Sin embargo, todavía habrá algún tipo de código de solo lectura en el chip que se puede iniciar si la configuración del pin es correcta. En los chips STM32 hay un cargador de arranque "integrado" en el chip que se utiliza para programar el flash interno.

Mi pregunta es la siguiente: ¿existen chips ARM que no tengan ningún tipo de ROM de inicio y se comporten al reiniciarse de la misma manera que los procesadores x86 más antiguos que se utilizan para operar? ¿En qué situaciones se utilizarían?

    
pregunta Melab

2 respuestas

1
  

Mi pregunta es la siguiente: ¿existen chips ARM que no tengan ningún tipo de ROM de arranque?

Sí. La serie SAMD21 de Atmel / Microchip funciona de esta manera, por ejemplo: no hay un cargador de arranque incorporado; si el chip está completamente borrado, no hará nada.

Sin embargo, no sería tan rápido tratar estas partes como fundamentalmente diferentes de otras como la STM32, sin embargo. Los pines BOOT en el STM32 controlan la dirección de restablecimiento: si la parte está configurada para arrancar desde flash, el cargador de arranque incorporado no está involucrado en el proceso de arranque.

    
respondido por el duskwuff
0

Un factor que es valioso para agregar seguridad a un sistema es la presencia de un código de arranque en el chip. Ese código de inicio puede estar en la ROM enmascarada, o FLASH, pero no tiene mucho sentido diseñar un nuevo SoC que no admita este principio de seguridad bastante básico.

Ahora, el código de arranque del chip no garantizará un arranque seguro / confiable, pero es un paso en la dirección correcta y hará que la ingeniería inversa sea un producto un poco más difícil. No habrá mucha demanda de chips de estilo antiguo.

Tenga en cuenta que no es necesario tener un gestor de arranque para programar un dispositivo con flash incorporado: el puerto de depuración se puede usar para descargar un algoritmo de programación a la RAM y luego transferir los datos que deben escribirse a la memoria RAM. DESTELLO. Para asegurar el código descargado, en los fusibles de chip se pueden usar para deshabilitar el acceso de depuración al flash.

    
respondido por el Sean Houlihane

Lea otras preguntas en las etiquetas