![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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/1.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/2.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/3.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/4.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/5.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/6.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/7.jpg)
• 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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/8.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/9.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/10.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/11.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/12.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/13.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/14.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/15.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/16.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/17.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/18.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/19.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/20.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/21.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/22.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/23.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/24.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/25.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/26.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/27.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/28.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/29.jpg)
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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/30.jpg)
¿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](https://reader033.vdocumento.com/reader033/viewer/2022041803/5e52bbd1538d87633b134fd8/html5/thumbnails/31.jpg)
¡MUCHAS GRACIAS!
31