plataforma de emulación de hardware dr. ing. pablo gomez...

18
Plataforma de emulación de hardware para Sistemas Embebidos Presentación trabajo final Maestría de Sistemas Embebidos Autor: Esp. Lic. Juan Agustin Bassi Director: Dr. Ing. Pablo Gomez (UBA)

Upload: others

Post on 14-Jul-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Plataforma de emulación de hardware

para Sistemas Embebidos

Presentación trabajo final Maestría de Sistemas Embebidos

Autor:Esp. Lic. Juan Agustin Bassi

Director:Dr. Ing. Pablo Gomez (UBA)

Page 2: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Descripción técnica-conceptualDesarrollar Sistemas Embebidos requiere conocimientos en varios aspectos de hardware, firmware y software.

Esto hace que la inserción en este campo sea una experiencia frustrante en muchos casos.

Con foco en facilitar la curva de aprendizaje y realizar prototipos de manera sencilla, se creará una plataforma que emulará hardware mediante una APP para smartphone.

2

Page 3: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Descripción técnica-conceptual

3

Sistema Embebido conectado a módulo

Bluetooth

Desarrollo de firmware en PC

Programación del código fuente

desarrollado

Vinculación entre el Sistema Embebido y Smartphone mediante

la tecnología Bluetooth

Smartphone con aplicación de emulación de hardware

Page 4: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Descripción técnica-conceptual: Caso de uso

4

Desarrollar programa que al presionar un pulsador encienda un LED e informe en un display LCD el estado del LED.

Desarrollo de manera tradicional

- Adquirir los componentes.- Diseñar un diagrama esquemático.- Conectar los componentes en PCB o Protoboard.- Leer datasheet para configurar el uC.- Crear los drivers de la aplicación.- Programar la lógica del programa.- Probar el algoritmo.

Las ventajas usando el hardware virtual son que el programador puede probar el algoritmo y obtener virtualmente el mismo resultado.

Page 5: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Descripción técnica-conceptual: Caso de uso

5

Desarrollar programa que al presionar un pulsador encienda un LED e informe en un display LCD el estado del LED.

Desarrollo mediante Plataforma de emulación de hardware

- Conectar módulo Bluetooth al Sistema Embebido.- Cargar librería virtual en Sistema Embebido.- Descargar APP de hardware virtual al Smartphone.- Programar la lógica del programa.- Probar el algoritmo.

Las ventajas usando el hardware virtual son que el programador puede probar el algoritmo y obtener virtualmente el mismo resultado.

Page 6: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Descripción técnica-conceptual: Ventajas de uso

6

Algunas de las

ventajas utilizando la

Plataforma de Emulación de Hardware son:

- No es necesario adquirir los componentes.

- Se reduce el tiempo de configuración y armado.

- Se puede emular nuevo hardware de manera muy sencilla.

- Obtener virtualmente el mismo resultado que con HW real.

Page 7: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Análisis de los interesadosRol Nombre y apellido Departamento Puesto

Cliente Proyecto CIAAI + D

Enseñanza

Responsable Juan Agustin BassiI + D

ProducciónCreador

OrientadoresEric Pernia

Grupo de Google Embebidos32Desarrollo de

software

Usuarios finales

Docentes y alumnos de enseñanza de Sist. Embebidos

Programadores de Sistemas Embebidos

7

Page 8: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Propósitos● Facilitar la curva inicial de aprendizaje para personas sin

experiencia en Sistemas Embebidos.

● Probar algoritmos que interactúan con hardware externo sin

contar realmente con el mismo.

● Facilitar el desarrollo de nuevos productos y pruebas de

conceptos.

● Integrar el mundo de los Sistemas Embebidos con otras

tecnologías.

● Concluir la Maestría en Sistemas embebidos.

8

Page 9: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Alcance del proyectoEn el presente proyecto se incluirá:

● Desarrollo de aplicación Android con hardware virtual emulado.

