Analizador de Ocupación de Memoria en Sistemas...

Post on 05-Feb-2020

11 views 0 download

Transcript of Analizador de Ocupación de Memoria en Sistemas...

Analizador de Ocupación deMemoria en Sistemas Embebidos

Ing. Alejandro Celery

Trabajo Final de la Carrera de Especializaciónen Sistemas Embebidos

Facultad de Ingeniería - UBA

Director:Ing. Juan Manuel Cruz

Motivación del proyecto

Un sistema al límite de su capacidad.

Ing. Alejandro Celery 1 / 21

Cuándo pasa esto?

En diseños existentes, al agregarnueva funcionalidad.

En desarrollos nuevos, al elegir elmicrocontrolador más económico.

Ing. Alejandro Celery 2 / 21

Cuándo pasa esto?

En diseños existentes, al agregarnueva funcionalidad.

En desarrollos nuevos, al elegir elmicrocontrolador más económico.

Ing. Alejandro Celery 2 / 21

Qué se podría hacer al respecto?

Vista de Treeviz, primera aplicación en usar treemaps(1992).

Ing. Alejandro Celery 3 / 21

Qué es lo que hacemos actualmente?

.bss.bufferColumnaVacia0x10002b88 0x7f ...(CM3_Display_C12.o)0x10002b88 bufferColumnaVacia

.bss.bufferColumnaGrafica0x10002c07 0x7f ...(CM3_Display_C12.o)0x10002c07 bufferColumnaGrafica

.bss.buffer10medicionesPong0x10002c86 0xa ...(CM3_Display_C12.o)0x10002c86 buffer10medicionesPong

.bss._ZZ16BSP_DibujarPuntoiimbE14tocaTransferir0x10002c90 0x1 ...(CM3_Display_C12.o)

*fill* 0x10002c91 0x3

Ing. Alejandro Celery 4 / 21

Qué nos produce?

Ing. Alejandro Celery 5 / 21

Objetivo

Diseñar y desarrollar unaherramienta de softwareque asista a losprogramadores desistemas embebidos en sufunción.

Ing. Alejandro Celery 6 / 21

Requerimientos

1 Representación visual del uso de lamemoria interna del MCU.

2 Fácil identificación de los principalesconsumos de memoria.

3 Indicación de a qué zona de memoriafue asignada cada variable

4 Presentación de estos datos dentro deuna ventana de Eclipse.

Ing. Alejandro Celery 7 / 21

Requerimientos

1 Representación visual del uso de lamemoria interna del MCU.

2 Fácil identificación de los principalesconsumos de memoria.

3 Indicación de a qué zona de memoriafue asignada cada variable

4 Presentación de estos datos dentro deuna ventana de Eclipse.

Ing. Alejandro Celery 7 / 21

Requerimientos

1 Representación visual del uso de lamemoria interna del MCU.

2 Fácil identificación de los principalesconsumos de memoria.

3 Indicación de a qué zona de memoriafue asignada cada variable

4 Presentación de estos datos dentro deuna ventana de Eclipse.

Ing. Alejandro Celery 7 / 21

Requerimientos

1 Representación visual del uso de lamemoria interna del MCU.

2 Fácil identificación de los principalesconsumos de memoria.

3 Indicación de a qué zona de memoriafue asignada cada variable

4 Presentación de estos datos dentro deuna ventana de Eclipse.

Ing. Alejandro Celery 7 / 21

Eclipse I - Firmware

Ing. Alejandro Celery 8 / 21

Eclipse II - Java

Ing. Alejandro Celery 9 / 21

Eclipse III - Memorias de trabajos finales

Ing. Alejandro Celery 10 / 21

Eclipse IV - Esta presentación!

Ing. Alejandro Celery 11 / 21

Partes componentes de Eclipse

Ing. Alejandro Celery 12 / 21

Herramientas de análisis de listas desímbolos

Así muestra la herramienta “nm” la lista de símbolosde un archivo binario:00049418 00000148 t _ProcEstadoInterfazBloqueada00070334 00000148 t _ControlaPresionSeteada08388612 00000010 D _umbralEstadosBateriaDescarga08388622 00000010 D _umbralEstadosBateriaCarga08388804 00000032 B _flags_t_svc08389492 00000032 B _flags_t_est

Ing. Alejandro Celery 13 / 21

Software actual para treemaps

Windirstat, software de uso actual para visualizar usode espacio en disco.

Ing. Alejandro Celery 14 / 21

Resultado deseado

Ing. Alejandro Celery 15 / 21

Demostración

Ing. Alejandro Celery 16 / 21

Algoritmo adoptado

Ing. Alejandro Celery 17 / 21

Configuración del plugin

Ing. Alejandro Celery 18 / 21

Validación

Ing. Alejandro Celery 19 / 21

Próximos pasos

Mejorar la precisión de la medición deespacio ocupado.

Incorporar las sugerencias de losbeta-testers.

Agrupación jerárquica de librerías ymódulos.

Distribución automatizada del plugin.

Ing. Alejandro Celery 20 / 21

Próximos pasos

Mejorar la precisión de la medición deespacio ocupado.

Incorporar las sugerencias de losbeta-testers.

Agrupación jerárquica de librerías ymódulos.

Distribución automatizada del plugin.

Ing. Alejandro Celery 20 / 21

Próximos pasos

Mejorar la precisión de la medición deespacio ocupado.

Incorporar las sugerencias de losbeta-testers.

Agrupación jerárquica de librerías ymódulos.

Distribución automatizada del plugin.

Ing. Alejandro Celery 20 / 21

Próximos pasos

Mejorar la precisión de la medición deespacio ocupado.

Incorporar las sugerencias de losbeta-testers.

Agrupación jerárquica de librerías ymódulos.

Distribución automatizada del plugin.

Ing. Alejandro Celery 20 / 21

Muchas gracias por su atención!

Ing. Alejandro Celery 21 / 21