SoC Multi Cores y cargadores de arranque

-2

Descubrí que un SoC o MCU típico (multi core) tiene un cargador de arranque que carga el núcleo de arranque. ¿Alguien podría decirme si cada núcleo requiere su propio cargador de arranque dedicado ? ¿Es posible cargar un núcleo adicional por el núcleo de la correa de arranque y no por un cargador de arranque ? ¿Puede el gestor de arranque residir en cualquier lugar del troquel que no sea en la memoria flash o en EEPROM o ROM? Finalmente, usando un MCU de múltiples núcleos o SoC IC como ejemplo ¿cómo sabe el cargador de arranque dónde ubicar el núcleo ? Por favor en su respuesta sea lo más detallado posible. Cualquier enlace o recurso sería apreciado también.

    
pregunta VictorM

1 respuesta

2

No, el gestor de arranque solo se ejecuta una vez en el primer núcleo activo después del reinicio. Una vez que el software se ejecuta en el primer núcleo, el software puede inicializar los otros núcleos. Creo que solo es posible abrir otros núcleos a través del software que se ejecuta en el primer núcleo.

El cargador de arranque podría estar en varios lugares dependiendo de la configuración. Podría estar en una ROM direccionable de algún tipo (ROM, flash NOR o EEPROM) ya sea en el dado o fuera del dado. O podría cargarse en la RAM mediante un pequeño cargador de hardware o software desde una ROM interna o un chip flash SPI externo.

No estoy seguro de qué quiere decir con 'localizar el núcleo'. Si se está refiriendo a decidir qué núcleo comenzará a ejecutarse primero, esto se incluirá en el chip, ya que dicho núcleo es el único núcleo activo después de un reinicio. El bootloader comenzaría a ejecutarse en este núcleo. Después de que se inicie el gestor de arranque, el código posterior decidirá qué núcleos adicionales se iniciarán. Sin embargo, esto puede o no hacerse en el gestor de arranque. El gestor de arranque es generalmente el componente que carga el sistema operativo, luego el sistema operativo inicializaría el hardware e iniciaría los otros núcleos.

    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas