------------- Registers -- -------------
type AIRCR_Register is record
Reserved_0_0 : HAL.Bit := 16#0#;
VECTCLRACTIVE : Boolean := False;
SYSRESETREQ : Boolean := False;
Reserved_3_14 : HAL.UInt12 := 16#0#;
ENDIANESS : Boolean := False;
VECTKEY : AIRCR_VECTKEY_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype AIRCR_VECTKEY_Field is HAL.UInt16;
type CCR_Register is record
Reserved_0_2 : HAL.UInt3;
UNALIGN_TRP : Boolean;
Reserved_4_8 : HAL.UInt5;
STKALIGN : Boolean;
Reserved_10_31 : HAL.UInt22;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype CPUID_ARCHITECTURE_Field is HAL.UInt4;
subtype CPUID_IMPLEMENTER_Field is HAL.UInt8;
subtype CPUID_PARTNO_Field is HAL.UInt12;
type CPUID_Register is record
REVISION : CPUID_REVISION_Field;
PARTNO : CPUID_PARTNO_Field;
ARCHITECTURE : CPUID_ARCHITECTURE_Field;
VARIANT : CPUID_VARIANT_Field;
IMPLEMENTER : CPUID_IMPLEMENTER_Field;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype CPUID_REVISION_Field is HAL.UInt4;
subtype CPUID_VARIANT_Field is HAL.UInt4;
type ICSR_Register is record
VECTACTIVE : ICSR_VECTACTIVE_Field := 16#0#;
Reserved_9_11 : HAL.UInt3 := 16#0#;
VECTPENDING : ICSR_VECTPENDING_Field := 16#0#;
Reserved_21_21 : HAL.Bit := 16#0#;
ISRPENDING : Boolean := False;
ISRPREEMPT : Boolean := False;
Reserved_24_24 : HAL.Bit := 16#0#;
PENDSTCLR : Boolean := False;
PENDSTSET : Boolean := False;
PENDSVCLR : Boolean := False;
PENDSVSET : Boolean := False;
Reserved_29_30 : HAL.UInt2 := 16#0#;
NMIPENDSET : Boolean := False;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype ICSR_VECTACTIVE_Field is HAL.UInt9;
subtype ICSR_VECTPENDING_Field is HAL.UInt9;
type MPU_CTRL_Register is record
ENABLE : Boolean := False;
HFNMIENA : Boolean := False;
PRIVDEFENA : Boolean := False;
Reserved_3_31 : HAL.UInt29 := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype MPU_RASR_ATTRS_Field is HAL.UInt16;
type MPU_RASR_Register is record
ENABLE : Boolean := False;
SIZE : MPU_RASR_SIZE_Field := 16#0#;
Reserved_6_7 : HAL.UInt2 := 16#0#;
SRD : MPU_RASR_SRD_Field := 16#0#;
ATTRS : MPU_RASR_ATTRS_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype MPU_RASR_SIZE_Field is HAL.UInt5;
subtype MPU_RASR_SRD_Field is HAL.UInt8;
subtype MPU_RBAR_ADDR_Field is HAL.UInt24;
subtype MPU_RBAR_REGION_Field is HAL.UInt4;
type MPU_RBAR_Register is record
REGION : MPU_RBAR_REGION_Field := 16#0#;
VALID : Boolean := False;
Reserved_5_7 : HAL.UInt3 := 16#0#;
ADDR : MPU_RBAR_ADDR_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype MPU_RNR_REGION_Field is HAL.UInt4;
type MPU_RNR_Register is record
REGION : MPU_RNR_REGION_Field := 16#0#;
Reserved_4_31 : HAL.UInt28 := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype MPU_TYPE_DREGION_Field is HAL.UInt8;
subtype MPU_TYPE_IREGION_Field is HAL.UInt8;
type MPU_TYPE_Register is record
SEPARATE_k : Boolean;
Reserved_1_7 : HAL.UInt7;
DREGION : MPU_TYPE_DREGION_Field;
IREGION : MPU_TYPE_IREGION_Field;
Reserved_24_31 : HAL.UInt8;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype NVIC_IPR0_IP_0_Field is HAL.UInt2;
subtype NVIC_IPR0_IP_1_Field is HAL.UInt2;
subtype NVIC_IPR0_IP_2_Field is HAL.UInt2;
subtype NVIC_IPR0_IP_3_Field is HAL.UInt2;
type NVIC_IPR0_Register is record
Reserved_0_5 : HAL.UInt6 := 16#0#;
IP_0 : NVIC_IPR0_IP_0_Field := 16#0#;
Reserved_8_13 : HAL.UInt6 := 16#0#;
IP_1 : NVIC_IPR0_IP_1_Field := 16#0#;
Reserved_16_21 : HAL.UInt6 := 16#0#;
IP_2 : NVIC_IPR0_IP_2_Field := 16#0#;
Reserved_24_29 : HAL.UInt6 := 16#0#;
IP_3 : NVIC_IPR0_IP_3_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype NVIC_IPR1_IP_4_Field is HAL.UInt2;
subtype NVIC_IPR1_IP_5_Field is HAL.UInt2;
subtype NVIC_IPR1_IP_6_Field is HAL.UInt2;
subtype NVIC_IPR1_IP_7_Field is HAL.UInt2;
type NVIC_IPR1_Register is record
Reserved_0_5 : HAL.UInt6 := 16#0#;
IP_4 : NVIC_IPR1_IP_4_Field := 16#0#;
Reserved_8_13 : HAL.UInt6 := 16#0#;
IP_5 : NVIC_IPR1_IP_5_Field := 16#0#;
Reserved_16_21 : HAL.UInt6 := 16#0#;
IP_6 : NVIC_IPR1_IP_6_Field := 16#0#;
Reserved_24_29 : HAL.UInt6 := 16#0#;
IP_7 : NVIC_IPR1_IP_7_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype NVIC_IPR2_IP_10_Field is HAL.UInt2;
subtype NVIC_IPR2_IP_11_Field is HAL.UInt2;
subtype NVIC_IPR2_IP_8_Field is HAL.UInt2;
subtype NVIC_IPR2_IP_9_Field is HAL.UInt2;
type NVIC_IPR2_Register is record
Reserved_0_5 : HAL.UInt6 := 16#0#;
IP_8 : NVIC_IPR2_IP_8_Field := 16#0#;
Reserved_8_13 : HAL.UInt6 := 16#0#;
IP_9 : NVIC_IPR2_IP_9_Field := 16#0#;
Reserved_16_21 : HAL.UInt6 := 16#0#;
IP_10 : NVIC_IPR2_IP_10_Field := 16#0#;
Reserved_24_29 : HAL.UInt6 := 16#0#;
IP_11 : NVIC_IPR2_IP_11_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype NVIC_IPR3_IP_12_Field is HAL.UInt2;
subtype NVIC_IPR3_IP_13_Field is HAL.UInt2;
subtype NVIC_IPR3_IP_14_Field is HAL.UInt2;
subtype NVIC_IPR3_IP_15_Field is HAL.UInt2;
type NVIC_IPR3_Register is record
Reserved_0_5 : HAL.UInt6 := 16#0#;
IP_12 : NVIC_IPR3_IP_12_Field := 16#0#;
Reserved_8_13 : HAL.UInt6 := 16#0#;
IP_13 : NVIC_IPR3_IP_13_Field := 16#0#;
Reserved_16_21 : HAL.UInt6 := 16#0#;
IP_14 : NVIC_IPR3_IP_14_Field := 16#0#;
Reserved_24_29 : HAL.UInt6 := 16#0#;
IP_15 : NVIC_IPR3_IP_15_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype NVIC_IPR4_IP_16_Field is HAL.UInt2;
subtype NVIC_IPR4_IP_17_Field is HAL.UInt2;
subtype NVIC_IPR4_IP_18_Field is HAL.UInt2;
subtype NVIC_IPR4_IP_19_Field is HAL.UInt2;
type NVIC_IPR4_Register is record
Reserved_0_5 : HAL.UInt6 := 16#0#;
IP_16 : NVIC_IPR4_IP_16_Field := 16#0#;
Reserved_8_13 : HAL.UInt6 := 16#0#;
IP_17 : NVIC_IPR4_IP_17_Field := 16#0#;
Reserved_16_21 : HAL.UInt6 := 16#0#;
IP_18 : NVIC_IPR4_IP_18_Field := 16#0#;
Reserved_24_29 : HAL.UInt6 := 16#0#;
IP_19 : NVIC_IPR4_IP_19_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype NVIC_IPR5_IP_20_Field is HAL.UInt2;
subtype NVIC_IPR5_IP_21_Field is HAL.UInt2;
subtype NVIC_IPR5_IP_22_Field is HAL.UInt2;
subtype NVIC_IPR5_IP_23_Field is HAL.UInt2;
type NVIC_IPR5_Register is record
Reserved_0_5 : HAL.UInt6 := 16#0#;
IP_20 : NVIC_IPR5_IP_20_Field := 16#0#;
Reserved_8_13 : HAL.UInt6 := 16#0#;
IP_21 : NVIC_IPR5_IP_21_Field := 16#0#;
Reserved_16_21 : HAL.UInt6 := 16#0#;
IP_22 : NVIC_IPR5_IP_22_Field := 16#0#;
Reserved_24_29 : HAL.UInt6 := 16#0#;
IP_23 : NVIC_IPR5_IP_23_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype NVIC_IPR6_IP_24_Field is HAL.UInt2;
subtype NVIC_IPR6_IP_25_Field is HAL.UInt2;
subtype NVIC_IPR6_IP_26_Field is HAL.UInt2;
subtype NVIC_IPR6_IP_27_Field is HAL.UInt2;
type NVIC_IPR6_Register is record
Reserved_0_5 : HAL.UInt6 := 16#0#;
IP_24 : NVIC_IPR6_IP_24_Field := 16#0#;
Reserved_8_13 : HAL.UInt6 := 16#0#;
IP_25 : NVIC_IPR6_IP_25_Field := 16#0#;
Reserved_16_21 : HAL.UInt6 := 16#0#;
IP_26 : NVIC_IPR6_IP_26_Field := 16#0#;
Reserved_24_29 : HAL.UInt6 := 16#0#;
IP_27 : NVIC_IPR6_IP_27_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype NVIC_IPR7_IP_28_Field is HAL.UInt2;
subtype NVIC_IPR7_IP_29_Field is HAL.UInt2;
subtype NVIC_IPR7_IP_30_Field is HAL.UInt2;
subtype NVIC_IPR7_IP_31_Field is HAL.UInt2;
type NVIC_IPR7_Register is record
Reserved_0_5 : HAL.UInt6 := 16#0#;
IP_28 : NVIC_IPR7_IP_28_Field := 16#0#;
Reserved_8_13 : HAL.UInt6 := 16#0#;
IP_29 : NVIC_IPR7_IP_29_Field := 16#0#;
Reserved_16_21 : HAL.UInt6 := 16#0#;
IP_30 : NVIC_IPR7_IP_30_Field := 16#0#;
Reserved_24_29 : HAL.UInt6 := 16#0#;
IP_31 : NVIC_IPR7_IP_31_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
PPB_Periph : aliased PPB_Peripheral
with Import, Address => PPB_Base;
type PPB_Peripheral is record
SYST_CSR : aliased SYST_CSR_Register;
SYST_RVR : aliased SYST_RVR_Register;
SYST_CVR : aliased SYST_CVR_Register;
SYST_CALIB : aliased SYST_CALIB_Register;
NVIC_ISER : aliased HAL.UInt32;
NVIC_ICER : aliased HAL.UInt32;
NVIC_ISPR : aliased HAL.UInt32;
NVIC_ICPR : aliased HAL.UInt32;
NVIC_IPR0 : aliased NVIC_IPR0_Register;
NVIC_IPR1 : aliased NVIC_IPR1_Register;
NVIC_IPR2 : aliased NVIC_IPR2_Register;
NVIC_IPR3 : aliased NVIC_IPR3_Register;
NVIC_IPR4 : aliased NVIC_IPR4_Register;
NVIC_IPR5 : aliased NVIC_IPR5_Register;
NVIC_IPR6 : aliased NVIC_IPR6_Register;
NVIC_IPR7 : aliased NVIC_IPR7_Register;
CPUID : aliased CPUID_Register;
ICSR : aliased ICSR_Register;
VTOR : aliased VTOR_Register;
AIRCR : aliased AIRCR_Register;
SCR : aliased SCR_Register;
CCR : aliased CCR_Register;
SHPR2 : aliased SHPR2_Register;
SHPR3 : aliased SHPR3_Register;
SHCSR : aliased SHCSR_Register;
MPU_TYPE : aliased MPU_TYPE_Register;
MPU_CTRL : aliased MPU_CTRL_Register;
MPU_RNR : aliased MPU_RNR_Register;
MPU_RBAR : aliased MPU_RBAR_Register;
MPU_RASR : aliased MPU_RASR_Register;
end record
with Volatile;
type SCR_Register is record
Reserved_0_0 : HAL.Bit := 16#0#;
SLEEPONEXIT : Boolean := False;
SLEEPDEEP : Boolean := False;
Reserved_3_3 : HAL.Bit := 16#0#;
SEVONPEND : Boolean := False;
Reserved_5_31 : HAL.UInt27 := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
type SHCSR_Register is record
Reserved_0_14 : HAL.UInt15 := 16#0#;
SVCALLPENDED : Boolean := False;
Reserved_16_31 : HAL.UInt16 := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype SHPR2_PRI_11_Field is HAL.UInt2;
type SHPR2_Register is record
Reserved_0_29 : HAL.UInt30 := 16#0#;
PRI_11 : SHPR2_PRI_11_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype SHPR3_PRI_14_Field is HAL.UInt2;
subtype SHPR3_PRI_15_Field is HAL.UInt2;
type SHPR3_Register is record
Reserved_0_21 : HAL.UInt22 := 16#0#;
PRI_14 : SHPR3_PRI_14_Field := 16#0#;
Reserved_24_29 : HAL.UInt6 := 16#0#;
PRI_15 : SHPR3_PRI_15_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
type SYST_CALIB_Register is record
TENMS : SYST_CALIB_TENMS_Field;
Reserved_24_29 : HAL.UInt6;
SKEW : Boolean;
NOREF : Boolean;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype SYST_CALIB_TENMS_Field is HAL.UInt24;
type SYST_CSR_Register is record
ENABLE : Boolean := False;
TICKINT : Boolean := False;
CLKSOURCE : Boolean := False;
Reserved_3_15 : HAL.UInt13 := 16#0#;
COUNTFLAG : Boolean := False;
Reserved_17_31 : HAL.UInt15 := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype SYST_CVR_CURRENT_Field is HAL.UInt24;
type SYST_CVR_Register is record
CURRENT : SYST_CVR_CURRENT_Field := 16#0#;
Reserved_24_31 : HAL.UInt8 := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
type SYST_RVR_Register is record
RELOAD : SYST_RVR_RELOAD_Field := 16#0#;
Reserved_24_31 : HAL.UInt8 := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype SYST_RVR_RELOAD_Field is HAL.UInt24;
type VTOR_Register is record
Reserved_0_7 : HAL.UInt8 := 16#0#;
TBLOFF : VTOR_TBLOFF_Field := 16#0#;
end record
with Volatile_Full_Access, Object_Size => 32,
Bit_Order => System.Low_Order_First;
subtype VTOR_TBLOFF_Field is HAL.UInt24;