Browse Source

PrecisionTime for Zynq

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7985 8c9fc860-2736-0410-a75d-ab315db34111
eth.morozova 7 năm trước cách đây
mục cha
commit
4ca7aa8354
1 tập tin đã thay đổi với 30 bổ sung0 xóa
  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.