● Desarrollo de biblioteca de hardware virtual embebida.

● Desarrollo de programas de ejemplo.

● Documentación de referencia.

● Informe de avances.

● Memoria del proyecto.

En el presente proyecto no se incluirá:

● Desarrollo de aplicación para otro sistema operativo no Android.

● Desarrollo de aplicación para emular el hardware en PC.9

Page 10: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Entregables principales del proyecto● Aplicación Android en Play Store de Google.● Biblioteca de hardware virtual para EDU-CIAA NXP.● Tres o más ejemplos de uso.● PCB para conexión del módulo Bluetooth a EDU-CIAA NXP.● Documentación técnica del proyecto.

○ Arquitectura del software.○ Guía de estilo de código.○ Matriz de trazabilidad de requerimientos.○ Documentación de biblioteca embebida en formato Doxygen o

Markdown.● Documentación formal del proyecto.

○ Informe de avance del proyecto.○ Memoria del proyecto.○ Presentación de memoria del proyecto. 10

Page 11: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Requerimientos principales● Uso de tecnologías:

○ Se deberá utilizar software libre.○ Se deberá versionar en Git bajo la metodología Gitflow.

● Desarrollo de APP:○ Se deberá investigar y definir la arquitectura del software.○ Se deberá desarrollar la aplicación en Android.

● Desarrollo de firmware:○ Se deberá desarrollar la biblioteca embebida en lenguaje C.○ Se deberá realizar ejemplos de uso.

● Documentación:○ Se deberá elaborar documentación de uso de la plataforma.○ Se deberá crear un informe de avances del proyecto.○ Se deberá crear una memoria del proyecto.

● Se deberá presentar el proyecto públicamente.11

Page 12: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Diagrama Activity on nodeUnidad de tiempo t = horas/hombre.

Los colores de las tareas están ordenados por

afinidad.

Es de interés notar cómo, luego de

definir la arquitectura, se puede paralelizar el trabajo en 3

hilos.

12

Page 13: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Diagrama de gantt

13

Mayo 2018 | Junio 2018 | Julio 2018 | Agosto 2018 | Sept. 2018 | Nov. 2018 | Dic. 2018 |

Page 14: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Gestión de riesgosN° Detalle Severidad Ocurrencia RPN Severidad* Ocurrencia* RPN*

1 Daño del hardware con la información del proyecto.

10 6 60 10 1 10

2 Desconocimiento de la tecnología Android.

10 7 70 10 2 20

3 Daño de placas de desarrollo soportadas.

6 6 36

4 Daño o extravío de los PCBs que se conectarán a cada placa de desarrollo.

6 8 48

Se tomarán medidas de mitigación en los riesgos cuyos números de RPN sean mayores a 50. Los

valores marcados con (*) en la tabla corresponden luego de haber aplicado la mitigación.14

Page 15: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Mitigación de riesgos

15

N° riesgo Detalle Plan de mitigación

1 Daño del hardware con la información del proyecto.

Crear al menos un repositorio en la nube para tener un respaldo de la información y actualizarlo en la misma medida que los datos localmente.

3 Desconocimiento de la tecnología Android

Investigar sobre tecnologías standard para desarrollo de aplicaciones Android para la plataforma Arduino, donde hay mucha información sobre la creación de aplicaciones en la plataforma Android.

Page 16: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

Gestión De la calidad● Se ejecutará el proyecto de la manera que fue planteado

en el diagrama Activity On Node.

● Se verificará y validará cada uno de los requerimientos

en una matriz de trazabilidad.

● Se dispondrá de los entregables pactados al finalizar el

proyecto.

16

Page 17: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

¿Preguntas?

17

Page 18: Plataforma de emulación de hardware Dr. Ing. Pablo Gomez ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · Descripción técnica-conceptual: Caso de uso 4 Desarrollar programa

¡Muchas gracias!

18