summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-03-27 13:52:35 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-03-27 13:53:42 +0200
commitb8e97e58a275f62d2a3aa2d708205592953afbfb (patch)
tree34bcde816376ca853b0ce98d623e6949fe4e6bcc
parentbsp/tms570: Simplify CPU counter support (diff)
downloadrtems-b8e97e58a275f62d2a3aa2d708205592953afbfb.tar.bz2
bsps: Add simple CPU counter benchmark timer
-rw-r--r--c/src/lib/libbsp/shared/timercpucounter.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/shared/timercpucounter.c b/c/src/lib/libbsp/shared/timercpucounter.c
new file mode 100644
index 0000000000..ade1c02cd1
--- /dev/null
+++ b/c/src/lib/libbsp/shared/timercpucounter.c
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2017 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Dornierstr. 4
+ * 82178 Puchheim
+ * Germany
+ * <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#include <rtems/btimer.h>
+#include <rtems/counter.h>
+
+static uint32_t benchmark_timer_base;
+
+void benchmark_timer_initialize(void)
+{
+ benchmark_timer_base = rtems_counter_read();
+}
+
+benchmark_timer_t benchmark_timer_read(void)
+{
+ return rtems_counter_difference(rtems_counter_read(), benchmark_timer_base);
+}
+
+void benchmark_timer_disable_subtracting_average_overhead(
+ bool find_average_overhead
+)
+{
+ (void) find_average_overhead;
+}