WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hal_timer.h
浏览该文件的文档.
1/* ----------------------------------------------------------------------------
2 * Copyright (c) Huawei Technologies Co., Ltd. 2013-2022. All rights reserved.
3 * Description: LiteOS Timer Header File
4 * Author: Huawei LiteOS Team
5 * Create: 2013-01-01
6 * Redistribution and use in source and binary forms, with or without modification,
7 * are permitted provided that the following conditions are met:
8 * 1. Redistributions of source code must retain the above copyright notice, this list of
9 * conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, this list
11 * of conditions and the following disclaimer in the documentation and/or other materials
12 * provided with the distribution.
13 * 3. Neither the name of the copyright holder nor the names of its contributors may be used
14 * to endorse or promote products derived from this software without specific prior written
15 * permission.
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
18 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
20 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
23 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 * --------------------------------------------------------------------------- */
28/* ----------------------------------------------------------------------------
29 * This file has been modified in accordance with Misra-C specifications.
30 * ---------------------------------------------------------------------------- */
31
32#ifndef HAL_TIMER_H
33#define HAL_TIMER_H
34
35#include "los_typedef.h"
36
37#ifdef __cplusplus
38extern "C" {
39#endif /* __cplusplus */
40
41#define OS_CYCLE_PER_TICK (GET_SYS_CLOCK() / (UINT32)LOSCFG_BASE_CORE_TICK_PER_SECOND)
42
43#ifdef LOSCFG_KERNEL_LOWPOWER
44#if defined(LOSCFG_ARM_GENERIC_TIMER) || defined(LOSCFG_ARM_SP804_TIMER)
45#define TIMER_MAX_CYCLE 0xFFFFFFFF
46#elif defined(LOSCFG_CORTEX_M_SYSTICK)
47#define TIMER_MAX_CYCLE 0x00FFFFFF
48#endif
49
50#define TIMER_MAX_TICK (TIMER_MAX_CYCLE / OS_CYCLE_PER_TICK)
51#endif
52
53#ifndef NOP
54#define NOP() __asm__ volatile ("nop")
55#endif
56
64
67extern VOID HalDelayUs(UINT32 usecs);
73
80
81#ifdef __cplusplus
82}
83#endif /* __cplusplus */
84
85#endif /* HAL_TIMER_H */
VOID HalClockTickTimerReload(UINT32 cycles)
VOID HalClockEnable(VOID)
VOID HalClockDisable(VOID)
VOID HrtimerClockStart(UINT32 period)
VOID HrtimerClockIrqClear(VOID)
UINT32 HrtimerClockValueGet(VOID)
UINT32 HalTickAdjust(UINT32 ticks)
VOID HalClockFreqWrite(UINT32 freq)
UINT32 HalGetRemainingCycles(UINT32 *ticks)
UINT32 HalClockGetTickTimerCycles(VOID)
UINT64 hi_sched_clock(VOID)
VOID HalClockInitStart(VOID)
VOID HalTickReload(VOID)
VOID HrtimerClockStop(VOID)
VOID HrtimerClockInit(VOID)
VOID HalDelayUs(UINT32 usecs)
UINT64 HalClockGetCurrCycles(VOID)
UINT32 HrtimersInit(VOID)
unsigned long long UINT64
Definition los_typedef.h:72
#define VOID
Definition los_typedef.h:88
unsigned int UINT32
Definition los_typedef.h:52
uint64_t HalClockGetCycles(void)
Definition tick_timer.c:113
LITE_OS_SEC_TEXT_INIT void HalClockStart(void)
Definition tick_timer.c:81
void HalClockInit(void)
Definition tick_timer.c:103