Post on 24-Jan-2016
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 1
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 2
Índice
4.1 Esquema General4.2 Emulador HW4.3 Costes sistemas de desarrollo4.4 Modelo clásico de programación4.5 TI: Arquitectura software eXpressDSP4.6 Herramientas de programación visual4.7 C versus ensamblador4.8 Criterios de elección C vs ASM4.9 Resumen comparativo
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 3
4.1 Esquema General
Ensamblador / linker Emulador software
CompiladorSimulador mutiplataforma
Emulador hardware
--- Sin Target
--- Con TargetProgramación visual
Target (DSP)
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 4
4.2 Emulador HW Primeras modelos tenían una replica del DSP
y requerían quitar el dsp del sistema target
PodEmulador
DSP
DSP
Software debugging
PC
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 5
4.2 Emulador HW
Posteriormente el DSP se mejora con un puerto JTAG y el emulador no necesita tener una replica del dsp
Pod Emulador PCJTAG
ISAPCIUSBParall
Software debugging
DSP
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 6
4.2 Emulador HW
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 7
4.2 Emulador HW
Modernamente, el emulador esta incluido dentro de las tarjetas de desarrollo tipo DSK, pero son mas lentos
Emulador PC
JTAG Software debugging
DSP
USB
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 8
4.3 Costes sistemas de desarrollo
395 $
1395 $
3500 $
4000 $
Compilador+ Debuger
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 9
.asm
.c
.obj
.out
.cmd (mapa memoria)
.lib
4.4 Modelo clásico de programación
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 10
4.5 Texas Instruments: Arquitectura software eXpressDSP
1
3
24
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 11
4.5.1 Code Composer Studio (CCS)
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 12
4.5.2 DSP/BIOS Kernel
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 13
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 14
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 15
4.6.1 RIDE
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 16
4.6.2 Simulink/DSP
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 17
4.6.3 LABVIEW/DSP
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 18
4.7 C versus Ensamblador MVKLMVKL .S2 .S2 pt1, A5pt1, A5 MVKH MVKH .S2 .S2 pt1, A5 pt1, A5
MVKL MVKL .S2 .S2 pt2, A6pt2, A6 MVKH MVKH .S2 .S2 pt2, A6pt2, A6
MVKLMVKL .S2.S2 pt3, A7pt3, A7MVKHMVKH .S2.S2 pt3, A7pt3, A7MVKLMVKL .S2.S2 count, B0count, B0ZEROZERO .L.L A4A4
loop loop LDHLDH .D.D *A5++, A0*A5++, A0
LDHLDH .D.D *A6++, A1*A6++, A1
MPYMPY .M.M A0, A1, A3A0, A1, A3
ADDADD .L.L A4, A3, A4A4, A3, A4
SUBSUB .S.S B0, 1, B0B0, 1, B0
[B0][B0] BB .S.S looploop
STHSTH .D.D A4, *A7A4, *A7
countcount
i = 1i = 1Y = Y = a aii * x * xii
for(i=1;i<count;i++)for(i=1;i<count;i++){{ sum+=m[i]*n[i]; sum+=m[i]*n[i];}}
Copyright 2006 © Prof. Alberto Izquierdo Tratamiento Digital de Señales ETSI Telecomunicaciones. UVA 19
4.7 C versus Ensamblador
Rapidez/sencillez/Coste 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 21
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 22
4.9 Resumen comparativo
Ensamblador: 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