------------- Registers -- -------------
type CALIB_NOREF_Field is
(
Ref_Clk_Available,
Ref_Clk_Unavailable)
with Size => 1;
Ref Clk not available
type CALIB_SKEW_Field is
(
Exact,
Inexact)
with Size => 1;
10ms calibration value is inexact, because of the clock frequency
type CSR_CLKSOURCE_Field is
(
External_Clk,
Cpu_Clk)
with Size => 1;
CPU Clock
type CSR_ENABLE_Field is
(
Disable,
Enable)
with Size => 1;
counter enabled
type CSR_TICKINT_Field is
Disable,
Enable)
with Size => 1;
Counting down to zero does not assert the SysTick exception request
type SYST_CALIB_Register is record
TENMS : SYST_CALIB_TENMS_Field;
Reserved_24_29 : HAL.UInt6;
SKEW : CALIB_SKEW_Field;
NOREF : CALIB_NOREF_Field;
end record
with Volatile_Full_Access, Size => 32,
Bit_Order => System.Low_Order_First;
subtype SYST_CALIB_TENMS_Field is HAL.UInt24;
type SYST_CSR_Register is record
ENABLE : CSR_ENABLE_Field := Cortex_M_SVD.SysTick.Disable;
TICKINT : CSR_TICKINT_Field := Cortex_M_SVD.SysTick.Disable;
CLKSOURCE : CSR_CLKSOURCE_Field :=
Cortex_M_SVD.SysTick.External_Clk;
Reserved_3_15 : HAL.UInt13 := 16#0#;
COUNTFLAG : Boolean := False;
Reserved_17_31 : HAL.UInt15 := 16#0#;
end record
with Volatile_Full_Access, 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, 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, Size => 32,
Bit_Order => System.Low_Order_First;
subtype SYST_RVR_RELOAD_Field is HAL.UInt24;
SysTick_Periph : aliased SysTick_Peripheral
with Import, Address => SysTick_Base;
type SysTick_Peripheral is record
CSR : aliased SYST_CSR_Register;
RVR : aliased SYST_RVR_Register;
CVR : aliased SYST_CVR_Register;
CALIB : aliased SYST_CALIB_Register;
end record
with Volatile;