Plataforma de emulación de hardware Dr. Ing. Pablo Gomez...
Transcript of Plataforma de emulación de hardware Dr. Ing. Pablo Gomez...
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)
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
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
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.
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.
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.
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
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
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
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
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
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
Diagrama de gantt
13
Mayo 2018 | Junio 2018 | Julio 2018 | Agosto 2018 | Sept. 2018 | Nov. 2018 | Dic. 2018 |
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
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.
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
¿Preguntas?
17
¡Muchas gracias!
18