Escrito por: Alix Angarita


 
En el manual a continuación se explica un método de debug adicional que es muy interesante debido a que no requiere programación, ya que sólo utiliza comandos.
Ésta herramienta es System Console.
 
¡Recuerde tener abierto el proyecto al que le quiere hacer debug!.  El que se usó en esta ocasión está en la sección de archivos, o lo puede descargar aquí.  
Luego vaya a Tools > System Debugging Tools > System Tools.
 
 
Se abrirá la ventana del System Console así:
 
 
Fíjese en el System Explorer, el panel de la izquierda.  Si aparece como en la pantalla revise la conexión de la FPGA a su PC, asegúrese de que esté conectada en el puerto JTAG.
Cuando se encuentre correctamente conectada presione el botón Refresh Connections.
 
Ahora la ventana debería mostrarse correctamente, el System Explorer se mostrará ahora así:
 
                
 
En la nueva vista del System Explorer se revisa el directorio soc_system para identificar los periféricos conectados al JTAG, estos son aquellos a los cuales vamos a poder acceder usando la Tcl Console el cuál funciona de manera similar a la terminal de Linux.
 
En este momento podemos empezar el debug, para ello vamos a la consola y digitamos lo siguiente:
 
 
Cuando digite el comando deben aparecer dos paths, de los cuales nos interesa el phy_0, con el siguiente comando podemos elegirlo
 
 
A continuación se crea una variable de entorno llamada jd_path, se manda un streaming de datos con list, dentro de corchetes cuadrados se ponen los elementos.
 
 
Se solicitan los master con este comando, y se ven dos disponibles, uno de la fpga y otro de el hps.
 
 
Igual que al elegir el path se elige el master, que en este caso será el de la FPGA.  Se reclaman el path y se apunta para escribir y leer en los periféricos vistos antes.  
 
 
Ahora escribiremos en los leds aprovechando esta herramienta, pero para ello se requiere la dirección específica del puerto, para ello se retorna al Qsys y se revisan las características del periférico, en este caso:
 
 
Usando el comando master_write_32, y la variable de entorno c_path, se copia la dirección en la cual se quiere escribir y a continuación el valor que se quiere escribir.  Recordar que los espacios son clave para ejecutar los comandos correctamente.
 
Y ya con esto debería mostrarse el número indicado en la FPGA, en este caso sólo el último led encendería.  Pruebe escribiendo un valor diferente, por ejemplo si escribimos el valor 0xF0 los leds encenderían de la siguiente manera:
 
 
De la misma manera con el comando master_read_32 y la dirección de los switches se puede leer su estado:
 
 
Por ejemplo, si pone los switches en la posición de la imagen, al ejecutar el comando debería obtenerse algo como se muestra en la siguiente imagen.
 
 
 
 
¡Así de sencillo es interactuar con la System Console para hacer debug de un proyecto con HPS muy fácilmente!
 
 
 
 
 
 
 
 
 
 
Welcome to FPGA lover!!!
 
I invite you to take a look at the new manuals on the web page, and have a tour, Enjoy, and Love FPGAs and Embedded Systems!
 
Cheers!