37#ifndef _RTEMS_CONFDEFS_CLOCK_H
38#define _RTEMS_CONFDEFS_CLOCK_H
40#ifndef __CONFIGURATION_TEMPLATE_h
41#error "Do not include this file directly, use <rtems/confdefs.h> instead"
48#if !defined(CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER) \
49 && !defined(CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER) \
50 && !defined(CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER)
51 #error "You must define one of CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER, CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER, and CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER"
54#if ( defined(CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER) \
55 + defined(CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER) + \
56 + defined(CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER) ) > 1
57 #error "CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER, CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER, and CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER are mutually exclusive"
60#ifdef CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
65#ifndef CONFIGURE_MICROSECONDS_PER_TICK
66 #define CONFIGURE_MICROSECONDS_PER_TICK 10000
69#if 1000000 % CONFIGURE_MICROSECONDS_PER_TICK != 0
70 #warning "The clock ticks per second is not an integer"
73#if defined(CONFIGURE_TICKS_PER_TIMESLICE) \
74 && CONFIGURE_TICKS_PER_TIMESLICE <= 0
75 #error "CONFIGURE_TICKS_PER_TIMESLICE shall be greater than zero"
78#if CONFIGURE_MICROSECONDS_PER_TICK <= 0
79 #error "CONFIGURE_MICROSECONDS_PER_TICK must be positive"
86#ifdef CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
89 RTEMS_SYSINIT_DEVICE_DRIVERS,
90 RTEMS_SYSINIT_ORDER_THIRD
103#if defined(CONFIGURE_TICKS_PER_TIMESLICE) \
104 && CONFIGURE_TICKS_PER_TIMESLICE != WATCHDOG_TICKS_PER_TIMESLICE_DEFAULT
This header file defines the Clock Driver API.
#define RTEMS_SYSINIT_ITEM(handler, module, order)
Creates the system initialization item associated with the handler, module, and order.
Definition: sysinit.h:204
#define CONFIGURE_MICROSECONDS_PER_TICK
This configuration option is an integer define.
Definition: appl-config.h:3230
#define CONFIGURE_TICKS_PER_TIMESLICE
This configuration option is an integer define.
Definition: appl-config.h:3336
void _Clock_Initialize(void)
Initialize the clock driver.
Definition: clock.c:56
const uint32_t _Watchdog_Microseconds_per_tick
The watchdog microseconds per tick.
const uint32_t _Watchdog_Nanoseconds_per_tick
The watchdog nanoseconds per tick.
const uint32_t _Watchdog_Ticks_per_second
The watchdog ticks per second.
const uint32_t _Watchdog_Ticks_per_timeslice
The watchdog ticks per timeslice.
Definition: watchdogtimeslicedefault.c:43
This header file provides the API of the System Initialization Support.
This header file provides the interfaces of the Watchdog Handler related to watchdog ticks which are ...