Contents
xii
7
Interrupts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Describes the TMS320C62x/C67x interrupts, including reset and nonmaskable interrupts
(NMI), and explains interrupt control, detection, and processing.
7.1
Overview of Interrupts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.1
Types of Interrupts and Signals Used
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.2
Interrupt Service Table (IST)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.3
Summary of Interrupt Control Registers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2
Globally Enabling and Disabling Interrupts
(Control Status Register–CSR)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3
Individual Interrupt Control
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.1
Enabling and Disabling Interrupts (Interrupt Enable Register–IER)
. . . . . . . .
7.3.2
Status of, Setting, and Clearing Interrupts
(Interrupt Flag, Set, and Clear Registers–IFR, ISR, ICR)
. . . . . . . . . . . . . . . . .
7.3.3
Returning From Interrupt Servicing
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4
Interrupt Detection and Processing
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.1
Setting the Nonreset Interrupt Flag
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.2
Conditions for Processing a Nonreset Interrupt
. . . . . . . . . . . . . . . . . . . . . . . . .
7.4.3
Actions Taken During Nonreset Interrupt Processing
. . . . . . . . . . . . . . . . . . . .
7.4.4
Setting the RESET Interrupt Flag for the TMS320C62x/C67x
. . . . . . . . . . . . .
7.4.5
Actions Taken During RESET Interrupt Processing
. . . . . . . . . . . . . . . . . . . . . .
7.5
Performance Considerations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5.1
General Performance
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5.2
Pipeline Interaction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6
Programming Considerations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.1
Single Assignment Programming
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.2
Nested Interrupts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.3
Manual Interrupt Processing
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.4
Traps
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A
Glossary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defines terms and abbreviations used throughout this book.