background image

1

1

K

2

1

Procesory DSP – 2012

Materiały ilustracyjne do wykładu

cz – V-1

Przerwania i ich rola

(uzupełnienia dla c55xx)

Przygotowane z wykorzystaniem materiałów 
udostępnionych przez firmę Texas Instruments 

Dr inż. Krzysztof Kardach

(ver. 8.3 listopad 2012)

2

K

2

2

Wykaz wykorzystanych materiałów 



Li Tan „Digital Signal Processing 

„Digital Signal Processing 

„Digital Signal Processing 

„Digital Signal Processing – Fundamentals and Applications” ;

” ;

” ;

” ;

DeVry University Decatur, Georgia, Elsevier 2008



S.M Kuo, B.H.Lee „Real

„Real

„Real

„Real----Time Digital Signal Processing” 

Time Digital Signal Processing” 

Time Digital Signal Processing” 

Time Digital Signal Processing” ––––

implementations, applications, and experiments with the TMS320C55x”; 

John Wiley & Sons, 2006



CCS v5 WIKI -

http://processors.wiki.ti.com/index.php/Category:Code_Composer_Studio_

v5



Bruno Pillard „An Introduction To Digital Signal Processors”;

„An Introduction To Digital Signal Processors”;

„An Introduction To Digital Signal Processors”;

„An Introduction To Digital Signal Processors”; Uniwersytet 

Sherbrooke



TMS320C

TMS320C

TMS320C

TMS320C5515

5515

5515

5515 DSP 

DSP 

DSP 

DSP System Users Guide 

System Users Guide 

System Users Guide 

System Users Guide [sprufx5d.pdf ]



TMS320C5

TMS320C5

TMS320C5

TMS320C55x Technical Overview  

5x Technical Overview  

5x Technical Overview  

5x Technical Overview  [spru393g.pdf]



TMS320C5

TMS320C5

TMS320C5

TMS320C55x  CPU Reference Guide  

5x  CPU Reference Guide  

5x  CPU Reference Guide  

5x  CPU Reference Guide  [spru371f.pdf]



TMS320C55x

TMS320C55x

TMS320C55x

TMS320C55x DSP v3.x CPU Reference Guide [swpu073e.pdf]



TMS320C5515 Fixed-Point Digital Signal Processor  

[sprs645e.pdf]



TMS320C5

TMS320C5

TMS320C5

TMS320C55555x 

x CPU 

CPU 

CPU 

CPU Mnemonic Instruction Set

Mnemonic Instruction Set

Mnemonic Instruction Set

Mnemonic Instruction Set RG

RG

RG

RG [swpu067e.pdf]



TMS320C5

TMS320C5

TMS320C5

TMS320C55555x 

x Assemby Language UG

Assemby Language UG

Assemby Language UG

Assemby Language UG [spru280i.pdf]

19 November 2012

Procesory sygnałowe 1 / V-1

background image

2

3

K

2

3

Co chcemy rozpoznać *



Przerwania skąd i po co?



Podstawowe pojęcia



Sekwencja czynności



Angażowane zasoby

19 November 2012

Procesory sygnałowe 1 / V-1



Źródła i ich obsługa



Ważność przerwań - priorytety



Przygotowanie przerwania



Obsługa – kto za co odpowiada?



Utrudnienia w działaniu przerwań



Możliwości

4

K

2

4

Co to jest przerwanie?



Sygnał sterowany sprzętowo lub programowo, wzywający procesor 
do zawieszenia aktualnie wykonywanego programu i wykonania 
innego zadania, zwanego procedurą obsługi przerwania - Interrupt
Service Routine (ISR).



Mechanizm przerwań to sposób synchronizacji z programem 
asynchronicznych względem programu zdarzeń



Sposoby zgłoszenia przerwania 



Sprzętowe



Zewnętrznym sygnałem elektrycznym



Stanem/zdarzeniem wewnątrz procesora



Programowe 



Ustawieniem bitu-flagi przerwania



Wykonaniem rozkazu przerwania programowego



19 November 2012

Procesory sygnałowe 1 / V-1

