signal (DSP)
Sylvain MONTAGNY
sylvain.montagny@univ-savoie.fr
Btiment chablais, bureau 13
04 79 75 86 86
: 13.5 h en 9 sances
Universit de Savoie
Prsentation TD
TD
: 7.5 h en 5 sances
Universit de Savoie
Prsentation TP
TP : 16h en 4 sances de 4h
Universit de Savoie
Examens
Universit de Savoie
Universit de Savoie
Capteur
Filtre
anti
repliement
CAN
Systme de traitement
numrique
(Processeur, FPGA)
Analogique
CNA
Filtre
de
reconstruction
Analogique
Mmoire
Numrique
Universit de Savoie
Robustesse :
Prcision :
Multitche :
Prdiction :
Inconvnients :
Cot :
Vitesse :
Complexit :
Universit de Savoie
Tlcommunications : dtection de
BP Filter Detector
tonalit
Schma de dtection
de tonalit
697 Hz
BP Filter
Detector
770 Hz
BP Filter
Detector
852 Hz
697 Hz
LP Filter
Limiter
BP Filter
Detector
941 Hz
770 Hz
HP Filter
Limiter
BP Filter
Detector
1209 Hz
BP Filter
Detector
1336 Hz
BP Filter
Detector
1477 Hz
852 Hz
941 Hz
|G| (dB)
-0 dB
-3 dB
-30 dB
Universit de Savoie
FS1
FP1
FP2
FS2
Fe
2
10
1 000 000
10 000
100
1
Faible
Complexit de lalgorithme
Temprature
Codage de la voix
Reconnaissance
vocale
Eleve
MP3
Reconnaissance
dimage
11
Universit de Savoie
12
Problmatique et solutions
Filtrage numrique sur processeur classique (1)
loop:
mov *r0,x0
mov *r1,x1
mpy x0,x1,a
add a,b
mov x1,*r2
inc r0
inc r1
inc r2
dec ctr
tst ctr
jnz loop
Excution en 15 20
cycles sur processeur
classique
Vieillissement de lchantillon
Gestion des pointeurs dadresse
Gestion de la boucle
Excution en 1 cycle
sur DSP
13
Problmatique et solutions
Filtrage numrique sur processeur classique (2)
Problmes :
Problmatique et solutions
Gestion du temps rel
Te = Priode dchantillonnage
T = Temps de traitement
Horloge
acquisition
Te
Interruption
Activit
processeur
Entre de lchantillon
t
T
Sortie du rsultat
Universit de Savoie
15
Problmatique et solutions
Solutions architecturales (document architecture reconfigurable)
2 V DSP
3 MOPS/mW
Efficacit nergtique
Pleiades
10-50 MOPS/mW
Flexibility
En MIPS/W
Embedded
Processor
SA110
0.4 MIPS/mW
100-1000 MOPS/mW
ASIC
DSP
Embedded
FPGA
Alpha
0.007 MIPS/mW
Reconfigurable
Processor
16
Universit de Savoie
17
De lanalogique au numrique
Signal Analogique
Numrisation
111
110
101
100
011
010
001
000
Signal Numrique
Universit de Savoie
18
De lanalogique au numrique
Effets du repliement de spectre
Universit de Savoie
19
De lanalogique au numrique
Quantification Uniforme
On parle de quantification uniforme si les intervalles (valeurs
du signal numriss) sont de mme longueur q ( q est le pas
de quantification )
1. Erreur de darrondi
q
e
2
2. Erreur de saturation x<valeur min ou x>valeur max
Universit de Savoie
20
De lanalogique au numrique
Plage globale de
quantification
1. Erreur darrondi
RSBdB Px
Temps
dB
Pe
dB
Px
10 log
Pe
21
De lanalogique au numrique
2. Erreur de saturation
xmax
4 5 6
Temps
Universit de Savoie
22
De lanalogique au numrique
Quantification uniforme et RSB
Quantification uniforme 16 bits sur [-1,1]
120
saturation
100
RSB (dB)
80
60
40
erreur darrondi
20
0
-60
-50
-40
-30
-20
-10
puissance du signal (dB)
10
23
De lanalogique au numrique
Quantification uniforme vs logarithmique
Signal original x
Signal original x
0.5
0.5
0.5
-0.5
-0.5
-0.5
-1
0.2
0.4
0.6
0.8
-1
0.2
0.4
0.6
0.8
-1
0.5
0.5
0.5
-0.5
-0.5
-0.5
0.2
0.4
0.6
0.8
quantif. uniforme
domaine linaire
-1
0.2
0.4
0.6
0.8
quantif. logarithmique
domaine linaire
0.2
0.4
0.6
0.8
-1
-1
0.2
0.4
0.6
0.8
quantif. uniforme
domaine compress
24
De lanalogique au numrique
Quantification Uniforme vs Logarithmique
45
40
Loi A
35
RSB (dB)
30
25
20
15
10
5
0
-60
-50
-40
-30
-20
-10
puissance du signal (dB)
granulation
10
Quantification uniforme
saturation
Universit de Savoie
25
Universit de Savoie
26
Non signes
N 1
x bi 2i
i 0
Exemple
Signes : Complment 2
reprsente le signe
Nombre positif : cod comme un non-sign
Nombre ngatif : cod par son C2 (Inversion des bits puis
ajout de1)
Universit de Savoie
27
0 1 1
0 1 0
0 0 1
0 0 0
-1
1 1 1
-2
1 1 0
-3
1 0 1
-4
1 0 0
Dynamique
N 1
Nombre
N 1
Complment 2 de x :
C2(x) = 2N x
Implantation efficace :
Inversion des bits puis ajout de 1
C2(x) = C1(x) + 1
Signe
28
Reprsentation circulaire
111
En ajoutant 1 la plus
grande valeur positive on
obtient la valeur ngative
extrme
000
-2 110
101
-3
-1
1
001
010 2
100
-4
011
3
C2 pur
C2 avec arithmtique de
saturation
C2 pur
Universit de Savoie
C2 avec saturation
29
Universit de Savoie
30
-2m-1
S
bm-1
bm-2
21
20
2-1
2-2
b1
b0
b-1
b-2
2-n
b-n+2 b-n+1
b-n
Partie fractionnaire
m1
x (2)m1 S bi 2i CA2
i n
Universit de Savoie
31
Proprits:
Universit de Savoie
32
Q2 : 23.25
Q4 : 5.8125
Q7 : 0.7265625
Universit de Savoie
33
34
#/Poids
-22
21
20
-4
-3.96875
3.9375
3.96875
,2
2-2
2-3
2-4
2-5
-1
35
-1Nombre<1
-8Nombre<8
-200Nombre<200
36
Virgule flottante
Reprsentation : exposant - mantisse
La mantisse et lexposant sont reprsenter eux mme en CA2.
Ils peuvent donc prendre des valeurs ngatives.
dE-1
d1
Exposant
d0 cM-1
c2
c1 c0
Mantisse
Norme IEEE :
x Mantisse .2 Exposant
Universit de Savoie
37
Niveau de dynamique
max(x )
min( x )
D ynam ique en dB
Virgule flottante
1000
500
Virgule fixe
10
15
20
25
30
Nombre de bits
Rapport Signal Bruit virgule fixe/flottante
80
RS B en dB
100
Virgule flottante
60
40
Virgule fixe
20
0
-50
0
Dynamique du signal d entr e en dB
50
38
Application
En langage de programmation C, nous utilisons les types de variables
suivant. Retrouver la valeur minimale et maximale de chacun des types.
Nom du type Signification Codage
8 bits
-128 127
32 bits
0 232-1
Entier sign
32 bits
-231 231-1
Rel sign
32 bits
24 bits de mantisse
8 bits dexposant
Rel sign
64 bits
53 bits de mantisse
11 bits dexposant
char
Entier sign
unsigned int
int
float
double
Plage de valeur
Universit de Savoie
39
3.1
3.2
3.2
3.3
3.4
Universit de Savoie
40
Unit de
commande
Units de
traitement
Bus internes
Mmoire
interne
Unit de
Communication
Universit de Savoie
Priphriques
et mmoire externes
41
3.1
3.2
3.2
3.3
3.4
Universit de Savoie
42
Unit de commande
Un pipeline
Une gestion des boucles matrielles
Universit de Savoie
43
Unit de commande
Squentiel vs pipeline
Instruction
Fetch
t2
t3
t4
t5
Instruction 1
t7
t8
F2
D1
D2
Read
R1
Execute
F1
-
R2
X1
t1
t2
t3
t4
t5
t6
t7
t8
F1
F2
F3
F4
F5
D1
D2
D3
D4
D5
R1
R2
R3
R4
R5
X1
X2
X3
X4
X5
Read
Execute
CPU
Decode
D1
R1
-
MemD
X1
-
MemD
F4
F5
MemP
X2
Excution squentielle
Fetch
MemP
Instruction 2
F1
Decode
t6
CPU
t1
D3
D4
R2
R3
MemD
X1
X2
MemD
Amorage du pipeline
45
Unit de commande
Exemple de rupture de squence
Code excuter :
1: Instr1
2: Si B==1 Alors GOTO 10:
3: Instr3
4: Instr4
5: Instr5
6: Instr6
10:
11:
12:
Instr10
Instr11
Instr12
t1
t2
t3
t4
t5
t6
t7
t8
F1
F2
F3
F4
F5
F10
F11
F12
D1
D2
D3
D4
D10
D11
R1
R2
R3
R10
X1
X2
t1
t2
t3
t4
t5
t6
t7
t8
F1
F2
F3
F4
F5
F6
D1
D2
D3
D4
D5
D6
R1
R2
R3
R4
R5
R6
X1
X2
X3
X4
X5
Vidange du pipeline:
Perte de 3 cycles
Unit de commande
Exemple de conflit d'accs mmoire
Programmes et Donnes dans la mme mmoire 1 accs par cycle
Fetch
Decode
t1
t2
t3
t4
t5
t6
t7
t8
F1
F2
conflit
conflit
F3
F4
D1
D2
D3
D4
R1
R2
R3
R4
X1
X2
X3
Read
Execute
Problme rgl si
Mmoire multi-accs
Programmes et Donnes dans des mmoires diffrentes (ou multi-bloc)
Universit de Savoie
47
8
Unit de commande
Effets du pipeline lors du dbogage
Code excuter :
1:
A=1
2:
B=1
3:
C=1
NOP
10:
A=2
11:
B=2
12:
C=2
13:
D=2
14:
E=2
Watch Window
A
1
B
1
C
1
Watch Window
A
1 ???
B
1
C
1
Watch Window
A
2 !!!
B
1
C
1
Watch Window
A
2
B
2
C
1
F
D
R
X
t1
t2
t3
t4
t5
t6
t7
t8
F10
F11
F12
F13
F14
D10
D11
D12
D13
D14
R10
R11
R12
R13
R14
A=2
B=2
C=2
D=2
E=2
Programme 1
Programme 2
Unit de commande
Utilisation des ressources par le pipeline
Etage
pipeline
P
F
D
A
R
X
Description
PC
Program memory
Decoder
ARs, ARAU
Data memory
ARs, ARAU
Execute instruction
Write result
MAC, ALU
Data Memory
PC =
Program Counter
ARAU = Auxiliary Register Arithmetic Unit
AR =
Adresse Register
MAC= Multiply ACcumulate
ALU = Arithmetic Logic Unit
50
Unit de commande
Retards dans le pipeline
accs la mmoire
utilisation des bus
51
Unit de commande
Gestion des boucles
#16,B
(R0)+,(R4)+,A
B
LOOP
Boucle logicielle
Universit de Savoie
RPT
MAC
#16
(R0)+,(R4)+,A
Boucle matrielle
52
Unit de commande
Exemple : Calcul dun filtre RIF
N 1
B[i] *
X[i];
Unit de gnration
dadresses donnes
Code C
y n b(i ) x n i
i 0
B[i] X[i]
SSBX FRCT
STM #B, AR2
STM #X, AR3
STM #Y, AR4
RPTZ A, #N-1
(x1)
MAC *AR2+,*AR3+, A (xN)
STH A, *AR4
(x1)
Equivalent ASM
Universit de Savoie
53
Unit de commande
Optimisation du compilateur C
Code C
#define N 256
short in[N];
short out[N];
void toto()
{
int i;
for (i=0; i<N; i++)
{
out[i]=in[i];
}
}
Pas doptimisation
813D toto
813D
PSHM 11h
813E
FRAME -1
813F
SSBX SXM
8140
LD
#100h,0,A
8142
ST
#0h,0h
8144
SUB
0h,A
8145
BC
8154h,ALEQ
debut :
8147
MVDK 0h,11h
8149
LD
*AR1(817),A
814B
STL
A,*AR1(1073)
814D
LD
#100h,0,A
814F
ADDM 1h,0h
8151
SUB
0h,A
8152
BC
8147h,AGT
fin:
8154
FRAME 1
8155
POPM 11h
8156
FRET
54
Unit de commande
Unit de contrle du C50
PC sur 16 bits
pile de 8 * 16 bits
PFC,IR: pour le pipeline
Interruptions :
IMR: masque interruptions
IFR: flags interruptions
Universit de Savoie
55
3.1
3.2
3.2
3.3
3.4
Universit de Savoie
56
Unit de traitement
DSP virgule fixe / virgule flottante
Universit de Savoie
57
Unit de traitement
DSP virgule fixe (1)
Arithmtique :
Dveloppement :
Universit de Savoie
58
Unit de traitement
DSP virgule fixe (2)
Architecture :
March :
Xx % des ventes en xx
TMS320C62x :
TMS320C64x :
59
Unit de traitement
DSP virgule flottante (1)
Arithmtique :
Dveloppement
Universit de Savoie
60
Unit de traitement
DSP virgule flottante (2)
Architecture :
March
Unit de traitement
Exemple
x(n)
h(0)
h(1)
x
+
h(2)
h(3)
x
+
h(4)
x
+
y(n)
Cellule
62
Unit de traitement
Elments de lunit de traitement (1)
Oprateurs
Multiplieur cbl
63
Unit de traitement
Elments de lunit de traitement (2)
U.A.L.
64
Unit de traitement
lments de lunit de traitement (3)
Registres oprandes
Registres daccumulation
bgarde
ACCH
ACCL
2.b
65
Unit de traitement
Structure de lunit de traitement MAC
bmult
MAC
badd
Accumulateur
Sat /Arr
Universit de Savoie
66
Unit de traitement
Exemple : TMS320C54x
DB PB DB
CB
CB DB CBDBEB
1 additionneur 40 bits
1 ALU (40 bits)
Universit de Savoie
2 registres d accumulation 40
bits
1 registre dcalage en
barillet
67
3.1
3.2
3.2
3.3
3.4
Universit de Savoie
68
Unit de mmorisation
Les diffrents accs la mmoire
Recherche de linstruction
Lecture de la donne xn-k
Lecture du coefficient hk
Vieillissement des donnes xn-k-1 = xn-k
D
x(n)
h(0)
h(1)
h(2)
h(3)
h(4)
y(n)
+
TAP
69
Unit de mmorisation
Rappels : Bus
CPU
Priphrique
adresses
CPU
donnes
contrle
Priphrique
Universit de Savoie
70
Unit de mmorisation
Accs mmoire pour un calcul
1
2
CPU
Mmoire
4
3
(1)
(2)
(3)
(4)
Universit de Savoie
71
Unit de mmorisation
Architecture Von Neuman
CPU
BUS
Mmoire
Programme
+ Donnes
Universit de Savoie
72
Unit de mmorisation
Architecture Harvard
Mmoire Programme
CPU
Mmoire Donnes
Universit de Savoie
73
Unit de mmorisation
Accs mmoire multi-port
Mmoire Programme
+ Donnes
CPU
Mmoire Donnes
Exemple du TMS320C54xx :
1 bus programme (P)
2 bus de lecture des donnes (C et D)
1 bus dcriture des donnes (E)
74
Unit de mmorisation
Exemple du TMS320C5416
Program A/D Bus (P)
Internal
Memory
Extl
Mem
I/F
External
Memory
Exemple du TMS320C54xx :
75
Unit de mmorisation
Exemple du TMS320C5416
Universit de Savoie
77
Unit de mmorisation
Exemple du TMS320C5416
Program
Data
ROM
ROM
SARAM
DARAM
P Bus
Extl
Mem
I/F
D Bus
C Bus
A
D
E Bus
Universit de Savoie
78
Unit de mmorisation
Cache d'instructions
DSP
cache
dinstructions
Mmoire Programme
+ Donnes
CPU
Mmoire Donnes
79
Unit de mmorisation
Bus externes
Boitier du DSP
Mmoire Programme
+ Donnes
CPU
Mmoire Donnes
MUX
80
Unit de mmorisation
Accs Direct la Mmoire : DMA
Mmoire Programme
+ Donnes
CPU
Mmoire Donnes
interruptions
DMA
configuration
Unit de mmorisation
DMA et buffer ping-pong
DSP
McBSP2
CAN
McBSP2
DRR
DXR
DMA4
PING
IN
31
PONG
IN
2
CNA
DMA5
PING
OUT
1
Traitement
Buffers en mmoire
PONG
OUT
2
Buffers en mmoire
Universit de Savoie
Unit de mmorisation
Mmoire interne sur les C54x
Capacit en mmoire interne de diffrents modles C54x
Dcoupage en blocs
83
Unit de mmorisation
Adressage indirect : *ARx (1)
MPY
*AR4, *AR3, A
Universit de Savoie
84
Unit de mmorisation
Adressage indirect : exemple (3)
Option
Syntax
Action
No Modification
*ARn
no modification to ARn
Increment /
Decrement
*ARn+
*ARn-
post increment by 1
post decrement by 1
Indexed
*ARn+0
*ARn-0
AR0
Circular
*ARn+%
*ARn-%
*ARn+0%
*ARn-0%
BK
Bit-Reversed
*ARn+0B
*ARn-0B
Pre-modify
*ARn (lk)
*+ARn (lk)
*+ARn (lk)%
*+ARn
*(lk)
Absolute
Affected by:
BK, AR0
AR0
(=FFT size/2)
BK
85
Unit de mmorisation
ARAU (Unit dadressage indirect)
Registres d'adressage
86
Unit de mmorisation
Buffer linaire
Time n
Time n+1
Time n+2
Time n+3
x(n)
x(n-1)
x(n-2)
x(n-3)
x(n+1)
x(n)
x(n-1)
x(n-2)
x(n+2)
x(n+1)
x(n)
x(n-1)
x(n+3)
x(n+2)
x(n+1)
x(n)
Universit de Savoie
87
Unit de mmorisation
Adressage circulaire
Time n
Time n+1
Time n+2
Time n+3
x(n-1)
x(n)
x(n-3)
x(n-2)
x(n-1)
x(n)
x(n+1)
x(n-2)
x(n-1)
x(n)
x(n+1)
x(n+2)
x(n+3)
x(n)
x(n+1)
x(n+2)
88
Unit de mmorisation
MMR : Memory Mapped Registers Addressing
0000h
MMRs
0060h
007Fh
Scratch
89
Unit de mmorisation
Memory Mapped Registers
Name
Addr.
(Hex)
Description
Name
Addr.
(Hex)
Description
IMR
0000
AR0
0010
Address Register 0
IFR
0001
AR1
0011
Address Register 1
-----
2-5
Reserved
AR2
0012
Address Register 2
ST0
0006
Status 0 Register
AR3
0013
Address Register 3
ST1
0007
Status 1 Register
AR4
0014
Address Register 4
AL
0008
AR5
0015
Address Register 5
AH
0009
AR6
0016
Address Register 6
AG
000A
AR7
0017
Address Register 7
BL
000B
SP
0018
BH
000C
BK
0019
BG
000D
BRC
001A
000E
Temporary Register
RSA
001B
TRN
000F
Transition Register
REA
001C
PMST
001D
PMST Register
-------
01E-01F
Reserved
90
3.1
3.2
3.2
3.3
3.4
Universit de Savoie
91
Performance / Consommation
Consommation nergtique
C549
C6201
200MHz, 2.5V
ADSP-21160
100MHz, 3.3V
ZSP16401
200MHz, 1.8V
DSP16210
100MHz, 2.5V
100MHz, 2.5V
C6701
167MHz, 1.8V
92
Performance / Consommation
Mesures des performances
MFLOPS
Million FloatingPoint
Operation Per Second
MOPS
Million Operation
Per Second
MIPS
Million Instructions
Per Second
MMACS
Million of MAC
per Second
MBPS
Mega-Bytes
Per Second
93
Performance / Consommation
Panorama des DSP (2)
Universit de Savoie
94
Universit de Savoie
95
Larchitecture
Diagramme bloc du TMS320C5416 (1)
Universit de Savoie
96
Larchitecture
Diagramme bloc du TMS320C5416 (2)
Program/Data ROM
16K Words
Program/Data RAM
128K Words
JTAG Test/
Emulation
Control
Bus externe
MUX
D(15-0)
Mmoire
interne
Program/Data Buses
Timer
A(23-0)
MAC
17 x 17 MPY
ALU
40-Bit ALU
40-Bit Adder
CMPS Operator
(VITERBI)
RND, SAT
EXP Encoder
Ch 2
Shifter
Accumulators
40-Bit ACC A
Ch 3
Muxed GP I/O
Ch 0
Ch 1
Ch 4
Ch 5
Addressing Unit
8 Auxiliary Registers
Peripheral Bus
CPU40-Bit ACC B
40-Bit Barrel
(-16, 31)
DMA
PLL Clock
Generator
2 Addressing Units
S/W Waitstate
Generator
Power Management
Universit de Savoie
Entres
Sorties
97
Larchitecture
Diagramme bloc du TMS320C5416 (3)
Program/Data ROM
16K Words
Program/Data RAM
128K Words
JTAG Test/
Emulation
Control
Bus externe
MUX
D(15-0)
Program/Data Buses
Timer
A(23-0)
MAC
17 x 17 MPY
ALU
40-Bit ALU
40-Bit Adder
CMPS Operator
(VITERBI)
RND, SAT
EXP Encoder
Ch 2
Shifter
Accumulators
40-Bit ACC A
Ch 3
40-Bit Barrel
(-16, 31)
Gnration
dadresses
40-Bit ACC B
DMA
Muxed GP I/O
Ch 0
Ch 1
Ch 4
Ch 5
Addressing Unit
8 Auxiliary Registers
Peripheral Bus
Units de
calcul
Mmoire
interne
PLL Clock
Generator
2 Addressing Units
S/W Waitstate
Generator
Power Management
CPU
Universit de Savoie
Entres
Sorties
98
Structure interne du
TMS320C54x
Unit de controle
Gnration
d'adresses
programme
Gnration
d'adresses
donnes
Bus P
programme
Bus C / D
lecture
donnes
Bus E
criture
donnes
Universit de Savoie
100
Registres
ALU
Shifter
MAC
Viterbi
Universit de Savoie
102
Lorganisation mmoire
Les types de mmoires
103
Lorganisation mmoire
Quantit et type de mmoire programme
Universit de Savoie
104
Lorganisation mmoire
Quantit et type de mmoire donnes
Universit de Savoie
105
Lorganisation mmoire
Type de mmoire
Universit de Savoie
106
Lorganisation mmoire
Mmoire Programme (1)
Lorganisation mmoire
Mmoire Programme (2)
108
Lorganisation mmoire
Mmoire de donnes
Universit de Savoie
110
1. Introduction
Chaine de compilation : exemple de CCS V3.3
Program.c
*.asm, *.c
module.h
Module.h54
program.cdb
Generate
programcfg.h54
Compile or
Assemble
program.obj
*.obj
Programcfg_c.c
programcfg.s54
Programcfg.h
Assemble
Compile
programcfg.obj
programcfg_c.obj
programcfg.cmd
program.cmd
Link
program.out
112
1. Introduction
Emulateur JTAG
HOST
TARGET
CCS
JTAG
Interface
JTAG
Emulator
DSP
Target
JTAG est un outil puissant pour faire du debug logiciel bas niveau. Son
implementation demande une carte quipe dun mulateur JTAG. Celui-ci est
parfois jumel avec la connectivit USB qui alimente la carte.
Sur le starter kit DSK5416, lmulateur JTAG est intgr : chargement du
code, execution en pas pas, breakpoint, visualisation de la mmoire
113
Linterface et la compilation
Chane de compilation (3)
projet.pjt :
fichier contenant lensemble des options du projet et qui fourni le lien
vers tous les fichiers que contient le projet.
program.c :
Programme source en langage C contenant la fonction main(). Nous
pouvons aussi avoir dautres fichier.c pour les fonctions utilisateur.
program.asm :
Programme source en assembleur contenant la fonction main(). Nous
pouvons aussi avoir dautres fichier.asm pour les fonctions utilisateur.
header.h :
Fichier header pour les dclaration des fonctions ou variables du langage
C utilises dans le projet.
Universit de Savoie
114
Linterface et la compilation
Chane de compilation (4)
header.h54 :
Fichier header pour les dclaration des fonctions ou variables assembleur
utilises dans le projet.
librairie.lib :
Librairie compile. Ce genre de fichier est souvent donn par le
constructeur pour fournir des fonctions utilisateurs spcifiques pour son
composant.
program.obj :
Fichier objet. Cest un fichier compil depuis une fichier assembleur ou
un fichier C.
command.cmd:
Fichier de commande. Indispensable pour le linker afin quil dfinisse
lemplacement des variables et du code en mmoire.
Linterface et la compilation
Chane de compilation (5)
Fichier gnr par la chaine de compilation
program.out :
Cest le programme excutable pour une cible spcifique. Il sagit
du code charg en mmoire.
program.lst :
Fichier listing, il sagit dun fichier o sont superposs le code en
C, le code assembleur gnr, le code machine gnr, et les
adresses mmoires utilises pour chaque instruction.
program.map :
Fichier mapping, il sagit dun fichier rsumant toutes les
quantits et les zones mmoires utilises.
>> Document dexemples de code
Linterface et la compilation
Outils de dbogage
Type doutils
Emulateur
Boundary-scan (JTAG)
DSP
Emulateur
ou
IDE
Contrleur JTAG
Dfinition de breakpoints
et modification des variables
Rcupration des donnes
depuis la mmoire du DSP
Oprations
Interruption et relance de
lexcution
Chargement du code
Breakpoints
Accs en lecture/criture
Visualisation et modification du
contenu mmoire
Registres internes
117
Linterface et la compilation
Affichage du code dsassembl
#define N 256
short inputData[N];
short outputData[N];
void toto()
{
int i;
for (i=0; i<N; i++)
{
outputData[i] = inputData[i];
}
}
Universit de Savoie
119
Les librairies
Avantages d'une librairie
Il existe plusieurs librairies :
120
Les librairies
Exemple : Board Support Library
Ces fonctions font parties des librairies de la carte (Board Support Library)
>> Voir
C:\CCStudio_v3.1\docs\hlp\C5416DSK.HLP
Universit de Savoie
121
Les librairies
Exemple : Chip Support Library
Universit de Savoie
122
Les librairies
Exemple : DSPLIB
Dj programme
Optimise
Utilisable depuis le langage C
Exemple :
Les librairies
Vue synoptique des modules utiles
User Application
Logiciel applicatif
Abstraction du matriel
et systme dexploitation
DSP/BIOS
Kernel/Scheduler
USB/
JTAG
CSL
Dsplib
Imglib
BSL
Drivers
McBSP
DSP
CODEC
LED
Boutons
Carte DSK
Universit de Savoie
124