Javier Guillén Álvarez

Slides:



Advertisements
Presentaciones similares
Ubicuidad en el manejo de los datos
Advertisements

INTRODUCCIÓN A WINDOWS
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Configuración de Control
Herramientas informáticas
Internet y tecnologías web
Instalación del JDK de Java
SIMATICA V2.0. Automatización de Viviendas con Simatic S7-200
IND560 Presentación del producto Memoria, tablas, SmartTrac.
Introduccion a UML Wilson Peláez Hernández
Reportes de Tutoriales Guía para obtener reportes de tutoriales Octubre 2008.
CONSULTAS AL SISTEMA DE GESTIÓN DE ARCHIVO (AKS / SGA)
CLASE 4 EL ENSAMBLADOR.
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Prototipo de compilador didáctico del lenguaje LC99
1 MEJORA DE UN ANALIZADOR AUTOMÁTICO DE ESTILOS PARA TEXTOS EN INGLÉS TÉCNICO: DESARROLLO DE LA AYUDA DE USUARIO. Madrid 2001Pilar Santamaría Rebollo.
Programación en C para electrónica
Estructuras de Información y Archivos
BASE DE DATOS Primeros pasos
Introducción a Simulink
Funciones Excel. Parte 1. Introducción 2 Una función Excel es una fórmula o un procedimiento que se realiza en el ambiente de Visual Basic, fuera de.
TERCERA PARTE: TWIDOSOFT
APLICAWEB SERVICIOS LEGALES DE PUERTO RICO
Streaming (Retransmisión de contenidos multimedia en Internet)
INTRODUCCIÓN A JAVA.
BIENVENIDO AL CURSO INTRODUCTORIO LIBREOFFICE IMPRESS 3.4.5
Todos los Derechos Reservados. Prohibida la reproducción por cualquier medio. Agosto Breve tutorial para conocer lo básico para empezar a trabajar.
SISTEMA DE NACIMIENTOS MANUAL DEL USUARIO. El objetivo del presente manual es servir de guía al usuario final para interactuar con el Sistema, permitiéndole.
Módulo 1: Primeros Pasos
ENTRADA / SALIDA 1.
Javier López García OBJETIVOS DEL PROYECTO Diseñar una nueva arquitectura para SERVIVOX que le proporcione mayor modularidad y flexibilidad. Reestructurar.
4. Introducción a Aspen Plus
Proyecto Fin de Carrera E.T.S. Ingeniería Informática 26 de Septiembre de 2006 DESARROLLO DE UN COMPONENTE TECLADO ALUMNO: Fco. Javier Sánchez Ramos TUTORES:
ID-Spec Large 3.0 Software para el Diseño de Instalaciones Eléctricas en Edificios Industriales y Terciarios.
PASOS PARA EL FORMATEO DE UN PC
Ingeniería del Software
Guía de Implementación
INTRODUCCIÓN A LA PROGRAMACIÓN
Jessica dayana guerrero mora Katherine monsalve duran 7.1
1 Alumno: Javier Insa Cabrera Director: José Hernández Orallo 23 de septiembre de 2010.
Programación en Lenguaje Ensamblador.
© Manuel ColladoHerramientas software-1 Herramientas software Clasificación. Integración de herramientas.
Índice Sesión I Bloque I (09:30 a 10:30 Horas) Configuración Inicial
Entrada / salida digital con ccs
Lección 9 Deslizadores, selecc. actuales y marcadores
Programación I Teoría VI: Recursividad
Si está interesado en reducir la huella ecológica de su entidad local, obtenga aquí más información sobre Global Action Plan (GAP) / Plan de Acción Global:
Yolanda Mejido González
Guía de Implementación
TRADUCTOR DE UN PROGRAMA
Práctica 7 AOC. Gestión de la pila Una pila es una estructura de datos caracterizada por que el último dato que se almacena es el primero que se obtiene.
SISTEMAS OPERATIVOS 4º Informática.
COMPUTACIÓN APLICADA FACULTAD DE INGENIERÍA, UAQ Tablas Dinámicas, Macros Ma. Teresa García Ramírez.
ACIDE A C onfigurable I ntegrated D evelopment E nvironment (Un entorno integrado de desarrollo configurable)
Módulo LCD Controlador HD44780.
José Luis torres Álvaro José ortega MACROS EN EXCEL.
Estructura de los Sistemas Operativos
MICROSOFT OFFICE Power Point.
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Automatizacion en Word. Macros En Microsoft Office Word 2007 se pueden automatizar las tareas realizadas con más frecuencia creando macros. Una macro.
Software.
Naime Cecilia del Toro Alvarez
“Instalación de TuneUp Utilities” Para empezar la instalación de TuneUp Utilities, haga doble clic en el ejecutable del programa: Se le abrirá el asistente.
Sistema Operativo S.O..
Software.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
ORDENADOR HARDWARE UNIDAD CENTRAL Microprocesador memoria PERIFÉRICOS Teclado, ratón, Escáner, Impresora, Webcam, lápiz, Etc. SOFTWARE SISTEMAS OPERATIVOS.
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
TUTORIAL DE INSTALACION
Transcripción de la presentación:

