/* * Timer Init * * Use the last DMA timer (DTIM3) as the diagnostic timer. * * Author: W. Eric Norum * * COPYRIGHT (c) 2005. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ #include #include void benchmark_timerinitialize(void) { uint32_t preScaleDivisor = bsp_get_BUS_clock_speed() / 1000000; MCF_DTIM3_DTMR = 0; MCF_DTIM3_DTMR = MCF_DTIM_DTMR_PS(preScaleDivisor - 1) | MCF_DTIM_DTMR_CLK_DIV1 | MCF_DTIM_DTMR_RST; } /* * Return timer value in microsecond units */ int benchmark_timerread(void) { return MCF_DTIM3_DTCN; } /* * Empty function call used in loops to measure basic cost of looping * in Timing Test Suite. */ rtems_status_code benchmark_timerempty_function(void) { return RTEMS_SUCCESSFUL; } void benchmark_timerdisable_subtracting_average_overhead(rtems_boolean find_flag) { }