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?