12 INTERRUPT CONTROLLER (ITC)
S1C33L26 TECHNICAL MANUAL
Seiko Epson Corporation
12-3
Vector No. Vector address
Interrupt name
Cause of interrupt
Priority
40 (0x28)
TTBR + 0xa0 Remote controller (REMC) interrupt • Data length counter underflow
• Input rising edge detected
• Input falling edge detected
41 (0x29)
TTBR + 0xa4 I
2
S interrupt
I
2
S FIFO whole/half/one empty
42 (0x2a)
TTBR + 0xa8 GE complete interrupt
End of command list execution
43 (0x2b)
TTBR + 0xac GE error interrupt
• Calculation error
• Drawing error
↓
44 (0x2c)
TTBR + 0xb0 USB interrupt
USB operation, bus and FIFO statuses
Low
*
1
*
1 When the same interrupt level is set
*
2 Either reset or NMI can be selected as the watchdog timer interrupt with software.
Vector numbers 16 to 44 are assigned to the maskable interrupts supported by the S1C33L26.
Vector table base address
The S1C33L26 allows the base (starting) address of the vector table to be set using the TTBR register. “TTBR”
indicated in Table 12.2.1 means the value that is set to this register. Set the TTBR register in the initial routine
executed after booting. Bits 9 to 0 of the TTBR register are fixed at 0. Therefore, the vector table starting ad-
dress always begins with a 1 KB boundary address.
Control of Maskable Interrupts
12.3
Interrupt Control Bits in Peripheral Modules
12.3.1
The peripheral module that generates an interrupt includes an interrupt enable bit and an interrupt flag for each
interrupt cause. The interrupt flag is set to 1 when the cause of interrupt occurs. By setting the interrupt enable bit
to 1 (interrupt enabled), the flag state will be sent to the ITC as an interrupt request signal, generating an interrupt
request to the C33 PE Core.
The corresponding interrupt enable bits should be set to 0 for those causes for which interrupts are not desired. In
this case, although the interrupt flag is set to 1 if the interrupt cause occurs, the interrupt request signal sent to the
ITC will not be asserted.
The interrupt flag set to 1 must be reset in the interrupt handler routine after the interrupt has occurred. The ITC
will generate the same interrupt again once the interrupt handler routine has been ended by the reti instruction with
the interrupt flag still set to 1, since it detects interrupt requests using the signal level.
For specific information on causes of interrupts, interrupt flags, and interrupt enable bits, refer to the respective pe-
ripheral module descriptions.
ITC Interrupt Request Processing
12.3.2
On receiving an interrupt signal from a peripheral module, the ITC sends the interrupt request, interrupt level, and
vector number signals to the C33 PE Core.
Vector numbers are determined by the ITC internal hardware for each interrupt cause, as shown in Table 12.2.1.
The interrupt level is a value used by the C33 PE Core to compare with the IL bits (PSR). This interrupt level is
used in the C33 PE Core to disable subsequently occurring interrupts with the same or lower level. (See Section
12.3.3.)
The default ITC settings are level 0 for all maskable interrupts. Interrupt requests are not accepted by the C33 PE
Core if the level is 0.
The ITC includes control bits (INT_LV[2:0]/ITC_
xxx
_LV register) for selecting the interrupt level, and the level
can be set to between 1 (low) and 7 (high) interrupt levels for each interrupt vector.