31
Trabajo Final Depuración Interactiva en CIAABOT Autor: Ing. Jenny Chavez Director: Esp. Ing. Eric Pernia (UNQ, FIUBA) CoDirector: Esp. Ing. Leandro Lanzieri (FIUBA) Jurados: Dr. Ing. Pablo Gómez (FIUBA) Esp. Ing. Patricio Bos (FIUBA) Esp. Ing. Ernesto Gigliotti (UTN-FRA) Carrera de Especialización en Sistemas Embebidos 1

Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Trabajo Final

Depuración Interactiva en CIAABOT Autor: Ing. Jenny Chavez

Director:

Esp. Ing. Eric Pernia (UNQ, FIUBA)

CoDirector:

Esp. Ing. Leandro Lanzieri (FIUBA)

Jurados:

• Dr. Ing. Pablo Gómez (FIUBA)

• Esp. Ing. Patricio Bos (FIUBA)

• Esp. Ing. Ernesto Gigliotti (UTN-FRA)

Carrera de Especialización en Sistemas Embebidos

1

Page 2: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

AGENDA

• Introducción General

• CIAABOT

• Objetivos y alcance

• Requerimientos

• Diseño e Implementación

• Firmata

• Características del entorno

de depuración desarrollado

• Ensayos y Resultados

• Firmata test

• Pruebas Funcionales

• Conclusiones

2

Page 3: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Introducción General

3

• CIAABOT IDE

• CIAABOTS

• Firmware

Page 4: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Introducción General CIAABOT IDE

4

Page 5: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Introducción General

Motivación

• CIAABOT no posee la capacidad de depurar un

programa.

• Para realizar los ensayos se tiene que compilar el

programa, descargarlo y luego probar manualmente .

5

Page 6: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Introducción General

Objetivos y alcance

• Abrir y editar un programa creado en CIAABOT.

• Ejecutar un programa bloque por bloque.

• Detener la ejecución temporalmente en un bloque concreto.

• Visualizar el contenido de las variables.

• Entorno gráfico amigable.

6

Page 7: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

• Plugin de eclipse

arm-none-eabi-gdb

• arm-none-eabi-gdb

• OpenOCD

• Debugger HW

• Microcontrolador

a depurar

Diseño e Implementación

Caso de estudio: depuración con eclipse

7

Page 8: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

Firmata

8

Page 9: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

Características del entorno desarrollado (CIAABOT Debug)

• Ejecutar un programa bloque a bloque en la PC, usando Javascript

internamente, hasta que se encuentre con un bloque que requiera acceso a

algún periférico del hardware.

• Enviar comandos firmata a la placa cuando se encuentre un bloque de

acceso a algún periférico.

• Visualizar el contenido de las variables en un determinado momento de la

ejecución.

• Instalación del programa que implementa el protocolo firmata en la EDU-

CIAA-NXP, sólo en el caso de ser necesario.

9

Page 10: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

Interfaz gráfica de CIAABOT Debug

10

Page 11: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

Interfaz gráfica de CIAABOT Debug

11

Page 12: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

12

• Desconectado

• Conectando

• Conectado Sin Firmata4CIAA

• Descargando Firmata4CIAA

• Conectado Con Firmata4CIAA

• Conectado En Sesión De Debug

Máquina de estados de

CIAABOT Debug

Page 13: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

13

Page 14: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

14

Page 15: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

Herramientas de control de ejecución

15

Page 16: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

Menú de visualización

16

Page 17: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

Menú de visualización

17

Page 18: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

Herramientas utilizadas

• Blockly

• Bootstrap

• JS-Interpreter

• Acorn

• JQuery

• Signals

• Johnny five

• Express

• Serialport

• Electron

18

Page 19: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

Bloques gráficos que acceden a los periféricos

setServo:

function(range) {

servo.to(range);

}

Barrido de servomotor ejecutado con johnny five

19

Page 20: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación

Bloques gráficos que no acceden a los periféricos

for:

function(time, unit) {

duration = time;

waitStart = getTime(unit);

}

Ejemplo de wait

20

Page 21: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Diseño e Implementación Archivo de debug generado

{

"type": "ciaabotDebugState",

"breakpoins": [

{

"type": "asociation",

"key": { "type": "logic_operation\“, d": "Ju6).aSXM}[dFL_Xw/p,\” }, "value":{ "type": "breakpoint“, "id": 1, "active" : true }

}

]

} 21

Page 22: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Ensayos y Resultados

Ensayos preliminares acerca del

control de la plataforma mediante

protocolo Firmata

• El programa Firmata test

• La placa EDU-CIAA-NXP

corriendo el programa

Firmata4CIAA

22

Page 23: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Ensayos y Resultados

Ensayo de funcionamiento en los sistemas operativos

Windows y Linux

• Instalación en cada sistema

• Chequeo de conexión y descarga de Firmata4CIAA

• Chequeo de conexión con la plataforma EDU-CIAA-NXP

23

Page 24: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Ensayos y Resultados

Comprobación de funcionamiento de una sesión de depuración

• Uso del comando Ejecutar

• Uso del comando Suspender

• Uso del comando Pasar por encima (step over)

• Uso del comando Pasar adentro (step into)

• Uso del comando Paso de regreso (step return)

24

Page 25: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Ensayos y Resultados

Comprobación de funcionamiento de una sesión de depuración

• Sesión de depuración con puntos de ruptura (breakpoints).

• Sesión de depuración uso del comando desactivar puntos de

interrupción.

• Sesión de depuración uso del comando Detener depuración.

• Guardado y restauración de los puntos de ruptura.

25

Page 26: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Ensayos y Resultados

Ensayos de edición de programas en lenguaje CIAABOT

• Edición de programa

26

Page 27: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Ensayos y Resultados

Ensayos de interfaz de usuario

Validación con usuarios

27

Page 28: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Conclusiones

28

• Se cumplieron todos los objetivo propuestos.

• Se realizó una colaboración al proyecto CIAA.

• CIAABOT Debug aporta mejorar las herramientas

para enseñanza de robótica educativa.

Page 29: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

Trabajo a futuro

29

• Mostrar una salida de consola de JavaScript.

• Mostrar el stack de llamadas a funciones.

Page 30: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

¿PREGUNTAS?

30

Page 31: Depuración Interactiva en CIAABOTlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Jenny... · Ensayos y Resultados Ensayo de funcionamiento en los sistemas operativos

¡MUCHAS GRACIAS!

31