- Para este desarrollo implementaremos una secuencia de LEDS basándonos en la práctica # 1 http://microcarsil.blogspot.mx/2014/11/practica-1-leds-secuenciales-utilizando.html
 
La
siguiente figura muestra el flujo de proceso de carga en 2 estados.
- Un BootRom interna almacena el código de arranque Stage 0, la cual configura el procesador ARM y los periféricos necesarios e iniciar la búsqueda del FSBL (First Stage BootLoader). La lógica programable (PL) no se configura con el BootRom ya que no puede escribir a PL.
 
- El código de arranque FSBL normalmente se almacena en una de las memorias flash o se puede descargar a través del JTAG. EL BootRomm copia el código de arranque del FSBL que está en la memoria flash y la memoria OCM (On-Chip Memory). El tamaño del FSBL cargado en la OCM está limitado a 192 Kilobyte. Los completos 256 Kilobyte están disponibles después de que el FSBL se empezó a ejecutar.
 
- El código FSBL está completamente bajo el control del usuario y se le conoce como código arrancador de inicio de usuario. Este nos proporciona la flexibilidad necesaria para arrancar el sistema completo.
 
- El FSBL es responsable de:
 
1)     
Inicializar
los datos de configuración en hardware del sistema PS
2)     
Programar
la parte PL usando el bitstream asignado
3)     
Cargar
la segunda etapa del gestor de arranque o código de aplicación bare – metal en
la memoria DDR
- Para ampliar más sobre este tema favor de consultar la siguiente documentación:
 
 "Zynq-7000 All Programmable Software Developers Guide (ug821)"
and the "Technical Reference Manual (ug585)".
- El proceso de creacion del bootloader se ve en la siguiente figura:
 
INICIAMOS ABRIENDO VIVADO
- En el diagrama de bloques del proyecto LEDs en vivado debes habilitar SD0 y QUAD SPI en el Zynq, despues volver a generar el bitstream, exportar el hardware y por ultimo lanzar el SDK.
 
- El entorno de eclipse se muestra a continuación:
 
- Crearemos una nueva aplicación para FSBL:
 
- Escogemos como plataforma de hardware a zed_hw_platform:
 


- Establecemos la construcción del FSBL tipo reléase:
 
- Construimos el proyecto de FSBL:
 
- Nos dirigimos a Xilinx Tools y escogemos Create Zynq Boot Image:
 
PASOS PARA CORRER EN MEMORIA SPI:
- Agregamos los archivos en este orden:
 
(bootloader) FSBL.elf
(datafile) LED_wrapper.bit
(datafile) LES.elf
- Y cambiamos la extensión del archive BOOT.bin a BOOT.mcs y damos clic en Create Image.
 
- Generándose el archivo BOOT.mcs:
 
- Nos dirigimos ahora a Xilinx Tools y escogemos Program Flash:
 
- Seleccionamos zed_hw_platform y buscamos nuestro archivo BOOT.mcs y damos clic en programar:
 
- Programación de la memoria flash:
 
- Por ultimo apagar la tarjeta y cambiar los jumpers de la siguiente manera:
 
- Encender la tarjeta J
 
PASOS PARA CORRER EN MEMORIA SD:
- Nos dirigimos a Xilinx Tools y escogemos Create Zynq Boot Image:
 
- Agregamos los archivos en este orden:
 
(bootloader) FSBL.elf
(datafile) LED_wrapper.bit
(datafile)
LES.elf
- Verificamos que el archivo de salida sea BOOT.bin y damos clic en Create Image.
 
- Guardamos el archivo BOOT.bin en la memoria SD y la insertamos en la ZedBoard:
 
- Cambiamos los jumpers de la siguiente manera:
 
- Encender la tarjeta J
 



















No hay comentarios.:
Publicar un comentario