Un gestor de arranque es responsable de mover, y en algunos casos descomprimir, el núcleo del sistema operativo del almacenamiento a largo plazo (es decir, flash o disco duro) a la memoria principal (RAM) para que la CPU lo ejecute. Un cargador de arranque es otro término para el gestor de arranque.
El código de inicio, sin embargo, es ligeramente diferente. El código de inicio se refiere al puñado de subrutinas que se ejecutan cuando el gestor de arranque controla el núcleo por primera vez. Estas rutinas están escritas en código de máquina para la arquitectura de destino y configuran parámetros dentro de la CPU de destino que permiten la ejecución de otros programas y realizan tareas críticas como configurar la pila, poner a cero el BSS y copiar la sección de datos del núcleo desde el almacenamiento a largo plazo hasta la memoria principal. Una vez ejecutado, el código de inicio salta al punto de entrada del kernel, generalmente definido bajo el nombre del símbolo ‘main’ para la inicialización del sistema de nivel superior, como la creación de instancias de controladores de dispositivo y periferia del sistema.
- ¿Cuáles son las cosas que debo saber absolutamente sobre el microprocesador y el microcontrolador para estudiar sistemas embebidos?
- ¿Por qué no tenemos más coprocesadores en computadoras personales como los sistemas integrados?
- ¿Cuál es la diferencia entre IoT y sistemas integrados?
- A pesar de la popularidad entre los aficionados, ¿por qué Atmel AVR rara vez se usa en electrónica industrial y de consumo?
- ¿Qué proyecto de demostración puedo implementar para aprender a programar usando el bus CAN?