Paso 2: Zynq-Inicio
Descargar Zynq-Inicio
En primer lugar, vamos a descargar el código de zynq-arranque, que contiene lo que necesitamos para establecer un Zedboard para arrancar Android
Lo que necesita un gestor de arranque hacer arrancar Linux
Un gestor de arranque tiene que hacer un par de cosas antes de pueda arrancar Linux ARM.
- Configurar el controlador de memoria DRAM
- Cargar cualquier imagen de disco RAM inicial y el zImage en DRAM
- Cargar el valor del tipo de máquina en r2
- Saltar al zImage
Embalando el zImage y ramdisk inicial de imagen en un archivo boot.bin, fsbl de Xilinx se encarga de los primeros dos de éstos. Así que todos tenemos que hacer es los 2 últimos.
Excepto el Xilinx kernel parece requerir algunos otros registros de configuración para inicializar. Con el tiempo, tal vez este wil de configuración mover al kernel para simplificar este proceso.
Cómo Zynq-arranque prepara el camino para Linux
Si echamos un vistazo a los contenidos de Zynq-arranque, uno de los archivos de interés es clearreg. S. este archivo es compilado y vinculado con zImage que este código es el punto de entrada.
Comienza con algo de código para saltar más allá de una tabla de datos:
Entonces contiene la tabla de datos sí mismo. Cada entrada es dos palabras de 32 bits: un valor de configuración y escribir una dirección en la que escribo. Estos registros pueden configurarse por el Xilinx FSBL o el núcleo de Linux, lo que este paso sea más fácil.
Después de los datos de tabla es el tipo de máquina:
Entonces es el código que configura el procesador de acuerdo a la tabla de datos:
Finalmente es el código que carga el tipo de máquina de XILINX_EP107 y continúa hasta el punto de entrada de zImage:
Después de eso, Linux arranca como de costumbre.