ST10R272L - INTERRUPT AND TRAP FUNCTIONS
95/320
does not require to re-enable the interrupt system after the inseparable instruction
sequence.
6.4
Interrupt class management
An interrupt class covers a set of interrupt sources with the same priority. Interrupts of the
same class must not interrupt each other. This is supported with two features:
•
Classes with up to 4 members can be established by using the same interrupt priority
(ILVL) and assigning a dedicated group level (GLVL) to each member. This functionality
is built-in and handled automatically by the interrupt controller.
•
Classes with more than 4 members can be established by using a number of adjacent
interrupt priorities (ILVL) and the respective group levels (4 per ILVL). Each interrupt
service routine within this class, sets the CPU level to the highest interrupt priority within
the class. All requests from the same or any lower level will be blocked, i.e. no request
from that class will be accepted.
The example below establishes 3 interrupt classes which cover 2 or 3 interrupt priorities,
depending on the number of members in a class. A level-6 interrupt, disables all other
sources in class-2 by changing the current CPU level to 8 - the highest priority (ILVL) in
class-2. Class-1 requests or PEC requests are still serviced in this case.
The 24 interrupt sources (excluding PEC requests) are assigned to 3 priority classes rather
than to 7 different levels, (as would happen in hardware support).
ILVL
(Priority)
GLVL
Interpretation
3
2
1
0
15
PEC service on up to 8 channels
14
13
12
X
X
X
X
Interrupt class-1: 8 sources on 2 levels
11
X
X
X
X
10
9
Table 17 Software controlled interrupt classes (example)