Herramientas de programación y depuración para DSP Tratamiento Digital de Señales ETSI Telecomunicaciones Universidad de Valladolid Curso 2005-2006 Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
Índice 4.1 Esquema General 4.2 Emulador HW 4.3 Costes sistemas de desarrollo 4.4 Modelo clásico de programación 4.5 TI: Arquitectura software eXpressDSP 4.6 Herramientas de programación visual 4.7 C versus ensamblador 4.8 Criterios de elección C vs ASM 4.9 Resumen comparativo Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
Simulador mutiplataforma 4.1 Esquema General Programación visual --- Sin Target --- Con Target Ensamblador / linker Emulador software Simulador mutiplataforma Compilador Emulador hardware Target (DSP) Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.2 Emulador HW Primeras modelos tenían una replica del DSP y requerían quitar el dsp del sistema target DSP Emulador Pod DSP PC Software debugging Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.2 Emulador HW Posteriormente el DSP se mejora con un puerto JTAG y el emulador no necesita tener una replica del dsp JTAG PC Emulador Pod DSP Software debugging ISA PCI USB Parall Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.2 Emulador HW Emuladores Texas Instruments Familia XDS 510 (ISA) JTAG ( 2x4 pines) Emuladores Texas Instruments Familia XDS 510 (ISA) Familia XDS 560 (PCI) Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.2 Emulador HW Modernamente, el emulador esta incluido dentro de las tarjetas de desarrollo tipo DSK, pero son mas lentos Software debugging JTAG DSP PC Emulador USB Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.3 Costes sistemas de desarrollo 3500 $ 1395 $ Compilador+ Debuger 395 $ 4000 $ Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.4 Modelo clásico de programación .asm .lib .obj .cmd (mapa memoria) .out Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.5 Texas Instruments: Arquitectura software eXpressDSP 1 3 2 4 Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.5.1 Code Composer Studio (CCS) Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.5.2 DSP/BIOS Kernel Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.5.3 DSP Algorithm Standard (xDAIS) Componentes Reference framework RF1, RF3, RF5 Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.6 Herramientas de programación visual RIDE SIMULINK + REAL TIME WORKSHOP + EMBBEDED TARGET LABVIEW + DSP MODULE Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.6.1 RIDE Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.6.2 Simulink/DSP Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.6.3 LABVIEW/DSP Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.7 C versus Ensamblador Y = ai * xi MVKL .S2 pt1, A5 i = 1 MVKH .S2 pt1, A5 MVKL .S2 pt2, A6 MVKH .S2 pt2, A6 MVKL .S2 pt3, A7 MVKH .S2 pt3, A7 MVKL .S2 count, B0 ZERO .L A4 loop LDH .D *A5++, A0 LDH .D *A6++, A1 MPY .M A0, A1, A3 ADD .L A4, A3, A4 SUB .S B0, 1, B0 [B0] B .S loop STH .D A4, *A7 count i = 1 Y = ai * xi for(i=1;i<count;i++) { sum+=m[i]*n[i]; } Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.7 C versus Ensamblador Rapidez/sencillez/Coste Modelo tradicional Ensamblador programas mas rápidos C programas mas sencillos de desarrollar C requiere mas memoria Competencia mercado menor tiempo de desarrollo menor coste ( HW+ desarrollo) Modelo tradicional Programación en C y desarrollo de bloques críticos en ensamblador Futuro Compiladores C optimizados: 3 veces mas rápidos Necesidad de conocer la arquitectura y las instrucciones en ensamblador, aunque se programa en C Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.7 Benchmarks C versus ASM HIDDEN SLIDE To view this slide while presenting (in case of customer questions on C efficiency), click the button in the far upper-right corner. Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.8 Criterios de elección C vs ASM Complejidad del programa Grande ► C Velocidad Critica ► Ensamblador Numero de programadores Dos o mas ► C Prioridad coste producto / coste desarrollo Producto ► Ensamblador Desarrollo ► C Conocimiento previo Continuar con el que se tiene Recomendaciones del fabricante C Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA
4.9 Resumen comparativo Ensamblador: C: Programación visual Máximo control del procesador Si algoritmo complejo – Aumento dificultad Costoso mantenimiento y actualización de aplicaciones C: Menor control del procesador Disminuye tiempo desarrollo algoritmos Menor rendimiento algoritmos Sencillo mantenimiento, actualización y documentación de aplicaciones. Programación visual Bajo control del procesador Sensible disminución tiempo desarrollo algoritmos No necesario saber funcionamiento bloques Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA