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!
 
 
 
 
 
 
 
 
 
Attachments:
Download this file (HPS_CONTROL_FPGA_LED.qar)HPS_CONTROL_FPGA_LED.qar[ ]1904 kB
Powered by OrdaSoft!
  Written By Peter Gomez Este contenido esta orientado a los programadores que tienen problema con la conectividad("SGC PmmC") de su pantalla uOled-128-g1/g2…
Written by Sherneyko Plata Rangel   Pynq-z2: Hello world   In this tutorial we will implement a simple test of the inputs/outputs available on…
Objetivos Requerimientos Procedimiento Descripción de Hardware. Qsys. Nios II. UCOS II. Secuencia de Sprite. Sintesis de Audio. Descargas Glosario Otros Resultados. Ejemplo de Sprites.     Objetivos: Diseñar una plantilla general para el diseño de…
Written by Holguer A. Becerra           Requerimientos: DE0-NANO USB-UART(solo para parte 3) Python 2.7 ó superior.   Objetivos: Dar una introducción a los conceptos de Multitasking, Scheduling y…
Written by Holguer A. Becerra             Based on Gregory Estrade's Work.   I have ported the PC Engine System on the DE0-NANO back in 2014, why…
      Arduino tools are generally nice tools for quick prototyping and improvized projects, and the Seeeduino Xiao…
Written by: Holguer A Becerra         En esta practica vamos a construir nuestro primer juego retro  usando un sincronizador de Video VGA…
Written by: Andrea Paola Pabón Ortega & Daniel Enrique Mejia Rueda Revision by: Ing Holguer A. Becerra   DESCRIPCIÓN DEL PROYECTO: El  RTAWD DE0NANO…
  Written by Holguer Andres   Requires: DE0-NANO. 4.3 Inch 480x272 Screen.( WQVGA ) ?️       Parte HW: Descargue la siguiente plantilla( DE0_NANO_TFT_PSP.zip) y descomprimala en una ruta sin espacios y…
Escrito por Guillermo Acevedo   Diseño   En esta practica desarrollaremos un filtro FIR en hardware, para este caso en especifico, realizaremos un filtro…
 Written By Juan David Delgado   FILTRO FIR (FILTRO DE RESPUESTA FINITA AL IMPULSO)     Son conocidos como filtros digitales no recursivos debido a…
XISCKER: Reduced and Complex Instruction Set Computing Key Educational Resources A Configurable Platform for the Emulation of Different Computer Architectures An introduction to Computer Architectures through digital design description for FPGA devices   Computer Architecture embraces all three…
Escrito por: Alix Angarita   En el manual a continuación se explica un método de debug adicional que es muy interesante debido a…
By: Fabio Hernández   INTRODUCCIÓN:   El presente documento pretende mostrar la manera de generar software para una imagen de Linux implementada en la…
Summary Written by Fabio Hernandez   HARD PROCESSOR SYSTEM (HPS)     ------------------------------------------------------------------------------------------------------------------------------------------------   Introducción   Tenemos  2 nuclos de procesamiento ARM cortex-A9, cada uno son su propio cache  se…
Escrito por Jesus Lopez         INTRODUCCIÓN   El acceso directo a memoria (DMA, del inglés direct memory access) permite a cierto tipo de componentes de una computadora acceder a…
    Written by  Sebastian Baquero       Objetivos  Introducción a los conceptos de Multitasking, Scheduling y Context Switching.  Ampliación de los conceptos a cerca de el…