CS2010: Software de programación y depuración



Documentos relacionados
El Computador Simple 2010 (CS2010)

EJEMPLOS EN ENSAMBLADOR

Programa de ayuda Modelos Fiscales

Práctica 2 Estadística Descriptiva

CONFIGURACIÓN RED WIFI. ORDENADORES. UNIVERSIDAD EUROPEA MIGUEL DE CERVANTES.

CONFIGURAR ACCESO A INTERNET PANTALLAS PARA CONFIGURAR ACCESO A INTERNET

Procedimiento de instalación

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria.

EDOMO EDOMO. Edomo Basic. Manual de programación. Módulo SMS Versión /04/2007. Indomótika. Indomótika INDICE

MANUAL DE EJECUCION DE LA HERRAMIENTA DE ESPECIFICACION DE INVENTARIO EQUIPOS DENTRO DE LOS ESTABLECIMIENTOS EDUCATIVOS

Manual de Usuario Billete Móvil NFC de la EMT de Málaga

CORPORACIÓN UNIFICADA NACIONAL DE EDUCACIÓN SUPERIOR FACULTAD DE INGENIERIAS LINEA INFORMÁTICA

Programación en Lenguaje Ensamblador para el Procesador MC68000

Utilización del menú Formato de Celdas

Consideraciones iniciales Cómo obtengo una licencia de pesca o caza? Cómo recupero una licencia de pesca o caza pagada?

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

Bienvenido a JAZZTEL Internet Móvil. Guía de instalación rápida. Módem JAZZTEL (WU-260)

1. Requisitos previos para establecer conexión con la red eduroam

REPRESENTANTE DE EMPRESA GUÍA RÁPIDA DEL SISTEMA

Adaptador Inalámbrico Altas Prestaciones

Grado en Ingeniería Informática - Ingeniería del Software Estructura de Computadores - Prueba 2 - Junio de 2011

iam Izenpe Manual de usuario para Linux

1. Requisitos previos para establecer conexión con la red eduroam

Solicitud de Ayudas Primeros pasos con firma electro nica

DaVinciTEXTIL. Codificación de artículos

Ayuda para la instalación y configuración del Navegador para Firma Digital

Sistemas Electrónicos Digitales

Manual de Instalación

Manual de Mensajes Recibidos Swift

Guía Operativa para la página Web- Perfil de Egreso

Gestión de datos con STATGRAPHICS

Microoperaciones a realizar en la implementación propuesta del CS2010

Aplicación Firma Electrónica de Archivos 3.0 MANUAL DE USUARIO. Versión Firma Electrónica de Archivos Versión 3.0

CAPITULO 6 Interfaz de comunicación con Visual Basic

Manual del Usuario de Microsoft Access Consultas - Página 1. Tema IV: Consultas. IV.1. Creación de Consultas

NORMA INFORMACIÓN Y DOCUMENTACIÓN. FORMATOS PARA EL INTERCAMBIO DE LA INFORMACIÓN. International Standard ISO Campo de aplicación

MANUAL PARA MANEJO DEL PROGRAMA DFD

ANEXO I: REALIZACIÓN Y VALIDACIÓN DE FIRMAS ELECTRÓNICAS A TRAVÉS DE VALIDe

INSTRUCCIONES PARA REALIZAR LA SOLICITUD DE ADMISIÓN A MÁSTER

Fondo de escritorio Como hemos comentado, lo primero que vemos al iniciar Windows es el escritorio, el

MANUAL LOTTERY V2. Figura 1: Web ubicación archivo ejecutable

Canales de Tintas planas: Este tipo de canales se pueden añadir cuando sea necesario aplicar placas de tintas planas en un proceso de impresión.

Puesta en marcha de Aspel-COI 7.0

ELABORADO POR: REVISADO POR:

Práctica 5: Introducción al sistema de Entrada/Salida

CONTASIS SAC. MANUAL DE USUARIO

MANUAL DE USUARIO LABORATORIOS / DROGUERIAS

Cómo accedo al campus y a mi curso? Porqué un nuevo campus? CAMPUS VIRTUAL TUTORIAL CAMPUS. usuario alumno

Descargar e instalar Camtasia Studio 6.0 en la P.C.

6. Seleccionar la solapa Hibernación 7. Activar la opción Habilitar hibernación, para tener disponible esta utilidad 8. Hacer clic sobre Aceptar

Configuración de Adobe Digital Editions y Adobe ID

PROGRAMACION DE PIC S CON ICD2. [Escribir el subtítulo del documento]

Requisitos configuración de seguridad puestos cliente Rich Web

Documentación Técnica Uso Interno

Abrir y cerrar Outlook 2010

Diagrama a bloques de una computadora

Tutorial para la configuración de XBee.

Componentes y controles

Sistema de Citas Tag Manual de Usuarios Ciudadano

Dialnet. Manual para el acceso a Urraca

1.1. Funcionamiento CONVERSOR FORMATO PLANO SEPA

Manual de usuario aplicativo Offline pruebas Supérate con el saber 2.0

Tema: Configuración de Router Inalámbrico

Práctica final. Emilia Cruz Fernández Martínez

Unidad de Promoción y Desarrollo Guadiana OBJETIVO GENERAL

Módulo de Elecciones del Gobierno Escolar en Línea

Asignatura de Organización de Computadoras. Alberto Hernández Cerezo. Cristian Tejedor García. Rodrigo Alonso Iglesias. Universidad de Valladolid

USO DEL GENERADOR DE FICHEROS GML

ANALIZADOR LÓGICO VIRTUAL PARA ORDENADOR PERSONAL

Manual de Usuario Patente de operacio n turística

C/ Rayo, 12 (Edificio Santa María) GETAFE Madrid Tel: (6 Líneas) Fax:

INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA ELECTRÓNICA PRÁCTICA 1: ESTRUCTURA INTERNA DE UNA CPU.

Tras esto nos preguntará si queremos realizar la protección de nuestra aplicación mediante llave USB, a lo que tendremos que contestar que SI.

CONFIGURACIÓN DE LOS ROUTER DE TELEFÓNICA DESDE WINDOWS VISTA

Acelerar el apagado de Windows 7

MANUAL DE USUARIO ÍNDICE 1.- INTRODUCCIÓN ACCESO A LA APLICACIÓN NAVEGACIÓN POR EL MAPA GESTOR DE CAPAS PANEL DE RESULTADOS 10

Tema 1 Sistemas de numeración

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1

Guía rápida de instalación de i-card Loyalty 5.0. Contenido

Módulo 2: Cómo funcionan las computadoras

MODULO DERECHOS PATRIMONIALES

5 - Lenguaje Ensamblador

Manual de ayuda para la Gestión de las Convocatorias de Ayudas y Becas de Libros de texto y Material didáctico

Guía para el proceso de compra. Versión 1.4

TUTORIAL PARA CREAR UNA PHPWEBQUEST

Tema2 Windows XP Lección 2 EL ESCRITORIO Y SUS COMPONENTES

Estructura de Computadores Ingeniería Técnica en Informática de Sistemas. BOLETIN 4: Memoria

Manual Usuario Conversores PAB y SAP Servicio Alterno Transaccional (SVE)

GUÍA PARA REALIZAR EL REGISTRO EN LÍNEA PARA UNA CONVOCATORIA EXPEDIDA POR SERVICIO CIVIL DE CARRERA DEL ESTADO DE GUANAJUATO:

INSTRUCCIONES PARA EL USO DEL SOFTWARE (IS)

MANUAL DE USO Servidor de Cálculo KRAMER ÍNDICE

Transcripción:

EdC - IC Tutorial CS2010: Software de programación y depuración Se ha implementado 1 un sistema basado en el procesador CS2010 sobre la placa de prototipado Digilent Basys2 (figura 1 del estudio teórico). Este sistema incluye los componentes del CS2010 (procesador, memoria de código, memoria de datos), así como otros para poder introducir/visualizar datos en el CS2010 (mapeo entrada/salida en memoria) y unas utilidades de usuario (una unidad de depuración de los programas en ensamblador y varios mecanismos de ejecución del programa y de visualización de los resultados). La unidad de depuración es un componente que se comunica con el PC a través del puerto RS232 y permite a éste leer y escribir la memoria de código y datos. Así esta unidad de depuración hace posible: Habilitación/inhibición del reloj del procesador. Ejecución ciclo a ciclo, instrucción a instrucción, o programa completo. Inspección del contenido de las memorias, de los registros y de las líneas de control. A continuación se explican los pasos a seguir, que son: 1/Ejecutar la aplicación (en este epígrafe se describe la ventana de aplicación); 2/Descargar los ficheros con los programas en PC; y 3/Proceder según el Modo habitual de operación (ver pág. 4). Además, se describe brevemente el ensamblador (pág. 5). 1. Ejecución de la aplicación. Para lanzarla simplemente hay que pulsar sobre el icono correspondiente en el escritorio (CS2010 o DebugPAS, según el caso 2 ). Al hacerlo nos aparecerá la ventana mostrada en la Figura A1 que se explica seguidamente. Ventana de la aplicación La parte superior de la ventana contiene una serie de controles para interactuar con la unidad de depuración del CS2010 que se describen a continuación: 1 La implementación ha sido realizada por Jonathan Ruiz Páez como proyecto fin de carrera, bajo la dirección del Dr. D. David Guerrero Martos. 2 Se puede realizar la práctica tanto en Windows como en Linux (Ubuntu). 26-abr.-16 Rev. CBOMV-3