Javier Guillén Álvarez Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Javier Guillén Álvarez 1/27

Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Índice 1. Justificación + Objetivos 2. Rediseño de software Compilación/Ensamblaje Ejecución/Depuración 3. Mejora de robustez y usabilidad Archivos de depuración + verificación de tipos + controles Registro de Windows Cuadros de diálogo: usabilidad 4. Nueva funcionalidad Editor de código Conexión con la plataforma Ejecución: paso a paso en C + tabla de variables Entorno gráfico 5. Instalador + Pruebas + Tutoriales en C 6. Conclusiones + Líneas Futuras 2/27

Justificación y objetivos Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Justificación y objetivos TUTOR Antes… SBC68K …Ahora dBUG ENT2004CF Objetivos de EDColdFire v3.0 Solucionar errores iniciales Adaptación a la ENT2004CF Renovar el interfaz gráfico Reestructuración completa del código Aumento de la velocidad del entorno Incorporar C como lenguaje de desarrollo Crear instalador de EDColdFire 3/27

Rediseño de SW: Compilación/Ensamblaje (I) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Rediseño de SW: Compilación/Ensamblaje (I) Rediseño de herramientas Herramientas de Austex Compilación .cax .s Directiva ORG Módulo fuente en C Compilación Código ensamblador Volcado Ensamblaje .asm .o .dep .hcf Cambio de extensión Módulo fuente ensamblador Listado de depuración Módulo de carga (S-Record) Herramientas de GNU Ensamblaje .elf .lis .dep .hcf .asg .o Tabla de variables Módulo fuente ensamblador Montaje Adaptación Módulo de carga (S-Record) (Executable and Linking Format) Módulo objeto Listado de depuración Listado temporal 4/27

Rediseño de SW: Compilación/Ensamblaje (II) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Rediseño de SW: Compilación/Ensamblaje (II) .map .lis .dep .hcf .s .o .c start.asg start.o Código ensamblador Módulo objeto Código de inicio de programa Módulo objeto de inicio Compilación Ensamblaje Módulo de carga (S-Record) Módulo de carga Listado temporal Adaptación total.c .ls2 .co1 .elf .co2 Montaje Listado de depuración Listado temporal Listado sin C incrustado Listado en mayúsculas Preprocesamiento Módulo preprocesado Módulo fuente en C Mapa de variables y funciones Herramientas de GNU: Compilación .map .lis .dep .hcf .s .o .c start.asg start.o Código ensamblador Módulo objeto Código de inicio de programa Módulo objeto de inicio Compilación Ensamblaje Módulo de carga (S-Record) Módulo de carga Listado temporal Adaptación total.c .ls2 .co1 .elf .co2 Montaje Listado de depuración Listado temporal Listado sin C incrustado Listado en mayúsculas Preprocesamiento Módulo preprocesado Módulo fuente en C Mapa de variables y funciones ELIMINADOS EN LA VERSIÓN FINAL ELIMINADOS EN LA VERSIÓN FINAL .elf .lis .dep .hcf .s .o Tabla de variables .c start.asg start.o Módulo fuente en C Código ensamblador Módulo objeto Código de inicio de programa Módulo objeto de inicio Compilación Ensamblaje Montaje Módulo de carga (S-Record) (Executable and Linking Format) Listado temporal Adaptación Listado de depuración .elf .lis .dep .hcf .s .o Tabla de variables .c start.asg start.o Módulo fuente en C Código ensamblador Módulo objeto Código de inicio de programa Módulo objeto de inicio Compilación Ensamblaje Montaje Módulo de carga (S-Record) (Executable and Linking Format) Listado temporal Adaptación Listado de depuración 5/27

