1.6.5.3 CPU Interrupt Flag Register (IFR)
The CPU interrupt flag register (IFR), is a 16-bit, CPU register and is used to identify and clear pending
interrupts. The IFR contains flag bits for all the maskable interrupts at the CPU level (INT1-INT14, DLOGINT and
RTOSINT). When the PIE is enabled, the PIE module multiplexes interrupt sources for INT1-INT12.
When a maskable interrupt is requested, the flag bit in the corresponding peripheral control register is set to 1.
If the corresponding mask bit is also 1, the interrupt request is sent to the CPU, setting the corresponding flag in
the IFR. This indicates that the interrupt is pending or waiting for acknowledgment.
To identify pending interrupts, use the PUSH IFR instruction and then test the value on the stack. Use the OR
IFR instruction to set IFR bits and use the AND IFR instruction to manually clear pending interrupts. All pending
interrupts are cleared with the AND IFR #0 instruction or by a hardware reset.
The following events also clear an IFR flag:
• The CPU acknowledges the interrupt.
• The 28x device is reset.
Note
1. To clear a CPU IFR bit, you must write a zero to it, not a one.
2. When a maskable interrupt is acknowledged, only the IFR bit is cleared automatically. The flag bit
in the corresponding peripheral control register is not cleared. If an application requires that the
control register flag be cleared, the bit must be cleared by software.
3. When an interrupt is requested by an INTR instruction and the corresponding IFR bit is set, the
CPU does not clear the bit automatically. If an application requires that the IFR bit be cleared, the
bit must be cleared by software.
4. IMR and IFR registers pertain to core-level interrupts. All peripherals have their own interrupt
mask and flag bits in their respective control/configuration registers. Note that several peripheral
interrupts are grouped under one core-level interrupt.
Figure 1-102. Interrupt Flag Register (IFR) — CPU Register
15
14
13
12
11
10
9
8
RTOSINT
DLOGINT
INT14
INT13
INT12
INT11
INT10
INT9
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
7
6
5
4
3
2
1
0
INT8
INT7
INT6
INT5
INT4
INT3
INT2
INT1
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
LEGEND: R/W = Read/Write; R = Read only; -
n
= value after reset
System Control and Interrupts
SPRUH18I – JANUARY 2011 – REVISED JUNE 2022
TMS320x2806x Microcontrollers
185
Copyright © 2022 Texas Instruments Incorporated
Summary of Contents for TMS320 2806 Series
Page 2: ......