EdC-IC Práctica MulSec4x4 2 CS2010.Figura A1. Software de interfaz con la unidad de depuración del Campo para la ruta del puerto serie. Aparece relleno por defecto con la ruta correspondiente al puerto serie de los ordenadores del laboratorio, por lo que en principio no debe cambiarse. Campo de fichero de código binario (BIN): este campo debe contener la ruta del fichero binario cuyo contenido se escribirá en la memoria de código cuando se inicialice el procesador. Al rellenarse se mostrará en la parte superior derecha de la ventana el contenido de la memoria desensamblado. Normalmente no tendremos que preocuparnos de rellenar este campo ya que usaremos un fichero en formato ensamblador para especificar el programa que deberá escribirse. Campo de fichero de código ensamblador (ASM): este campo debe contener la ruta de un fichero de código ensamblador correspondiente al programa que será escrito en la memoria de código. Al rellenar este campo la herramienta ensamblará el fichero informando de los posibles errores y escribirá la ruta del fichero binario resultante en el campo comentado anteriormente. Rellenar este campo no es obligatorio, pero es la forma habitual de trabajar con la herramienta. Campo de fichero de datos: si se desea inicializar la memoria de datos con el contenido de un fichero binario, su ruta se indicará en este campo. Botón de establecimiento de conexión e inicialización, CONECTAR: al pulsarlo el software establece una conexión a través del puerto RS232 con la unidad de depuración, ordena inicializar el CS2010 y escribe las memorias de código y datos con el contenido de los ficheros especificados. Únicamente tras esto se podrá interactuar con la unidad de depuración.

EdC-IC Práctica MulSec4x4 3 Figura A2. Unidad de datos del CS2010. Botón Mostrar Unidad De Datos : al pulsar este botón aparecerá la ventana mostrada en la Figura A2. Durante las ejecuciones ciclo a ciclo se resaltarán en esta ventana las señales que se vayan activando. Botón Habilitar Reloj / Deshabilitar Reloj : o o Si el reloj del CS2010 está detenido, este control permite ponerlo en marcha con lo que la FPGA ejecutará el programa de forma autónoma hasta encontrar una instrucción de STOP. Si el reloj está ya en marcha, permite detenerlo y, con ello, se podrá inspeccionar el estado del procesador y la memoria. Concretamente, cuando el reloj del CS2010 está detenido se muestra el estado del procesador incluyendo: Contenido de la memoria de datos. Contenido de los registros visibles. Contenido de los registros ocultos. Estado de las líneas de control. Valor de los buses de entrada y salida de la ALU y del bus común. Además, la instrucción en curso aparecerá resaltada. El contenido de la memoria de datos puede ser editado manualmente. También es posible guardar el contenido de dicha memoria en un fichero binario pulsando sobre el botón Guardar Memoria Datos.