Rediseño de SW: Compilación/Ensamblaje (III) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Rediseño de SW: Compilación/Ensamblaje (III) Toma 1ª ruta de sDepuracion ¿Existe el archivo? FIN de BuscaErrorWarning Sí No INICIO de BuscaErrorWarning errores:=0; avisos:=0; ¿Es un archivo de Austex? ProcesaLíneaErrorWarningAustex() ProcesaLíneaErrorWarning() Imprime la línea procesada en la ventana de error ¿Final del archivo? ¿Quedan archivos en la lista? Imprime nº de errores y avisos en la ventana de error Devuelve (errores == 0) Lee la siguiente línea Toma la siguiente ruta de archivo de sDepuracion Procesamiento de mensajes de error 6/27

Rediseño de SW: Compilación/Ensamblaje (IV) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Rediseño de SW: Compilación/Ensamblaje (IV) Ventana de error Formato Cadena de especificación de formato Errores de Austex Error: RutaFuente,NúmeroLínea: DescripciónError "Error: %[^,],%d:%s\n" Avisos de Austex Warning: RutaFuente,NúmeroLínea: DescripciónAviso "Warning: %[^,],%d:%s\n" Errores de GNU Error: RutaFuente:NúmeroLínea: DescripciónError "Error: %1[a-zA-Z]:%[^:]:%d:%s\n" Avisos de GNU Warning: RutaFuente:NúmeroLínea: DescripciónAviso "Warning: %1[a-zA-Z]:%[^:]:%d:%s\n" Formato Cadena de especificación de formato Errores de Austex Error: RutaFuente,NúmeroLínea: DescripciónError "Error: %[^,],%d:%s\n" Avisos de Austex Warning: RutaFuente,NúmeroLínea: DescripciónAviso "Warning: %[^,],%d:%s\n" Errores de GNU Error: RutaFuente:NúmeroLínea: DescripciónError "Error: %1[a-zA-Z]:%[^:]:%d:%s\n" Avisos de GNU Warning: RutaFuente:NúmeroLínea: DescripciónAviso "Warning: %1[a-zA-Z]:%[^:]:%d:%s\n" 7/27

Rediseño de SW: Ejecución/Depuración (I) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Rediseño de SW: Ejecución/Depuración (I) Los errores de firmware obligan a que: En direcciones con puntos de parada, ejecutar TRACE antes de GO o GT No ejecutar TRACE en llamadas a TRAP #15 o instrucciones de modificación del SR No poner puntos de parada en llamadas a la TRAP #15 o instrucciones de modificación del SR Órdenes dBUG 1 Errores iniciales Firmware 1. GO y GT 2. Activación indeseada del bit de traza TRACE en instrucción ilegal deja activado el bit de traza del SR ResetEnTrazaSR() 2 3. Instrucciones ilegales en Puntos de Parada EXIT_TO_dBUG deja instrucciones ilegales en puntos de parada Terminar con RESET, ABORT o recargar el programa 3 Terminal Al borrar en la primera posición del terminal dejan de verse los nuevos caracteres Se cambian los estilos de fuente del Terminal 4 4. Desaparición de caracteres 8/27

Rediseño de SW: Ejecución/Depuración (II) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Rediseño de SW: Ejecución/Depuración (II) Errores iniciales La función Ejecutar() permite prescindir de la hebra de lectura del puerto COM Hebra puerto COM Inhabilitar los botones de ejecución Anular los valores de los registros en la barra de herramientas ¿Está ejecutándose el programa? FIN de Ejecutar() Procesar la cola de mensajes de Windows Sí No Comenzar la ejecución en la plataforma Leer los datos recibidos por el puerto COM Procesar los datos recibidos Restablecer indicadores de ejecución INICIO de Ejecutar() DOBLE OBJETIVO: Eliminar hebra Unificar funciones de ejecución → Ejecutar() A partir de Ejecutar() se implementan: Ejecución sin PPs Ejecución con PPs Ejecución hasta cursor Paso a paso Paso a paso en C 9/27

Rediseño de SW: Ejecución/Depuración (IV) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Rediseño de SW: Ejecución/Depuración (IV) Otras tareas de reestructuración Gestión de Puntos de Parada Tabla interna de Puntos de Parada Inhabilitar/Restaurar Puntos de Parada Punto de parada Dirección de memoria Contador Disparo Barra de registros Tabla de estructuras registro Reimplementación completa Anulación de registros: AnularTodos() Watch de variables Reducción del tiempo de refresco Refresco automático tras ejecución 10/27

