mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-08-26 00:14:53 +08:00
rtems: Create timer implementation header
Move implementation specific parts of timer.h and timer.inl into new header file timerimpl.h. The timer.h contains now only the application visible API.
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
#include <rtems/rtems/messageimpl.h>
|
||||
#include <rtems/rtems/ratemonimpl.h>
|
||||
#include <rtems/rtems/semimpl.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
|
||||
#ifdef RTEMS_POSIX_API
|
||||
#include <rtems/posix/barrierimpl.h>
|
||||
|
||||
@@ -49,6 +49,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/statusimpl.h
|
||||
include_rtems_rtems_HEADERS += include/rtems/rtems/support.h
|
||||
include_rtems_rtems_HEADERS += include/rtems/rtems/tasks.h
|
||||
include_rtems_rtems_HEADERS += include/rtems/rtems/timer.h
|
||||
include_rtems_rtems_HEADERS += include/rtems/rtems/timerimpl.h
|
||||
include_rtems_rtems_HEADERS += include/rtems/rtems/types.h
|
||||
if ATOMIC
|
||||
include_rtems_rtems_HEADERS += include/rtems/rtems/atomic.h
|
||||
@@ -70,7 +71,6 @@ endif
|
||||
include_rtems_rtems_HEADERS += inline/rtems/rtems/part.inl
|
||||
include_rtems_rtems_HEADERS += inline/rtems/rtems/region.inl
|
||||
include_rtems_rtems_HEADERS += inline/rtems/rtems/tasks.inl
|
||||
include_rtems_rtems_HEADERS += inline/rtems/rtems/timer.inl
|
||||
|
||||
## src
|
||||
librtems_a_SOURCES = src/rtemsbuildid.c
|
||||
|
||||
@@ -41,29 +41,13 @@
|
||||
#ifndef _RTEMS_RTEMS_TIMER_H
|
||||
#define _RTEMS_RTEMS_TIMER_H
|
||||
|
||||
/**
|
||||
* @brief Instantiate RTEMS Timer Data
|
||||
*
|
||||
* This constant is defined to extern most of the time when using
|
||||
* this header file. However by defining it to nothing, the data
|
||||
* declared in this header file can be instantiated. This is done
|
||||
* in a single per manager file.
|
||||
*/
|
||||
#ifndef RTEMS_TIMER_EXTERN
|
||||
#define RTEMS_TIMER_EXTERN extern
|
||||
#endif
|
||||
#include <rtems/rtems/types.h>
|
||||
#include <rtems/rtems/attr.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/watchdog.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/score/chain.h>
|
||||
#include <rtems/rtems/clock.h>
|
||||
#include <rtems/rtems/attr.h>
|
||||
|
||||
/**
|
||||
* @defgroup ClassicTimer Timers
|
||||
*
|
||||
@@ -141,98 +125,6 @@ typedef struct {
|
||||
Timer_Classes the_class;
|
||||
} Timer_Control;
|
||||
|
||||
typedef struct Timer_server_Control Timer_server_Control;
|
||||
|
||||
/**
|
||||
* @brief Method used to schedule the insertion of task based timers.
|
||||
*/
|
||||
typedef void (*Timer_server_Schedule_operation)(
|
||||
Timer_server_Control *timer_server,
|
||||
Timer_Control *timer
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
/**
|
||||
* @brief This watchdog that will be registered in the system tick mechanic
|
||||
* for timer server wake-up.
|
||||
*/
|
||||
Watchdog_Control System_watchdog;
|
||||
|
||||
/**
|
||||
* @brief Chain for watchdogs which will be triggered by the timer server.
|
||||
*/
|
||||
Chain_Control Chain;
|
||||
|
||||
/**
|
||||
* @brief Last known time snapshot of the timer server.
|
||||
*
|
||||
* The units may be ticks or seconds.
|
||||
*/
|
||||
Watchdog_Interval volatile last_snapshot;
|
||||
} Timer_server_Watchdogs;
|
||||
|
||||
struct Timer_server_Control {
|
||||
/**
|
||||
* @brief Timer server thread.
|
||||
*/
|
||||
Thread_Control *thread;
|
||||
|
||||
/**
|
||||
* @brief The schedule operation method of the timer server.
|
||||
*/
|
||||
Timer_server_Schedule_operation schedule_operation;
|
||||
|
||||
/**
|
||||
* @brief Interval watchdogs triggered by the timer server.
|
||||
*/
|
||||
Timer_server_Watchdogs Interval_watchdogs;
|
||||
|
||||
/**
|
||||
* @brief TOD watchdogs triggered by the timer server.
|
||||
*/
|
||||
Timer_server_Watchdogs TOD_watchdogs;
|
||||
|
||||
/**
|
||||
* @brief Chain of timers scheduled for insert.
|
||||
*
|
||||
* This pointer is not @c NULL whenever the interval and TOD chains are
|
||||
* processed. After the processing this list will be checked and if
|
||||
* necessary the processing will be restarted. Processing of these chains
|
||||
* can be only interrupted through interrupts.
|
||||
*/
|
||||
Chain_Control *volatile insert_chain;
|
||||
|
||||
/**
|
||||
* @brief Indicates that the timer server is active or not.
|
||||
*
|
||||
* The server is active after the delay on a system watchdog. The activity
|
||||
* period of the server ends when no more watchdogs managed by the server
|
||||
* fire. The system watchdogs must not be manipulated when the server is
|
||||
* active.
|
||||
*/
|
||||
bool volatile active;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Pointer to default timer server control block.
|
||||
*
|
||||
* This value is @c NULL when the default timer server is not initialized.
|
||||
*/
|
||||
RTEMS_TIMER_EXTERN Timer_server_Control *volatile _Timer_server;
|
||||
|
||||
/**
|
||||
* The following defines the information control block used to manage
|
||||
* this class of objects.
|
||||
*/
|
||||
RTEMS_TIMER_EXTERN Objects_Information _Timer_Information;
|
||||
|
||||
/**
|
||||
* @brief Timer Manager Initialization
|
||||
*
|
||||
* This routine performs the initialization necessary for this manager.
|
||||
*/
|
||||
void _Timer_Manager_initialization(void);
|
||||
|
||||
/**
|
||||
* @brief RTEMS Create Timer
|
||||
*
|
||||
@@ -454,15 +346,11 @@ rtems_status_code rtems_timer_get_information(
|
||||
rtems_timer_information *the_info
|
||||
);
|
||||
|
||||
#ifndef __RTEMS_APPLICATION__
|
||||
#include <rtems/rtems/timer.inl>
|
||||
#endif
|
||||
/**@}*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@}*/
|
||||
|
||||
#endif
|
||||
/* end of include file */
|
||||
|
||||
@@ -0,0 +1,239 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @ingroup ClassicTimerImpl
|
||||
*
|
||||
* @brief Classic Timer Implementation
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT (c) 1989-2011.
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_RTEMS_TIMER_INL
|
||||
#define _RTEMS_RTEMS_TIMER_INL
|
||||
|
||||
#include <rtems/rtems/timer.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup ClassicTimerImpl Classic Timer Implementation
|
||||
*
|
||||
* @ingroup ClassicTimer
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Instantiate RTEMS Timer Data
|
||||
*
|
||||
* This constant is defined to extern most of the time when using
|
||||
* this header file. However by defining it to nothing, the data
|
||||
* declared in this header file can be instantiated. This is done
|
||||
* in a single per manager file.
|
||||
*/
|
||||
#ifndef RTEMS_TIMER_EXTERN
|
||||
#define RTEMS_TIMER_EXTERN extern
|
||||
#endif
|
||||
|
||||
typedef struct Timer_server_Control Timer_server_Control;
|
||||
|
||||
/**
|
||||
* @brief Method used to schedule the insertion of task based timers.
|
||||
*/
|
||||
typedef void (*Timer_server_Schedule_operation)(
|
||||
Timer_server_Control *timer_server,
|
||||
Timer_Control *timer
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
/**
|
||||
* @brief This watchdog that will be registered in the system tick mechanic
|
||||
* for timer server wake-up.
|
||||
*/
|
||||
Watchdog_Control System_watchdog;
|
||||
|
||||
/**
|
||||
* @brief Chain for watchdogs which will be triggered by the timer server.
|
||||
*/
|
||||
Chain_Control Chain;
|
||||
|
||||
/**
|
||||
* @brief Last known time snapshot of the timer server.
|
||||
*
|
||||
* The units may be ticks or seconds.
|
||||
*/
|
||||
Watchdog_Interval volatile last_snapshot;
|
||||
} Timer_server_Watchdogs;
|
||||
|
||||
struct Timer_server_Control {
|
||||
/**
|
||||
* @brief Timer server thread.
|
||||
*/
|
||||
Thread_Control *thread;
|
||||
|
||||
/**
|
||||
* @brief The schedule operation method of the timer server.
|
||||
*/
|
||||
Timer_server_Schedule_operation schedule_operation;
|
||||
|
||||
/**
|
||||
* @brief Interval watchdogs triggered by the timer server.
|
||||
*/
|
||||
Timer_server_Watchdogs Interval_watchdogs;
|
||||
|
||||
/**
|
||||
* @brief TOD watchdogs triggered by the timer server.
|
||||
*/
|
||||
Timer_server_Watchdogs TOD_watchdogs;
|
||||
|
||||
/**
|
||||
* @brief Chain of timers scheduled for insert.
|
||||
*
|
||||
* This pointer is not @c NULL whenever the interval and TOD chains are
|
||||
* processed. After the processing this list will be checked and if
|
||||
* necessary the processing will be restarted. Processing of these chains
|
||||
* can be only interrupted through interrupts.
|
||||
*/
|
||||
Chain_Control *volatile insert_chain;
|
||||
|
||||
/**
|
||||
* @brief Indicates that the timer server is active or not.
|
||||
*
|
||||
* The server is active after the delay on a system watchdog. The activity
|
||||
* period of the server ends when no more watchdogs managed by the server
|
||||
* fire. The system watchdogs must not be manipulated when the server is
|
||||
* active.
|
||||
*/
|
||||
bool volatile active;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Pointer to default timer server control block.
|
||||
*
|
||||
* This value is @c NULL when the default timer server is not initialized.
|
||||
*/
|
||||
RTEMS_TIMER_EXTERN Timer_server_Control *volatile _Timer_server;
|
||||
|
||||
/**
|
||||
* The following defines the information control block used to manage
|
||||
* this class of objects.
|
||||
*/
|
||||
RTEMS_TIMER_EXTERN Objects_Information _Timer_Information;
|
||||
|
||||
/**
|
||||
* @brief Timer Manager Initialization
|
||||
*
|
||||
* This routine performs the initialization necessary for this manager.
|
||||
*/
|
||||
void _Timer_Manager_initialization(void);
|
||||
|
||||
/**
|
||||
* @brief Timer_Allocate
|
||||
*
|
||||
* This function allocates a timer control block from
|
||||
* the inactive chain of free timer control blocks.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Allocate( void )
|
||||
{
|
||||
return (Timer_Control *) _Objects_Allocate( &_Timer_Information );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Timer_Free
|
||||
*
|
||||
* This routine frees a timer control block to the
|
||||
* inactive chain of free timer control blocks.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE void _Timer_Free (
|
||||
Timer_Control *the_timer
|
||||
)
|
||||
{
|
||||
_Objects_Free( &_Timer_Information, &the_timer->Object );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Timer_Get
|
||||
*
|
||||
* This function maps timer IDs to timer control blocks.
|
||||
* If ID corresponds to a local timer, then it returns
|
||||
* the timer control pointer which maps to ID and location
|
||||
* is set to OBJECTS_LOCAL. Otherwise, location is set
|
||||
* to OBJECTS_ERROR and the returned value is undefined.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Get (
|
||||
Objects_Id id,
|
||||
Objects_Locations *location
|
||||
)
|
||||
{
|
||||
return (Timer_Control *)
|
||||
_Objects_Get( &_Timer_Information, id, location );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Timer_Is_interval_class
|
||||
*
|
||||
* This function returns TRUE if the class is that of an INTERVAL
|
||||
* timer, and FALSE otherwise.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE bool _Timer_Is_interval_class (
|
||||
Timer_Classes the_class
|
||||
)
|
||||
{
|
||||
return (the_class == TIMER_INTERVAL) || (the_class == TIMER_INTERVAL_ON_TASK);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Timer_Is_time_of_day_class
|
||||
*
|
||||
* This function returns TRUE if the class is that of an INTERVAL
|
||||
* timer, and FALSE otherwise.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE bool _Timer_Is_timer_of_day_class (
|
||||
Timer_Classes the_class
|
||||
)
|
||||
{
|
||||
return ( the_class == TIMER_TIME_OF_DAY );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Timer_Is_dormant_class
|
||||
*
|
||||
* This function returns TRUE if the class is that of a DORMANT
|
||||
* timer, and FALSE otherwise.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE bool _Timer_Is_dormant_class (
|
||||
Timer_Classes the_class
|
||||
)
|
||||
{
|
||||
return ( the_class == TIMER_DORMANT );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Timer_Is_null
|
||||
*
|
||||
* This function returns TRUE if the_timer is NULL and FALSE otherwise.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE bool _Timer_Is_null (
|
||||
Timer_Control *the_timer
|
||||
)
|
||||
{
|
||||
return ( the_timer == NULL );
|
||||
}
|
||||
|
||||
/**@}*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -1,130 +0,0 @@
|
||||
/**
|
||||
* @file rtems/rtems/timer.inl
|
||||
*
|
||||
* @defgroup ClassicTimer Timers
|
||||
*
|
||||
* @ingroup ClassicRTEMS
|
||||
* @brief Inline Implementation from Timer Manager
|
||||
*
|
||||
* This file contains the static inline implementation of the inlined routines
|
||||
* from the Timer Manager.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT (c) 1989-2011.
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_RTEMS_TIMER_H
|
||||
# error "Never use <rtems/rtems/timer.inl> directly; include <rtems/rtems/timer.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef _RTEMS_RTEMS_TIMER_INL
|
||||
#define _RTEMS_RTEMS_TIMER_INL
|
||||
|
||||
/**
|
||||
* @addtogroup ClassicTimer
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Timer_Allocate
|
||||
*
|
||||
* This function allocates a timer control block from
|
||||
* the inactive chain of free timer control blocks.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Allocate( void )
|
||||
{
|
||||
return (Timer_Control *) _Objects_Allocate( &_Timer_Information );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Timer_Free
|
||||
*
|
||||
* This routine frees a timer control block to the
|
||||
* inactive chain of free timer control blocks.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE void _Timer_Free (
|
||||
Timer_Control *the_timer
|
||||
)
|
||||
{
|
||||
_Objects_Free( &_Timer_Information, &the_timer->Object );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Timer_Get
|
||||
*
|
||||
* This function maps timer IDs to timer control blocks.
|
||||
* If ID corresponds to a local timer, then it returns
|
||||
* the timer control pointer which maps to ID and location
|
||||
* is set to OBJECTS_LOCAL. Otherwise, location is set
|
||||
* to OBJECTS_ERROR and the returned value is undefined.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Get (
|
||||
Objects_Id id,
|
||||
Objects_Locations *location
|
||||
)
|
||||
{
|
||||
return (Timer_Control *)
|
||||
_Objects_Get( &_Timer_Information, id, location );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Timer_Is_interval_class
|
||||
*
|
||||
* This function returns TRUE if the class is that of an INTERVAL
|
||||
* timer, and FALSE otherwise.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE bool _Timer_Is_interval_class (
|
||||
Timer_Classes the_class
|
||||
)
|
||||
{
|
||||
return (the_class == TIMER_INTERVAL) || (the_class == TIMER_INTERVAL_ON_TASK);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Timer_Is_time_of_day_class
|
||||
*
|
||||
* This function returns TRUE if the class is that of an INTERVAL
|
||||
* timer, and FALSE otherwise.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE bool _Timer_Is_timer_of_day_class (
|
||||
Timer_Classes the_class
|
||||
)
|
||||
{
|
||||
return ( the_class == TIMER_TIME_OF_DAY );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Timer_Is_dormant_class
|
||||
*
|
||||
* This function returns TRUE if the class is that of a DORMANT
|
||||
* timer, and FALSE otherwise.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE bool _Timer_Is_dormant_class (
|
||||
Timer_Classes the_class
|
||||
)
|
||||
{
|
||||
return ( the_class == TIMER_DORMANT );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Timer_Is_null
|
||||
*
|
||||
* This function returns TRUE if the_timer is NULL and FALSE otherwise.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE bool _Timer_Is_null (
|
||||
Timer_Control *the_timer
|
||||
)
|
||||
{
|
||||
return ( the_timer == NULL );
|
||||
}
|
||||
|
||||
/**@}*/
|
||||
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -167,6 +167,10 @@ $(PROJECT_INCLUDE)/rtems/rtems/timer.h: include/rtems/rtems/timer.h $(PROJECT_IN
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/timer.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/timer.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/rtems/timerimpl.h: include/rtems/rtems/timerimpl.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/timerimpl.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/timerimpl.h
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/rtems/types.h: include/rtems/rtems/types.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/types.h
|
||||
@@ -225,7 +229,3 @@ $(PROJECT_INCLUDE)/rtems/rtems/tasks.inl: inline/rtems/rtems/tasks.inl $(PROJECT
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/tasks.inl
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/tasks.inl
|
||||
|
||||
$(PROJECT_INCLUDE)/rtems/rtems/timer.inl: inline/rtems/rtems/timer.inl $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/timer.inl
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/timer.inl
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/watchdog.h>
|
||||
|
||||
|
||||
@@ -20,5 +20,4 @@
|
||||
|
||||
#define RTEMS_TIMER_EXTERN
|
||||
|
||||
#include <rtems/system.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/watchdogimpl.h>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/watchdogimpl.h>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/watchdogimpl.h>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/watchdogimpl.h>
|
||||
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/rtems/clock.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/watchdogimpl.h>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/watchdog.h>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/watchdog.h>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/watchdogimpl.h>
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/watchdogimpl.h>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/watchdogimpl.h>
|
||||
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
#include <rtems/rtems/support.h>
|
||||
#include <rtems/score/object.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/rtems/clock.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/watchdogimpl.h>
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
#include <rtems/rtems/region.h>
|
||||
#include <rtems/rtems/semimpl.h>
|
||||
#include <rtems/rtems/signal.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
|
||||
Objects_Information *_RTEMS_Objects[ OBJECTS_RTEMS_CLASSES_LAST + 1 ];
|
||||
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
|
||||
#include "system.h"
|
||||
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
|
||||
rtems_timer_service_routine Should_not_fire_TSR(
|
||||
rtems_id ignored_id,
|
||||
void *ignored_address
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
#include <tmacros.h>
|
||||
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
|
||||
/* forward declarations to avoid warnings */
|
||||
rtems_task Init(rtems_task_argument argument);
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
#include <tmacros.h>
|
||||
#include <intrcritical.h>
|
||||
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
|
||||
/* forward declarations to avoid warnings */
|
||||
rtems_task Init(rtems_task_argument argument);
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
#include <rtems/score/scheduler.h>
|
||||
#include <rtems/score/sysstate.h>
|
||||
#include <rtems/score/thread.h>
|
||||
#include <rtems/rtems/timer.h>
|
||||
#include <rtems/rtems/timerimpl.h>
|
||||
#include <rtems/score/tod.h>
|
||||
#include <rtems/score/userextimpl.h>
|
||||
#include <rtems/score/watchdogimpl.h>
|
||||
@@ -399,7 +399,7 @@ uninitialized =
|
||||
|
||||
/*threadq.h*/
|
||||
|
||||
/*timer.h*/ (sizeof _Timer_Information) +
|
||||
/*timerimpl.h*/ (sizeof _Timer_Information) +
|
||||
|
||||
/*tod.h*/ (sizeof _TOD.now) +
|
||||
(sizeof _TOD.uptime) +
|
||||
|
||||
Reference in New Issue
Block a user