mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-21 15:39:19 +08:00
rtems: rtems_clock_get_ticks_per_second()
Add macro implementation for rtems_clock_get_ticks_per_second() for C/C++ to avoid the function call overhead. A rtems_clock_get_ticks_per_second() is still provided for language bindings (e.g. Ada).
This commit is contained in:
@@ -198,6 +198,9 @@ RTEMS_INLINE_ROUTINE bool rtems_clock_tick_before(
|
||||
*/
|
||||
rtems_interval rtems_clock_get_ticks_per_second(void);
|
||||
|
||||
/* Optimized variant for C/C++ without function call overhead */
|
||||
#define rtems_clock_get_ticks_per_second() ( _Watchdog_Ticks_per_second )
|
||||
|
||||
/**
|
||||
* @brief Set the Current TOD
|
||||
*
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
|
||||
#include <rtems/rtems/clock.h>
|
||||
|
||||
#undef rtems_clock_get_ticks_per_second
|
||||
|
||||
rtems_interval rtems_clock_get_ticks_per_second(void)
|
||||
{
|
||||
return _Watchdog_Ticks_per_second;
|
||||
|
||||
@@ -62,6 +62,9 @@ static void test_watchdog_config( void )
|
||||
rtems_test_assert( _Watchdog_Nanoseconds_per_tick == 10000000 );
|
||||
rtems_test_assert( _Watchdog_Ticks_per_second == 100 );
|
||||
rtems_test_assert( _Watchdog_Monotonic_max_seconds == 184467440737095516 );
|
||||
rtems_test_assert( rtems_clock_get_ticks_per_second() == 100 );
|
||||
#undef rtems_clock_get_ticks_per_second
|
||||
rtems_test_assert( rtems_clock_get_ticks_per_second() == 100 );
|
||||
}
|
||||
|
||||
static bool test_watchdog_is_inactive( test_watchdog *watchdog )
|
||||
|
||||
Reference in New Issue
Block a user