Mejora de robustez y usabilidad (I) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Mejora de robustez y usabilidad (I) Menús y controles Agrupación de funciones de actualización de comando Archivos de depuración Centralización de archivos de depuración Uso del precompilador de Visual C++ para evitar la generación de archivos Funciones de verificación de tipos IsEtiquetaGNU IsInstruccionSaltoGNU IsInstruccionSR IsLineaC IsDirección IsDirectiva IsEtiquetaAustex 11/27

Mejora de robustez y usabilidad (II) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Mejora de robustez y usabilidad (II) Uso del registro de Windows 12/27

Mejora de robustez y usabilidad (III) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Mejora de robustez y usabilidad (III) "Usabilidad es la efectividad, eficiencia y satisfacción con la que un producto permite alcanzar objetivos específicos a usuarios específicos en un contexto de uso específico" Encabezado no descriptivo y obsoleto Icono de error cuando no ha habido error Mensaje describiendo una incidencia equivocada Versión inicial Mensaje describiendo la incidencia + Sugerencia para solucionarla Encabezado resumiendo la incidencia Icono adecuado al mensaje Nueva versión 13/27

Mejora de robustez y usabilidad (IV) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Mejora de robustez y usabilidad (IV) Mejora de usabilidad 14/27

Nueva funcionalidad: Editor de código (I) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Nueva funcionalidad: Editor de código (I) CEditorDoc Funcionalidad General CFuenteASMAustex Funcionalidad Ensamblador Motorola CFuenteCAustex Funcionalidad C + compilador Austex CFuenteASMGNU Funcionalidad Ensamblador GNU CFuenteCGNU Funcionalidad C + compilador GNU CDepurador Funcionalidad Depurador de programas CEditorDoc Funcionalidad General Funcionalidad Ensamblador Motorola Funcionalidad Ensamblador GNU Funcionalidad C + compilador Austex Funcionalidad Depurador de programas Funcionalidad C + compilador GNU 15/27

Nueva funcionalidad: Editor de código (II) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Nueva funcionalidad: Editor de código (II) Coloreado sintáctico Comentarios Palabras clave 16/27

Nueva funcionalidad: Editor de código (III) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Nueva funcionalidad: Editor de código (III) Ayuda emergente INICIO DEL MECANISMO DE AYUDA EMERGENTE Elimina de memoria m_pTablaToolTips ¿Tabla inicializada? ¿Se cierra el documento? MECANISMO DE AYUDA EMERGENTE DETENIDO Crea e inicializa m_toolTip y m_popupText ¿Lleva el cursor quieto 1 seg. en la zona activa de m_toolTip? Añade la ayuda y muestra m_popupText Oculta m_popupText ¿Se ha movido el ratón o se ha activado su rueda? ¿Aparece en la tabla? Obtiene palabra bajo el cursor Sí No INICIO DEL MECANISMO DE AYUDA EMERGENTE Elimina de memoria m_pTablaToolTips ¿Tabla inicializada? ¿Se cierra el documento? MECANISMO DE AYUDA EMERGENTE DETENIDO Crea e inicializa m_toolTip y m_popupText ¿Lleva el cursor quieto 1 seg. en la zona activa de m_toolTip? Añade la ayuda y muestra m_popupText Oculta m_popupText ¿Se ha movido el ratón o se ha activado su rueda? ¿Aparece en la tabla? Obtiene palabra bajo el cursor Sí No 17/27

Nueva funcionalidad: Conexión con la plataforma (I) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Nueva funcionalidad: Conexión con la plataforma (I) Comunicación serie Velocidad de transferencia (bps) 19200/38400 Bits de datos 8 Bit de paridad No Bits de parada 1 Optimización de velocidad Aumento de velocidad de comunicación hasta 38.4Kbps Protocolo de selección de velocidad Adecuación de longitud de respuestas esperadas Ajuste de tiempos límite Hebra de animación del icono de comunicaciones División Ejecución/Visualización Fin de Tx con tiempos límite sin ajustar Ráfaga de bytes Ráfaga de bytes Tiempos límite ajustados 18/27

