En mini2440, uboot se coloca en norflash y el kernel, el sistema de archivos raíz y las aplicaciones se colocan en nandflash.
Es muy simple cuando mini2440 se inicia desde Nor, la CPU se ejecuta en la dirección 0x00000000. Esta dirección en realidad corresponde a NorFlash. Debido a que NorFlash es un dispositivo similar a Ram, el método de lectura de datos es el mismo que el de la memoria. Archivo .s de Uboot En el archivo start.s de Uboot, hay un fragmento de código que implementa la función de copiar datos de NorFlash a SRAM. Después de copiar el código, la CPU saltará a la memoria para su ejecución mediante instrucciones. En este momento, Uboot lee el kernel de Nand en la memoria a través de otro fragmento de código (en realidad, la parte del subsistema Nand) y luego, a través de instrucciones, la CPU salta a la dirección de entrada del kernel para su ejecución.
Una vez que el kernel comienza a ejecutarse, descubrirá la partición del sistema de archivos raíz pasando CMDLINE a través de Uboot. Por lo tanto, el archivo raíz pasará por una serie de mecanismos complejos para finalmente montar el sistema de archivos en el sistema.
Para comprender completamente este proceso, debe portar completamente Uboot y Kernel.
Finalmente, me gustaría agregar que la funcionalidad real de usar Uboot, supervivi, vivi y otros gestores de arranque en el mini2440 es básicamente la misma.