RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
include
rtems
counter.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
11
12
/*
13
* Copyright (C) 2014, 2018 embedded brains GmbH & Co. KG
14
*
15
* Redistribution and use in source and binary forms, with or without
16
* modification, are permitted provided that the following conditions
17
* are met:
18
* 1. Redistributions of source code must retain the above copyright
19
* notice, this list of conditions and the following disclaimer.
20
* 2. Redistributions in binary form must reproduce the above copyright
21
* notice, this list of conditions and the following disclaimer in the
22
* documentation and/or other materials provided with the distribution.
23
*
24
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
* POSSIBILITY OF SUCH DAMAGE.
35
*/
36
37
#ifndef _RTEMS_SAPI_COUNTER_H
38
#define _RTEMS_SAPI_COUNTER_H
39
40
#include <rtems/score/cpu.h>
41
42
#ifdef __cplusplus
43
extern
"C"
{
44
#endif
/* __cplusplus */
45
72
76
typedef
CPU_Counter_ticks
rtems_counter_ticks
;
77
83
static
inline
uint32_t rtems_counter_frequency(
void
)
84
{
85
return
_CPU_Counter_frequency();
86
}
87
93
static
inline
rtems_counter_ticks
rtems_counter_read(
void
)
94
{
95
return
_CPU_Counter_read();
96
}
97
110
static
inline
rtems_counter_ticks
rtems_counter_difference(
111
rtems_counter_ticks
second,
112
rtems_counter_ticks
first
113
)
114
{
115
return
second - first;
116
}
117
126
uint64_t
rtems_counter_ticks_to_nanoseconds
(
127
rtems_counter_ticks
ticks
128
);
129
138
rtems_counter_ticks
rtems_counter_nanoseconds_to_ticks
(
139
uint32_t nanoseconds
140
);
141
150
int64_t
rtems_counter_ticks_to_sbintime
(
rtems_counter_ticks
ticks );
151
160
rtems_counter_ticks
rtems_counter_sbintime_to_ticks
( int64_t sbt );
161
172
void
rtems_counter_initialize_converter
( uint32_t frequency );
173
184
void
rtems_counter_delay_ticks
(
rtems_counter_ticks
ticks );
185
196
void
rtems_counter_delay_nanoseconds
( uint32_t nanoseconds );
197
199
200
#ifdef __cplusplus
201
}
202
#endif
/* __cplusplus */
203
204
#endif
/* _RTEMS_SAPI_COUNTER_H */
rtems_counter_sbintime_to_ticks
rtems_counter_ticks rtems_counter_sbintime_to_ticks(int64_t sbt)
Converts signed binary time (sbintime_t) into counter ticks.
Definition
cpucounterconverter.c:65
rtems_counter_ticks_to_nanoseconds
uint64_t rtems_counter_ticks_to_nanoseconds(rtems_counter_ticks ticks)
Converts counter ticks into nanoseconds.
Definition
cpucounterconverter.c:50
rtems_counter_ticks_to_sbintime
int64_t rtems_counter_ticks_to_sbintime(rtems_counter_ticks ticks)
Converts counter ticks into signed binary time (sbintime_t).
Definition
cpucounterconverter.c:60
rtems_counter_nanoseconds_to_ticks
rtems_counter_ticks rtems_counter_nanoseconds_to_ticks(uint32_t nanoseconds)
Converts nanoseconds into counter ticks.
Definition
cpucounterconverter.c:55
rtems_counter_delay_nanoseconds
void rtems_counter_delay_nanoseconds(uint32_t nanoseconds)
Busy wait for some nanoseconds.
Definition
delaynano.c:43
rtems_counter_initialize_converter
void rtems_counter_initialize_converter(uint32_t frequency)
Initializes the counter ticks to/from nanoseconds converter functions.
Definition
cpucounterconverter.c:70
rtems_counter_delay_ticks
void rtems_counter_delay_ticks(rtems_counter_ticks ticks)
Busy wait for some counter ticks.
Definition
delayticks.c:43
rtems_counter_ticks
CPU_Counter_ticks rtems_counter_ticks
Unsigned integer type for counter values.
Definition
counter.h:76
CPU_Counter_ticks
uint32_t CPU_Counter_ticks
Unsigned integer type for CPU counter values.
Definition
cpu.h:381
Generated by
1.18.0