Nueva funcionalidad: Conexión con la plataforma (III) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Nueva funcionalidad: Conexión con la plataforma (III) Optimización de velocidad Instrucción Versión inicial* (19.200 bps) Versión final* (38.400 bps) Tpto.serie Tproc. Ttotal Paso a Paso 600 1260 1860 350 60 410 220 280 Ejecutar hasta el cursor 540 680 1220 380 260 640 240 180 420 Refresco del Watch con 2 variables 170 1200 1370 160 Paso a paso + Refresco del Watch con 2 variables 770 2580 3350 570 630 360 * Tiempos de ejecución, en milisegundos ¡8 VECES MÁS RÁPIDO! 19/27

Nueva funcionalidad: Ejecución/Depuración (I) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Nueva funcionalidad: Ejecución/Depuración (I) Paso a paso en C FIN INICIO ¿Es la última línea? Obtener línea del PC ¿Es salto ASM GNU? Avanzar un paso ¿Es línea de C? Ejecutar hasta la instrucción anterior Obtener línea siguiente ¿La instrucción anterior es de C? Sí No Ejecutar hasta el salto INLINE char inche(void) { 00020130 <inche> linkw %fp,#-4 char ch; ch=inch(); 00020134 jsr %pc@(0002010c <inch>) 00020138 moveb %d0,%fp@(-1) outch(ch); 0002013c moveb %fp@(-1),%d0 00020140 extbl %d0 00020142 movel %d0,%sp@- 00020144 jsr 0002015c <outch> 0002014a addql #4,%sp return (char) ch; 20/27

Nueva funcionalidad: Ejecución/Depuración (II) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Nueva funcionalidad: Ejecución/Depuración (II) Paso a paso en C INLINE void output(char *start)43201 { 00020284 <output> linkw %fp,#0 00020288 movel %a2,%sp@- 0002028a moveal %fp@(8),%a0 if (start!=0){ 0002028e tstl %a0 00020290 beqs 000202a8 <output+0x24> [...] } 000202a8 moveal %fp@(-4),%a2 000202ac unlk %fp 000202ae rts 21/27

Nueva funcionalidad: Ejecución/Depuración (III) Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Nueva funcionalidad: Ejecución/Depuración (III) Tablas de variables Fuente C GNU Ensamblador de GNU Ensamblador de Motorola CFuenteCGNUDoc::Construir CEditorDoc::CompilarEnsamblar .\gcc-m68k\Makegcc.bat Genera y guarda la tabla de variables en el fichero de depuración (.dep) CFuenteASMGNUDoc::Construir .\gcc-m68k\Makedep.bat CMainFrame::OnConstruirCargar CMainFrame::ProcesaArchivoCargado Busca las variables en el documento de depuración y las almacena en la tabla CMainFrame::m_mapVar Flujo de creación y lectura de tabla de variables Secuencia de llamadas Dirección de comienzo Tamaño de la variable Nombre de la variable //------------------------------------------// // TABLA DE SIMBOLOS // 00030000 00000010 d teclas.60 0003001c d __operand1 00030024 d __operand2 0003002c 00000002 B puertoS 22/27

Nueva funcionalidad: Entorno gráfico Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Nueva funcionalidad: Entorno gráfico 23/27

Instalador, Pruebas y Tutoriales en C Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Instalador, Pruebas y Tutoriales en C Tareas complementarias realizadas: Baterías de pruebas inicial Instalador de EDColdFire v3.0 Creación de Tutoriales en C Programas + Librerías en C 24/27

Conclusiones Corrección de errores y reestructuración de código Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Conclusiones Nueva versión EDColdFire v3.0 Corrección de errores y reestructuración de código Adaptación completa a ENT2004CF Incremento de robustez y usabilidad Nueva estructura de documentos Incorporación de C como lenguaje de desarrollo Aumento de la velocidad de respuesta del entorno Renovación del interfaz gráfico de usuario Instalador de EDColdFire v3.0 + Tutoriales en C 25/27

Líneas Futuras Carga de programas por USB o Ethernet Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) Líneas Futuras Carga de programas por USB o Ethernet Acceso a los registros internos de ColdFire desde el entorno Incluir simulador de ColdFire Integrar las herramientas de evaluación de código fuente desarrolladas por el DIE Versión remota del entorno para acceder a una plataforma ENT2004CF conectada a un ordenador en red 26/27

Nuevo Entorno de Desarrollo para el Microcontrolador ColdFire (MCF5272) DEMOSTRACIÓN ... 27/27