summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2015-03-10 16:56:14 -0500
committerJoel Sherrill <joel.sherrill@oarcorp.com>2015-03-11 16:18:29 -0500
commita2fe43b102201433dbac71e2e1f71e3ebacc67aa (patch)
tree9a8cc04114ca9e96b390c5f6419386e9bab987ae
parentcpukit/include/rtems/bspIo.h: Add Doxygen comments (diff)
downloadrtems-a2fe43b102201433dbac71e2e1f71e3ebacc67aa.tar.bz2
cpukit/include/rtems/btimer.h: Add DOxygen comments
-rw-r--r--cpukit/include/rtems/btimer.h58
1 files changed, 56 insertions, 2 deletions
diff --git a/cpukit/include/rtems/btimer.h b/cpukit/include/rtems/btimer.h
index c424e7e9ed..7257ef67c2 100644
--- a/cpukit/include/rtems/btimer.h
+++ b/cpukit/include/rtems/btimer.h
@@ -33,20 +33,74 @@
extern "C" {
#endif
-typedef uint32_t benchmark_timer_t;
+/**
+ * @defgroup BenchmarkTimer Benchmark Timer Driver Interface
+ *
+ * This module defines the interface for the Benchmark Timer Driver.
+ *
+ * The following methods in this module must be provided by each BSP:
+ *
+ * - benchmark_timer_initialize
+ * - benchmark_timer_read
+ * - benchmark_timer_disable_subtracting_average_overhead
+ *
+ * The units measured are BSP specific but should be at the highest
+ * granularity possible.
+ *
+ * The Benchmark Timer may use the same hardware as the Clock Driver.
+ * No RTEMS Timing Tests will use both drivers at the same time.
+ */
-/* functions */
+/**
+ * @brief Benchmark Timer Value Type
+ *
+ * This type is used to contain benchmark times. The units are BSP specific.
+ */
+typedef uint32_t benchmark_timer_t;
+/**
+ * @brief Initialize the Benchmark Timer
+ *
+ * This method initializes the benchmark timer and resets it to begin
+ * counting.
+ */
extern void benchmark_timer_initialize( void );
+/**
+ * @brief Read the Benchmark Timer
+ *
+ * This method stops the benchmark timer and returns the number of
+ * units that have passed since @a benchmark_timer_initialize was invoked.
+ *
+ * @return This method returns the number of units with the average overhead
+ * removed. If the value is below the minimum trusted value, zero
+ * is returned.
+ */
extern benchmark_timer_t benchmark_timer_read( void );
+/**
+ * @brief Benchmark Timer Empty Function
+ *
+ * This method is used to determine loop overhead.
+ */
extern rtems_status_code benchmark_timer_empty_function( void );
+/**
+ * @brief Disable Average Overhead Removal from the Benchmark Timer
+ *
+ * This method places the benchmark timer in a "raw" mode where it
+ * returns the actual number of units which have passed between
+ * calls to @a benchmark_timer_initialize and @a benchmark_timer_read
+ * counting.
+ *
+ * @param[in] find_flag indicates to enable or disable the mode
+ */
extern void benchmark_timer_disable_subtracting_average_overhead(
bool find_flag
);
+/**@}*/
+
#ifdef __cplusplus
}
#endif