Zynq.PrecisionTimer.Mod 555 B

12345678910111213141516171819202122232425262728293031323334
  1. (**
  2. AUTHOR: Alexey Morozov
  3. PURPOSE: high precision timer support for Xilinx Zynq platform
  4. *)
  5. MODULE PrecisionTimer;
  6. IMPORT
  7. Machine, BootConfig;
  8. TYPE
  9. Counter* = HUGEINT;
  10. (**
  11. Query timer counter in ticks
  12. *)
  13. PROCEDURE GetCounter*(): Counter;
  14. BEGIN
  15. RETURN Machine.GetTimer();
  16. END GetCounter;
  17. (**
  18. Query timer tick frequency in Hz
  19. *)
  20. PROCEDURE GetFrequency*(): Counter;
  21. BEGIN
  22. RETURN frequencyInHz;
  23. END GetFrequency;
  24. VAR
  25. frequencyInHz: Counter;
  26. BEGIN
  27. frequencyInHz := BootConfig.GetIntValue("CpuClockHz") DIV 2;
  28. END PrecisionTimer.