The predefined package Ada.Interrupts.Names contains declarations for the ERC32 as follows:
package Ada.Interrupts.Names is -- Maskable asynchronous interrupts Masked_Errors : constant Interrupt_ID := 1; External_0 : constant Interrupt_ID := 2; External_1 : constant Interrupt_ID := 3; UART_A_Rx_Tx : constant Interrupt_ID := 4; UART_B_Rx_Tx : constant Interrupt_ID := 5; Correctable_Memory_Error : constant Interrupt_ID := 6; UART_Error : constant Interrupt_ID := 7; DMA_Access_Error : constant Interrupt_ID := 8; DMA_Timeout : constant Interrupt_ID := 9; External_2 : constant Interrupt_ID := 10; External_3 : constant Interrupt_ID := 11; General_Purpose_Timer : constant Interrupt_ID := 12; Real_Time_Clock : constant Interrupt_ID := 13; External_4 : constant Interrupt_ID := 14; -- Unmaskable asynchronous interrupts Watchdog_Timeout : constant Interrupt_ID := 15; -- Events. All reserved for the run-time system System_Call : constant Interrupt_ID := 16; Breakpoint : constant Interrupt_ID := 17; Suspend : constant Interrupt_ID := 18; Program_Exit : constant Interrupt_ID := 19; Ada_Exception : constant Interrupt_ID := 20; IO_Event : constant Interrupt_ID := 21; Timer_Interrupt : constant Interrupt_ID := 22; Int_23 : constant Interrupt_ID := 23; -- Faults. Available for application health management Deadline_Error : constant Interrupt_ID := 24; Application_Error : constant Interrupt_ID := 25; Numeric_Error : constant Interrupt_ID := 26; Illegal_Request : constant Interrupt_ID := 27; Stack_Overflow : constant Interrupt_ID := 28; Memory_Violation : constant Interrupt_ID := 29; Hardware_Fault : constant Interrupt_ID := 30; Power_Fail : constant Interrupt_ID := 31; end Ada.Interrupts.Names;
The interrupt levels for the 15 interrupts are given in the following table:
Table D-1. Mapping of Interrupt Names to Priorities
Interrupt Name | Value of System.Interrupt_Priority |
---|---|
Masked_Errors | 129 |
External_0 | 130 |
External_1 | 131 |
UART_A_Rx_Tx | 132 |
UART_B_Rx_Tx | 133 |
Correctable_Memory_Error | 134 |
UART_Error | 135 |
DMA_Access_Error | 136 |
DMA_Timeout | 137 |
External_2 | 138 |
External_3 | 139 |
General_Purpose_Timer | 140 |
Real_Time_Clock | 141 |
External_4 | 142 |
Watchdog_Timeout | 143 |