Explorar o código

PrecisionTime for Zynq

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7985 8c9fc860-2736-0410-a75d-ab315db34111
eth.morozova %!s(int64=7) %!d(string=hai) anos
pai
achega
4ca7aa8354
Modificáronse 1 ficheiros con 30 adicións e 0 borrados
  1. 30 0
      ARM/ARM.A2/Zynq.PrecisionTimer.Mod

+ 30 - 0
ARM/ARM.A2/Zynq.PrecisionTimer.Mod

@@ -0,0 +1,30 @@
+MODULE PrecisionTimer; (** AUTHOR ""; PURPOSE ""; *)
+
+IMPORT
+	Machine, BootConfig;
+
+TYPE
+	Counter* = HUGEINT;
+
+	(**
+		Query timer counter in ticks
+	*)
+	PROCEDURE GetCounter*(): Counter;
+	BEGIN
+		RETURN Machine.GetTimer();
+	END GetCounter;
+
+	(**
+		Query timer tick frequency in Hz
+	*)
+	PROCEDURE GetFrequency*(): Counter;
+	BEGIN
+		RETURN frequencyInHz;
+	END GetFrequency;
+
+VAR
+	frequencyInHz: Counter;
+
+BEGIN
+	frequencyInHz := BootConfig.GetIntValue("CpuClockHz");
+END PrecisionTimer.