@@ -46,6 +46,7 @@ with System;
4646with HAL ; use HAL;
4747
4848package Cortex_M.NVIC is -- the Nested Vectored Interrupt Controller
49+ pragma Elaborate_Body;
4950
5051 type Interrupt_ID is new Natural range 0 .. 240 ;
5152 type Interrupt_Priority is new UInt32;
@@ -65,7 +66,6 @@ package Cortex_M.NVIC is -- the Nested Vectored Interrupt Controller
6566 -- 4 bits for pre-emption priority; 0 bits for subpriority
6667 Priority_Group_4 : constant UInt32 := 16#00000003# ;
6768
68-
6969 procedure Set_Priority_Grouping (Priority_Group : Interrupt_Priority)
7070 with Inline ;
7171
@@ -110,7 +110,6 @@ private
110110 type Words is array (Natural range <>) of UInt32;
111111 type UInt8s is array (Natural range <>) of UInt8;
112112
113-
114113 type Nested_Vectored_Interrupt_Controller is record
115114 ISER : Words (0 .. 7 );
116115 -- Interrupt Set Enable Register
@@ -151,7 +150,6 @@ private
151150 STIR at 3584 range 0 .. 31 ; -- 4 UInt8s
152151 end record ;
153152
154-
155153 type System_Control_Block is record
156154 CPUID : UInt32;
157155 -- CPUID Base Register (read-only)
@@ -221,7 +219,6 @@ private
221219 CPACR at 136 range 0 .. 31 ; -- Offset: 0x088
222220 end record ;
223221
224-
225222 SCS_Base : constant := 16#E000_E000# ;
226223 -- system control space base address
227224 NVIC_Base : constant := SCS_Base + 16#0100# ;
@@ -238,7 +235,6 @@ private
238235 Address => System'To_Address (NVIC_Base);
239236 pragma Import (Ada, NVIC);
240237
241-
242238 SCB_AIRCR_PRIGROUP_Pos : constant := 8 ;
243239 SCB_AIRCR_PRIGROUP_Mask : constant UInt32 :=
244240 Shift_Left (7 , SCB_AIRCR_PRIGROUP_Pos);
0 commit comments