EdC-IC Práctica MulSec4x4 4 Botón Activar Start : Indica que se active la señal de inicio del CS2010. Botón Ejecutar Un Ciclo : La unidad de depuración habilita un solo ciclo de reloj. Botón Ejecutar Una Instrucción : La unidad de depuración habilita el reloj hasta que se ejecute la instrucción en curso o hasta que se llegue al estado de espera. 2. Descargar en el PC los ficheros con los programas: nombre.asm 3. Modo habitual de operación. Tras activar la aplicación sale la ventana de la figura A1 (que volvemos a reproducir abajo para mayor comodidad). El modo habitual de operación consta de los siguientes pasos: 1. Seleccionar el fichero nombre.asm desde el navegador.asm. 2. Tras depurar los errores y recargar el fichero, picar en CONECTAR. 3. Pulsar START. Entonces el programa se ejecutará en la FPGA de la placa. 4. Elegir el modo de ejecución: * Ciclo a ciclo * Instrucción a instrucción * El programa completo, para lo que hay que HABILITAR el RELOJ. En este caso para VER los resultados en la pantalla, debe DESHABILITAR el RELOJ. 3 2 1 4 Ciclo 4 Instrucción 4 Habilitar/deshabilitar Figura A1bis. Software de interfaz con la unidad de depuración del

EdC-IC Práctica MulSec4x4 5 Programas en ensamblador del CS2010 Un programa en ensamblador del CS2010 puede contener 3 tipos de líneas: Línea en blanco: contiene únicamente caracteres de espacio, tabuladores y/o comentarios. Estas líneas son ignoradas al ensamblar el programa. ; Es un comentario desde ; hasta el final de línea Línea de instrucción de programa: describe una instrucción del CS2010 mediante su nemónico. Línea de directiva de ensamblado: indica al ensamblador que realice determinadas acciones. Resumen de los aspectos más relevantes 3 Instrucciones del CS2010. ST (Rb), Rf ADD Rd, Rf ADDI Rd, dato CLC BRZS/BREQ dir LD Rd, (Rb) SUB Rd, Rf SUBI Rd, dato SEC BRCS/BRLO dir STS dir, Rf CP Rd, Rf CPI Rd, dato ROR Rd BRVS dir LDS Rd, dir CALL dir LDI Rd, dato ROL Rd BRLT dir MOV Rd, Rf RET STOP JMP dir Etiquetas. Una etiqueta es una cadena alfanumérica que debe empezar por una letra y puede contener un número arbitrario de letras y dígitos. Este ensamblador no distingue entre mayúsculas y minúsculas. Cada etiqueta tendrá asociado un valor de 8 bits. Hay dos formas de dar valor a una etiqueta: 1/ Con la directiva.equ. Su sintaxis es:.equ <nombre etiqueta> = <valor numérico> P. ej.:.equ uno = 1 ; en el ensamblado la cadena uno se sustituye por 00000001 2/ Anteponiendo el nombre a una instrucción. El valor que toma la etiqueta es el de la dirección de la instrucción al ensamblar el programa. Su sintaxis es (incluye : ): <nombre etiqueta> : instrucción P. ej., si en la palabra $7 de la memoria de código va a haber el código máquina de ROR, saltoej : ROR hace que en el ensamblado la cadena saltoej se sustituye por 00000111 3 Para profundizar y conocer este ensamblador en detalle, véase el PFC de Jonathan Ruiz Páez.

EdC-IC Práctica MulSec4x4 6 Operandos numéricos. Si una instrucción requiere un dato numérico, éste puede especificarse de cuatro formas: Número decimal, que puede ir precedido por un signo +/-. P. ej.: 1234, +2, -1 Número binario, en cuyo caso debe ir precedido por el prefijo 0B (o 0b) y tener exactamente 8 bits. P.ej., 0b11000110. No serían válidos los siguientes casos 0b10 (sólo tiene 2 bits), 0b000000000000001 (tiene más de 8 bits) o +0b10101010 (por el signo +). Número hexadecimal, en cuyo caso debe ir precedido por el prefijo 0X (o 0x) o el prefijo $ y tener uno o dos dígitos hexadecimales. P.ej., 0X4F, 0x32, $3. Usando una etiqueta. P.ej., si se han definido las etiquetas de los ejemplos precedentes, es correcto poner: LDI R3, uno ; Haría que R3 tomara el valor 00000001 BRVS saltoej ; Si V=1, la siguiente instrucción es ROR (la 7) Ejemplo de fragmento de programa. Lo siguiente estaría en un fichero de texto con extensión.asm para poder operar como se hace habitualmente. ; Fragmento de código ensamblador de CS2010.equ uno=1 LDI R2, -1 ; Hace que R2 = 11111111 =255 LDI r5, 0 ; Hace que R5 = 00000000 buc1: add r6, uno ; Da igual mayúsculas que minúsculas ;......... JMP buc1 ;......... STOP