background image

3

5

K

2

5

4 główne fazy obsługi przerwania  

(cd)

1.

Otrzymanie zgłoszenia - sprzętowe lub programowe włączenie 
sygnału potrzeby zawieszenia wykonywanego aktualnej sekwencji 
rozkazów

2.

Potwierdzenie otrzymania zgłoszenia – Procesor musi 
potwierdzić otrzymanie sygnału po sprawdzeniu warunków (np. 
masek). Dla przerwań nie maskowalnych potwierdzenie jest 
natychmiastowe.

3.

Przygotowanie uruchomienia procedury ISR. W ramach tego 
przygotowania procesor 

i.

Kończy aktualny rozkaz, 

ii.

Usuwa z kolejki rozkazy, które nie zostały zdekodowane

iii.

Automatycznie zachowuje na stosie wybrane rejestry (PC, 
CFCT – control-flow-context, itd. zależnie od konfiguracji)

iv.

Pobiera wektor z tabeli

v.

Pobrany wektor wskazuje adres procedury ISR

4.

Wykonanie procedury ISR – Procesor wykonuje przygotowaną 
procedurę ISR (może zawierać uzupełniające elementy Contex-
Save/-Restore. ISR kończy się instrukcją „return-from-interrupt” z 
odtworzeniem zawartości automatycznie zachowanych rejestrów



19 November 2012

Procesory sygnałowe 1 / V-1

6

K

2

6

19 November 2012

Procesory sygnałowe 1 / V-1

. . . 

W tabeli; 
 Rejestry rejestrujące wystąpienie zdarzenia/sygnału – Flag Reg.
 Rejestry zezwalające na obsługę zdarzenia / sygnału – Enable Reg.
 Rejestry zgody na debugowanie – Debug Interrupt Enable
 Rejestry wskaźników tablic z wektorami przerwań, stosu (niewidoczny tutaj)

Rejestry MMR w obsłudze przerwań  

(cd)

background image

4

7

K

2

7

Co chcemy rozpoznać *



Przerwania skąd i po co?



Źródła i ich obsługa



Zewnętrzne



Wewnętrzne

19 November 2012

Procesory sygnałowe 1 / V-1



Ważność przerwań - priorytety



Przygotowanie przerwania



Obsługa – kto za co odpowiada?



Utrudnienia w działaniu przerwań



Możliwości

8

K

2

8

Zewnętrzne źródła przerwań w ‘C5515



2 maskowalne przerwania 
zewnętrzne  (INT0-1)



2 niemaskowalne przerwania 
zewnętrzne (NMI, RESET)



NMI wstrzymywane przez 
repetycje rozkazu i HOLD



Sygnał potwierdzenia podjęcia 
obsługi przerwania (IACK)

'C5515

RESET

INT0-1

NMI

IACK

Zalecenia



Uwaga na użycie  NMI jako przerwania wysokiego priorytetu, bo stan INTM nie 
jest zachowywany!!!. Zatem wracając z NMI do przerwanego wątku głównego 
programu możemy zastać inne warunki wykonywania przerwań!



Używaj  NMI tylko wtedy, gdy nie zamierzasz powrócić do przerwanego kodu



19 November 2012

Procesory sygnałowe 1 / V-1

background image

5

9

K

2

9



RESET programowy
(nie zmienia wielu rejestrów)



Dedykowane zabezpiecz.



Czasowe RTC/Timer (wspólne)



Przetwornika DMA (wspólne)



I2S1-2 T/R/ MMC/SD1-2 



Interfejsy (EMIF, I2C, I2S, 
MMC/SD, USB, UART)



LCD



Przerwania programowe

'C5515

SW Reset
RTOS
DLOG
BERR
DMA
TINT
RTC SPI
SAR
USB
EMIF
I2C
I2Sn
LCD
MMC/SD
UART

Wewnętrzne źródła przerwań w ‘C5515



19 November 2012

Procesory sygnałowe 1 / V-1

10

K

2

10

Na drodze do obsługi przerwania *



Źródła przerwań w procesorze



Rejestracja wystąpienia



DostrzeŜenie przerwania - warunki 



Rozpoznanie tylko między cyklami procesora (Między rozkazami )



Wymagana aktywność systemu przerwań



Konieczny brak blokady indywidualnej / przyzwolenia indywidualne



Ocena waŜności przerwania – priorytety 



Powiązanie zdarzenia z programem obsługi (ISR) wymaga



Stosu / stosów



Adresu wektora przerwania



Tablica wektorów przerwań



Warunki dobrego działania przerwania wymagają



Zachowanie stanu  / dorobku przerwanego programu



Przygotowanej procedury obsługi zdarzenia - ISR



Odtworzenie stanu  / dorobku przerwanego programu



19 November 2012

Procesory sygnałowe 1 / V-1

background image

6

11

K

2

11

Co chcemy rozpoznać *



Przerwania skąd i po co?



Źródła i ich obsługa



Ważność procedur przerwań - priorytety



Potrzeba priorytetów



Organizacja ważności procedur

19 November 2012

Procesory sygnałowe 1 / V-1



Przygotowanie przerwania



Obsługa – kto za co odpowiada?



Utrudnienia w działaniu przerwań



Możliwości

12

K

2

12

19 November 2012

Procesory sygnałowe 1 / V-1

Przerwania w C5515 wg. zadań 

(1)

background image

7

13

K

2

13

19 November 2012

Procesory sygnałowe 1 / V-1

Dla danych w tabeli przerwań; 

 Adresy wektorów tworzy się zgodnie z danymi slajdu 8.

 Możliwość wykorzystania zależy od konfiguracji pracy

 M

Przerwania w C5515 wg zadań 

(2)

14

K

2

14

19 November 2012

Procesory sygnałowe 1 / V-1

Przerwania w C55xx wg priorytetów  

(cd)

background image

8

15

K

2

15

19 November 2012

Procesory sygnałowe 1 / V-1

Przerwania w C5515 w rejestrach IFR0 i IER0

16

K

2

16

19 November 2012

Procesory sygnałowe 1 / V-1

Przerwania w C5515 w rejestrach IFR1 i IER1

Dla danych w tabelach przerwań na slajdach 17-18 ; 

 Część flag/masek jest wspólna dla kilku kanałów (np. DMA, Timety, itd.)

 To wymaga programowych testów źródła przerwania

 Utrudnia reagowanie na pojedyncze przerwaniaM

background image

9

17

K

2

17

19 November 2012

Procesory sygnałowe 1 / V-1

Zgłoszenia indywidualne w rejestrach IFR0 i IFR1



Programowy wpis “0” do dowolnej flagi IFR

bit

jest bezskuteczny 

zatem nie da się programowo „wycofać” zgłoszenia przerwania.



IFR jest zerowany w trakcie RESET

;Przerwanie zgłaszane: “1” np.

set_INT0: OR

#4,*(IFR0)

IFR0

IFR1

18

K

2

18

19 November 2012

Procesory sygnałowe 1 / V-1

Zezwolenia indywidualne w rejestrach IER0 i IER1

IER0

IER1

;zablok. (disable):  0

INT zablokowane

;odblok.  (enable):  1 

INT odblokowane

set:

MOV

#4,*(IER0)

;odblok. INT1

modify:

OR 

#40h,*(IER1)

;odblok. EMIF

AND

#0FFBFh,*(IER0)

;zablok. UART

background image

10

19

K

2

19

Co chcemy rozpoznać *



Przerwania skąd i po co?



Źródła i ich obsługa



Ważność procedur przerwań – priorytety



Przygotowanie przerwania - koncepcja



Przygotowanie procedury ISR



Powiązanie ISR z wektorem w tablicy / tablicach



Konfiguracja rejestrów procesora

19 November 2012

Procesory sygnałowe 1 / V-1



Obsługa – kto za co odpowiada?



Utrudnienia w działaniu przerwań



Możliwości

20

K

2

20

Na drodze do obsługi przerwania *



Źródła przerwań w procesorze



Rejestracja wystąpienia



DostrzeŜenie przerwania - warunki 



Rozpoznanie tylko między cyklami procesora (Między rozkazami )



Wymagana aktywność systemu przerwań



Konieczny brak blokady indywidualnej / przyzwolenia indywidualne



Ocena waŜności przerwania – priorytety 



Powiązanie zdarzenia z programem obsługi (ISR) wymaga



Stosu / stosów



Adresu wektora przerwania



Tablica wektorów przerwań



Warunki dobrego działania przerwania wymagają



Zachowanie stanu  / dorobku przerwanego programu



Przygotowanej procedury obsługi zdarzenia - ISR



Odtworzenie stanu  / dorobku przerwanego programu



19 November 2012

Procesory sygnałowe 1 / V-1

background image

11

21

K

2

21

19 November 2012

Procesory sygnałowe 1 / V-1

T

a

b

e

la

 o

b

ja

śn

ia

 sp

o

b

 

tw

o

rz

e

n

ia

 a

d

re

su

 w

e

kt

o

ra

 

p

rz

e

rw

a

n

ia

 w

ska

z

u

ce

g

o

 n

a

 

lo

ka

c

 w

 t

a

b

licy

 w

e

kt

o

w

 

p

rz

e

rw

a

ń

Adresy 
wektorów 
przerwań

22

K

2

22

19 November 2012

Procesory sygnałowe 1 / V-1

Blokada systemu przerwań w ST1_55



Nie wpływa na bity indywidualne bity indywidualne ENABLE w IERn



po RESET  INTM=1 (INT disabled - zablokowane)



Uwaga! INTM to MASKA – blokuje przerwania gdy =1



IERn to bity ZEZWOLENIA – Enable, blokują gdy = 0  

ST1_55

enable

:   BCLR   INTM

;INTM = 0, maska skas. - INT odblokowane

disable

:   BSET   INTM

;INTM = 1, maska ustaw. - INT zablokowane 

background image

12

23

K

2

23

Rozpoznawanie przerwań



Zewnętrzne sygnały muszą spełnić warunki czasowe



IFR

bit

musi zostać ustawiony na: “1” by zgłosić



IERn

bit

musi być ustawiony na: “1” (odblokowany)



INTM musi być ustawiony na: “0” (odblokowany)

Zdarzenia/warunki niezbędne do rozpoznania przerwania?

INTx

INTy

0

1

0

(IFRn)

„latch"

(IERn)

„klucz"

(INTM)

„DUŻY klucz"

’54xx

rdzeń

2

2

0

1

0

1

0

1

1

0

Procesor



19 November 2012

Procesory sygnałowe 1 / V-1

24

K

2

24

Co chcemy rozpoznać *



Przerwania skąd i po co?



Źródła i ich obsługa



Ważność procedur przerwań – priorytety



Przygotowanie przerwania - koncepcja



Przygotowanie procedury ISR



Powiązanie ISR z wektorem w tablicy / tablicach



Konfiguracja rejestrów procesora

19 November 2012

Procesory sygnałowe 1 / V-1



Obsługa – kto za co odpowiada?



Utrudnienia w działaniu przerwań



Możliwości

background image

13

25

K

2

25

Główne problemy  

(cd)



Przygotowanie do przerwania i jego elementy



Przerwania a RESET



Wiele tablic przerwań – więcej wariantów obsługi



Podział przerwań



Maskowalne / Niemaskowalne



Wewnętrzne / Zewnętrzne



Sprzętowe / Programowe



Główne INT dla DSP; DMA i Timery



Przerwanie a repetycje



Przerwanie jako mechanizm organizacji pracy



19 November 2012

Procesory sygnałowe 1 / V-1

26

K

2

26

działania CPU 

opis

1 → INTM

Blokada ogólna przerwań

Po podjęciu obsługi przerwania ...

Rejestry na stosy po dekrementacji SP i SSP

Vector(n) → PC

adres wektora przerwania „n” do  PC 

0 → IACK pin

wyjście sygnału IACK na „0”  (dla zewn. mask)

0 → IFR (n)

kasowanie bitu flagi przerwania „n”



19 November 2012

Procesory sygnałowe 1 / V-1

PC

[23-16]

, DBSTAT, ST0_55  TOSS

PC

[15-0]

, ST1_55, ST2_55    TOS

background image

14

27

K

2

27

Stos

size

.set

100h

stack .usect "STK",size

File.ASM

MEMORY {

PAGE 1:

STKRAM: org=3F00h len=0200h

}

SECTIONS {

STK  :>  STKRAM PAGE 1

}

Linker_conf.CMD

.sect “code”

MOV

#stack+size,*(SP)



Definiowanie stosu:

1.  Zadeklarować nieinicjalizowaną

sekcję odpowiedniego rozmiaru.

2.  Zainicjować wskaźnik stosu (SP) 

by wskazał “ szczyt stosu +1”:



SP wskazuje ostatnią zajętą
komórkę zatem dla;

CALL:

PC 

*--(SP)

RET:

*(SP)++ 

PC

3.  Ulokować stos w pamięci

- Zaleca się w pamięci wewnętrznej

0

(SP)

size

stack

Uwaga na MMR!

Pam.Danych

S

to

s









19 November 2012

Procesory sygnałowe 1 / V-1

Zachowanie i odtworzenie stanu procesora

[context save / context restore] – PSH  /   POP

Dla STOSÓW!! pamiętać o odwrotnej kolejności pobierania od kolejności zachowania!



Na stos / stosy

Ze stosu  / stosów

PSH src1, src2

POP dst1, dst2

PSH src

POP dst

PSH src,Smem

POP dst, Smem

PSH dbl(ACx)

POP dbl(ACx)

PSH Smem

POP Smem

PSH dbl(Lmem)

POP dbl(Lmem)

PSHBOTH xsrc

xsrc(0-15)   *--(SP)

xsrc(16-31)   *--(SSP)

POPBOTH xdst

*(SP)++ → xdst(0-15) 

*(SSP)++ → xdst(16-32)

K

2

19 November 2012

Procesory sygnałowe 1 / V-1

background image

15

29

K

2

29

19 November  2012

Procesory  sygnałowe  1 / V-1

Strategia context save – context restore



Zachowaj na stosie rejestry, których uŜywa procedura ISR



Pamiętaj, Ŝe stos to pamięć LIFO – zatem pobieraj ze stosu w 
odwrotnej kolejności do zachowywania



Jeśli chcesz dopuścić inne przerwania w trakcie juŜ obsługiwanego 
przygotuj się do tego nie tylko przez odblokowanie przerwania!



W zagłębionym przerwaniu przestrzegaj wszystkich 
prezentowanych wcześniej zasad



Wracając z procedury obsługi dobierz właściwy rozkaz powrotu –
z lub bez odblokowania przerwań



30

K

2

30

Zagłębianie przerwań

; może wejść 
; zagłębiona ISR  od INT0. . .
; uwaga na rejestry!!!

BCLR

#11,ST1_55

BSET

#2,IER0

PSH

ST1_55

BSET

#11,ST1_55

POP

ST1_55

M

RETI

Zachowaj stan rejestru IER

Odblokuj tylko przerwanie 2

odblokuj przerwania

Zablokuj przerwania INTM  =1

odtwórz stan rejestru  IER



19 November 2012

Procesory sygnałowe 1 / V-1

background image

16

31

K

2

31

Rozkazy powrotu



19 November 2012

Procesory sygnałowe 1 / V-1

Instrukcja

Wykonanie

Cykli

RET

5

RETI

5

RETCC  cond

5

32

K

2

32

19 November  2012

Procesory  sygnałowe  1 / V-1

Tablica wektorów –

np.   .sect

”vectors”

.sect

“vectors”

RSV:

B

Reset

NOP
NOP

NMV:

Tu wstaw procedurę

obsługi NMI M

...

IV1:

B

ISR1

????       NOP
NOP        ???

IV2:

B

ISR2

????       NOP
NOP        ???
...



Każdy wektor ma zawsze
8 bajtów 



Wektory nie używane:

IVn:

B

IVn

NOP
NOP

IVn:

B

Sygnał

NOP
NOP

Debugowanie

Praca

IVn:

RETI      
NOP
NOP



background image

17

33

K

2

33

Rejestry pod wpływem operacji H&W i S&W RESET



K

2

19 November 2012

Procesory sygnałowe 1 / V-1

Rejestr

Bity

RESET sprzęt.

Rozkaz RESET

BSA01 
BSA23 
BSA45
BSA67

wszystkie
wszystkie
wszystkie
wszystkie

0
0
0
0

x
x
x
x

DBIER0, DBIER1

wszystkie

0

x

IER0, IER1

wszystkie

0

x

IFR0, IFR1

IVPD, IVPH

wszystkie
wszystkie

0

0xFFFF

0

x

RPTC

wszystkie

0

x

ST0_55, ST1_55
ST2_55, ST3_55

Rozmaicie
Rozmaicie

Rozmaicie
Rozmaicie

Jak dla H&W
Jak dla H&W

XAR0-XAR7, XSP

[22-16]

0

x

T2, XXDP

wszystkie

0

0



x – rejestr nie zmieniany



Dokładne dane w dokumencie swpu073e.pdf  [C55xx_v3.x 
CPU RefGuide] rozdz. 5.5.

34

K

2

34

Adres ISR z tablicy wektorów przerwań po 
RESET

sprzętowym

Tworzenie 

adresu 

wektora

po Reset sprzętowym

15 14 13 12 11 10 9

8

7

6

5

4

3

2

1

0

15 14 13 12 11 10 9

8

7

6

5

4

3

2

0

0

0

0

0

x

x

x

x

x

1

0

0

0

co 8-my

adresy

Po każdym innym INT

Numer wektora z 

sytemu przerwań 

<----- n = 0 ----->

<--nr  INT-->

<--nr  INT->



19 November 2012

Procesory sygnałowe 1 / V-1

0

23 22 21 20 19 18 17 16

1

1

1

1

1

1

1

1

1

IVPD / IVPH

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

background image

18

Kto, co i kiedy? – przygotowuje / uruchamia /  wykonuje

1. Przypisanie źródeł przerwań

2. Przygotowanie tabeli wektorów INT

3. Przygotowanie programów obsługi (ISR)

4. Odblok. INT indywidualnych

5. Odblok.  Global INT

P

R

Z

Y

G

O

T

O

W

A

N

IE

10. U. Context Save/ ISR /U. Context Restore

11. Return do przerwanego  programu.  

I

S

R

C

P

U

6.

Dostrzeżenie sygnału

7.

Ustawienie Flag INT

8.

INT Odblok.?        skok do  ISR

9.

Częściowe CONTEXT SAVE / RESTORE

Projektant

Procesor

Program

TAK



K

2

19 November 2012

Procesory sygnałowe 1 / V-1

36

K

2

36

Adres ISR z tablicy wektorów przerwań po 
rozkazie RESET – reset programowy!



19 November 2012

Procesory sygnałowe 1 / V-1

Tworzenie 

adresu 

wektora

15 14 13 12 11 10 9

8

7

6

5

4

3

2

1

0

15 14 13 12 11 10 9

8

7

6

5

4

3

2

0

0

0

0

0

x

x

x

x

x

1

0

0

0

co 8-my

adresy

Po każdym innym INT

Numer wektora z 

sytemu przerwań 

<----- n = 0 ----->

<--nr  INT-->

<--nr  INT->

0

23 22 21 20 19 18 17 16

IVPD /IVPH

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

Reset programowy – rozkaz RESET 

background image

19

37

K

2

37

Wskazanie innego położenia 
tablicy wektorów przerwań



Wymaga przygotowania IVPD i RESETu programowego



Uwaga! rozkaz RESET  ustala stany wielu elementów tak jak 

RESET-SPRZĘTOWY



By uŜywać nowej tablicy wektorów przerwań w tych samych 

warunkach realizowanego programu naleŜy zapamiętać stan 

procesora by go odtworzyć w wymaganym zakresie po RESET 

programowym



K

2

19 November 2012

Procesory sygnałowe 1 / V-1

38

K

2

38

Przerwania programowe - rozkazy

INTR k

TRAP k

RESET



k:  numer przerwania [nr] (patrz tablica )



INTR = TRAP + „1”  INTM (blokada przerwań)



Rozkaz RESET działa jak RESET sprzętowy ale nie zmienia wielu 
rejestrów w tym IVPD / IVPH, można zatem wcześniej przygotować 
zawartość IVPD i odpowiadającą tej lokacji tablicę wektorów 



K

2

19 November 2012

Procesory sygnałowe 1 / V-1

background image

20



Przebieg reakcji na s.przerwania



Gdy żądanie maskowalnego przerwania



Ustawienie odpowiadającego bitu IFR

bit



Testowanie IER

bit

i INTM, 



jeśli spełniony wystawia IACK=0



Jeśli nie, wraca do przerwanego programu



Jeśli spełniony INTM=1 i IFR

bit

=0 



PC

[23-16]

, DBSTAT, ST0_55

[15-9]

=> TOSS

PC

[15-0]

, ST1_55, ST2_55 => TOS 



Skok do procedury ISR i jej wykonanie z 
uzupełniającym mContext S/R, kończone RETI



Procesor Contex Restore

( ze stosów odwrotnie niż wyżej)



Kontynuacja przerwanego programu



Gdy żądanie niemaskowalnego przerwania



Natychmiastowe potwierdzenie sygnałem IACK=0



Ustawia INTM=1 po NMI, RESET a INTRn -> IFR

n

=0



Context Store (

na stosy) ... i jak wyżej

..



Dla przerwań „Time Critical”



Praca w zależności od zgody na debugging

K

2

19 November 2012

Procesory sygnałowe 1 / V-1

Procesor 

Context 

Save

40

K

2

40

19 November 2012

Procesory sygnałowe 1 / V-1

Program

Start Byte

DANE

Start Word

Obszar

Pamięć

Wielkość

[Bajty]

0x00 0000

0x00 0000

MMR

192

0x00 00C0

0x00 0060

DARAM0

8K-192

0x00 2000

0x00 1000

DARAM1
DARAM2

*

DARAM6
DARAM7

INTERNAL

7 x 8K

= 56K

0x01 0000

0x00 8000

SARAM0
SARAM1

*.

SARAM30
SARAM31

32 x 8K 

= 256K

0x05 0000

0x02 8000

CE0 / CE1

7,687M

0x80 0000

0xC0 0000
0xE0 0000

0xF0 0000

0x40 0000
0x60 0000
0x70 0000
0x78 0000

CE2
CE3
CE4
CE5

EXTERNAL

4M
2M
1M

896K

0xFE 0000
0xFE 8000
0xFF 0000
0xFF 8000

0x7F 0000
0x7F 4000
0x7F 8000

0x7F C000

SAROM0
SAROM1
SAROM2
SAROM3

Internal ROM

32K
32K
32K
32K

background image

21

41

K

2

41

19 November 2012

Procesory sygnałowe 1 / V-1

42

K

2

42

Środowisko przerwań



19 November 2012

Procesory sygnałowe 1 / V-1

background image

22

43

K

2

43

Na co zwrócić szczególną uwagę 

Zestaw występujących peryferii w procesorze DSP ’C55xx

Praca z  procesorem układów pamięci i we/wy

Jakie źródła przerwań wewnętrznych występują w procesorze ’C55xx?

Jak można rozróżnić przerwania zgłaszane tą samą linią / sygnałem?

Na czym polega koncepcja „przerwań programowych” i jak jest realizowana 

w praktyce?

Co należy ustawić by umożliwić procesorowi reakcję na przerwanie?

• Jakie czynniki wpływają na opóźnienie przerwania?

• Co to jest wektor przerwania?

• Jak tworzony jest adres wektora przerwania

• Co to jest i co odróżnia flagi przerwań, maskę przerwań i bity „Enable” dla 

przerwań  

•...



K

2

19 November 2012

Procesory sygnałowe 1 / V-1