From 395103b830c118e2e8606e67d9ec493ed0a2370c Mon Sep 17 00:00:00 2001 From: Jose Lopez Date: Wed, 9 Nov 2016 17:48:28 +0100 Subject: [PATCH] Added a document regarding Zen clocking resources programming --- doc/zen-clock-programming.html | 151 +++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 doc/zen-clock-programming.html diff --git a/doc/zen-clock-programming.html b/doc/zen-clock-programming.html new file mode 100644 index 0000000..6889366 --- /dev/null +++ b/doc/zen-clock-programming.html @@ -0,0 +1,151 @@ + + + + + + + + + + + +
+ +
+

Generar FSBL

+

En Vivado:

+ +

Dentro del proyecto que contiene el fsbl bueno, copiar la carpeta ./wr-zen-hdl/syn/wrc2p-a7-zen-***/wrc2p-a7-zen-***.sdk/fsbl/src (ten en cuenta que fsbl fue el nombre dado en un paso anterior).

+

Forzar la actualización de los archivos del proyecto (esto es, F5).

+

Comprobar que no hay ningún problema a la hora de compilar (Build -> Build all)

+

Si todo va bien, al terminar el Build ya se ha generado el fsbl.elf

+

Generar BOOT.bin

+

Para generar el BOOT.bin hace falta tener previamente tres ficheros:

+ +
+

Nota: se señala que el u-boot empleado es para la Zen v2. Desconozco si algún problema puede derivar de esto.

+
+

Desde el SDK, en el menú Xilinx Tools -> Create BOOT Image:

+ +

Configurar LMK03806

+

Configurar los registros del LMK partiendo de un fichero de configuración .mac generado desde CodeLoader (ver Google Drive del equipo) es muy sencillo si tenemos un proyecto de FSBL funcional como punto de partida. Se necesita sólamente el fichero .mac y el script lmkconf alojado en el repositorio ugr-scripts.

+

Escribiendo source lmkconf fichero.mac salida.txt se genera un fichero .txt que contiene el struct con los nuevos valores de los registros del LMK03806.

+

Ya de vuelta al proyecto del fsbl, sustituiremos el struct presente en el fichero [ruta al fsbl]/src/lmk03806.c y continuamos con los pasos indicados para generar un nuevo FSBL.

+

Configurar AD9516

+

La configuración del AD9516 no se realiza en el FSBL sino que se programa mediante la ejecución de un binario configure_ad9516 durante el arranque del SO, generalmente justo después de programar la PL de la Zen. Para cambiar los registros que se programan al chip se ha de generar un nuevo binario en el sistema de archivos.

+

Supongamos que ya tenemos estos elementos de partida:

+ +

Y solo hay que seguir estos pasos:

+ +

Ya sólo queda recompilar el espacio de usuario. Esto se puede conseguir llamando al script wrz-build-all desde fuera del directorio del repositorio y llevando a cabo los pasos 3, 4 y 5: ./wr-zynq-os/build/wrz-build-all –step=03 && ./wr-zynq-os/build/wrz-build-all –step=04 && ./wr-zynq-os/build/wrz-build-all –step=05

+

Y la imagen del sistema de archivos con la nueva configuración para el AD9516 se encontrará en ./images/uramdisk.image.gz .

+ + +