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 |