IssueNo:#I3IK07
Description:LOS_SysCycleGet replace HalCpuCycleGet Sig:kernel Feature or Bugfix:Feature Binary Source:No Change-Id: Ife3a4d351818f718f58d3624b5ee6dd127113378
This commit is contained in:
parent
c5f517667a
commit
bad8c3d53b
|
@ -33,7 +33,8 @@
|
|||
#include "securec.h"
|
||||
#include "los_memory.h"
|
||||
#include "los_debug.h"
|
||||
#include "los_timer.h"
|
||||
#include "los_tick.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
#if __cplusplus
|
||||
extern "C" {
|
||||
|
@ -61,15 +62,6 @@ LITE_OS_SEC_BSS OsCpupCB *g_cpup = NULL;
|
|||
LITE_OS_SEC_BSS UINT64 g_lastRecordTime;
|
||||
LITE_OS_SEC_BSS UINT16 g_hisPos; /* <current Sampling point of historyTime */
|
||||
|
||||
|
||||
LITE_OS_SEC_TEXT_MINOR STATIC INLINE UINT64 OsGetCurrentCyclesCount(VOID)
|
||||
{
|
||||
UINT32 high = 0;
|
||||
UINT32 low = 0;
|
||||
HalGetCpuCycle(&high, &low);
|
||||
return (((UINT64)high << 32) + low); // 32 means bits of word
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
Function : OsCpupInit
|
||||
Description: initialization of CPUP
|
||||
|
@ -110,7 +102,7 @@ LITE_OS_SEC_TEXT_MINOR VOID OsTskCycleStart(VOID)
|
|||
|
||||
taskID = g_losTask.newTask->taskID;
|
||||
g_cpup[taskID].cpupID = taskID;
|
||||
g_cpup[taskID].startTime = OsGetCurrentCyclesCount();
|
||||
g_cpup[taskID].startTime = LOS_SysCycleGet();
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -135,7 +127,7 @@ LITE_OS_SEC_TEXT_MINOR VOID OsTskCycleEnd(VOID)
|
|||
return;
|
||||
}
|
||||
|
||||
cpuCycle = OsGetCurrentCyclesCount();
|
||||
cpuCycle = LOS_SysCycleGet();
|
||||
|
||||
if (cpuCycle < g_cpup[taskID].startTime) {
|
||||
cpuCycle += g_cyclesPerTick;
|
||||
|
@ -163,7 +155,7 @@ LITE_OS_SEC_TEXT_MINOR VOID OsTskCycleEndStart(VOID)
|
|||
}
|
||||
|
||||
taskID = g_losTask.runTask->taskID;
|
||||
cpuCycle = OsGetCurrentCyclesCount();
|
||||
cpuCycle = LOS_SysCycleGet();
|
||||
|
||||
if (g_cpup[taskID].startTime != 0) {
|
||||
if (cpuCycle < g_cpup[taskID].startTime) {
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#include <los_sem.h>
|
||||
#include <los_mux.h>
|
||||
#include "cmsis_os2.h"
|
||||
#include <los_timer.h>
|
||||
#include <los_tick.h>
|
||||
#include <los_config.h>
|
||||
|
||||
#ifndef LOSCFG_KERNEL_SMP
|
||||
|
@ -82,8 +82,7 @@ sys_thread_t sys_thread_new(const char *name, lwip_thread_fn thread, void *arg,
|
|||
void sys_init(void)
|
||||
{
|
||||
/* set rand seed to make random sequence diff on every startup */
|
||||
UINT32 seedhsb, seedlsb;
|
||||
HalGetCpuCycle(&seedhsb, &seedlsb);
|
||||
UINT32 seedlsb = (UINT32)LOS_SysCycleGet();
|
||||
srand(seedlsb);
|
||||
}
|
||||
|
||||
|
|
|
@ -264,12 +264,11 @@ uint32_t osKernelGetTickFreq(void)
|
|||
|
||||
uint32_t osKernelGetSysTimerCount(void)
|
||||
{
|
||||
uint32_t countHigh = 0;
|
||||
uint32_t countLow = 0;
|
||||
if (OS_INT_ACTIVE) {
|
||||
countLow = 0U;
|
||||
} else {
|
||||
HalGetCpuCycle((UINT32 *)&countHigh, (UINT32 *)&countLow);
|
||||
countLow = (UINT32)LOS_SysCycleGet();
|
||||
}
|
||||
return countLow;
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
#include "los_debug.h"
|
||||
#include "los_task.h"
|
||||
#include "los_swtmr.h"
|
||||
#include "los_timer.h"
|
||||
#include "los_tick.h"
|
||||
#include "los_context.h"
|
||||
|
||||
/* accumulative time delta from discontinuous modify */
|
||||
|
@ -244,13 +244,10 @@ int timer_getoverrun(timer_t timerID)
|
|||
|
||||
STATIC VOID OsGetHwTime(struct timespec *hwTime)
|
||||
{
|
||||
UINT64 nowNsec;
|
||||
UINT32 countHigh = 0;
|
||||
UINT32 countLow = 0;
|
||||
HalGetCpuCycle(&countHigh, &countLow);
|
||||
nowNsec = (((UINT64)countHigh * OS_SYS_NS_PER_SECOND / OS_SYS_CLOCK) << 32) +
|
||||
((((UINT64)countHigh * OS_SYS_NS_PER_SECOND % OS_SYS_CLOCK) << 32) / OS_SYS_CLOCK) +
|
||||
((UINT64)countLow * OS_SYS_NS_PER_SECOND / OS_SYS_CLOCK);
|
||||
UINT64 cycle = LOS_SysCycleGet();
|
||||
UINT64 nowNsec = (cycle / OS_SYS_CLOCK) * OS_SYS_NS_PER_SECOND +
|
||||
(cycle % OS_SYS_CLOCK) * OS_SYS_NS_PER_SECOND / OS_SYS_CLOCK;
|
||||
|
||||
hwTime->tv_sec = nowNsec / OS_SYS_NS_PER_SECOND;
|
||||
hwTime->tv_nsec = nowNsec % OS_SYS_NS_PER_SECOND;
|
||||
}
|
||||
|
|
|
@ -109,19 +109,6 @@ WEAK VOID HalTickUnlock(VOID)
|
|||
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;
|
||||
}
|
||||
|
||||
VOID HalGetCpuCycle(UINT32 *cntHi, UINT32 *cntLo)
|
||||
{
|
||||
UINT64 cycle;
|
||||
if ((cntHi == NULL) || (cntLo == NULL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
cycle = OsGetCurrSchedTimeCycle();
|
||||
*cntHi = cycle >> SHIFT_32_BIT;
|
||||
*cntLo = cycle & CYCLE_CHECK;
|
||||
return;
|
||||
}
|
||||
|
||||
VOID HalEnterSleep(LOS_SysSleepEnum sleep)
|
||||
{
|
||||
#if (LOSCFG_BASE_CORE_SCHED_SLEEP == 1)
|
||||
|
|
|
@ -108,19 +108,6 @@ WEAK VOID HalTickUnlock(VOID)
|
|||
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;
|
||||
}
|
||||
|
||||
VOID HalGetCpuCycle(UINT32 *cntHi, UINT32 *cntLo)
|
||||
{
|
||||
UINT64 cycle;
|
||||
if ((cntHi == NULL) || (cntLo == NULL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
cycle = OsGetCurrSchedTimeCycle();
|
||||
*cntHi = cycle >> SHIFT_32_BIT;
|
||||
*cntLo = cycle & CYCLE_CHECK;
|
||||
return;
|
||||
}
|
||||
|
||||
VOID HalEnterSleep(LOS_SysSleepEnum sleep)
|
||||
{
|
||||
#if (LOSCFG_BASE_CORE_SCHED_SLEEP == 1)
|
||||
|
|
|
@ -108,19 +108,6 @@ WEAK VOID HalTickUnlock(VOID)
|
|||
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;
|
||||
}
|
||||
|
||||
VOID HalGetCpuCycle(UINT32 *cntHi, UINT32 *cntLo)
|
||||
{
|
||||
UINT64 cycle;
|
||||
if ((cntHi == NULL) || (cntLo == NULL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
cycle = OsGetCurrSchedTimeCycle();
|
||||
*cntHi = cycle >> SHIFT_32_BIT;
|
||||
*cntLo = cycle & CYCLE_CHECK;
|
||||
return;
|
||||
}
|
||||
|
||||
VOID HalEnterSleep(LOS_SysSleepEnum sleep)
|
||||
{
|
||||
#if (LOSCFG_BASE_CORE_SCHED_SLEEP == 1)
|
||||
|
|
|
@ -108,19 +108,6 @@ WEAK VOID HalTickUnlock(VOID)
|
|||
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;
|
||||
}
|
||||
|
||||
VOID HalGetCpuCycle(UINT32 *cntHi, UINT32 *cntLo)
|
||||
{
|
||||
UINT64 cycle;
|
||||
if ((cntHi == NULL) || (cntLo == NULL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
cycle = OsGetCurrSchedTimeCycle();
|
||||
*cntHi = cycle >> SHIFT_32_BIT;
|
||||
*cntLo = cycle & CYCLE_CHECK;
|
||||
return;
|
||||
}
|
||||
|
||||
VOID HalEnterSleep(LOS_SysSleepEnum sleep)
|
||||
{
|
||||
#if (LOSCFG_BASE_CORE_SCHED_SLEEP == 1)
|
||||
|
|
|
@ -108,19 +108,6 @@ WEAK VOID HalTickUnlock(VOID)
|
|||
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;
|
||||
}
|
||||
|
||||
VOID HalGetCpuCycle(UINT32 *cntHi, UINT32 *cntLo)
|
||||
{
|
||||
UINT64 cycle;
|
||||
if ((cntHi == NULL) || (cntLo == NULL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
cycle = OsGetCurrSchedTimeCycle();
|
||||
*cntHi = cycle >> SHIFT_32_BIT;
|
||||
*cntLo = cycle & CYCLE_CHECK;
|
||||
return;
|
||||
}
|
||||
|
||||
VOID HalEnterSleep(LOS_SysSleepEnum sleep)
|
||||
{
|
||||
#if (LOSCFG_BASE_CORE_SCHED_SLEEP == 1)
|
||||
|
|
|
@ -108,19 +108,6 @@ WEAK VOID HalTickUnlock(VOID)
|
|||
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;
|
||||
}
|
||||
|
||||
VOID HalGetCpuCycle(UINT32 *cntHi, UINT32 *cntLo)
|
||||
{
|
||||
UINT64 cycle;
|
||||
if ((cntHi == NULL) || (cntLo == NULL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
cycle = OsGetCurrSchedTimeCycle();
|
||||
*cntHi = cycle >> SHIFT_32_BIT;
|
||||
*cntLo = cycle & CYCLE_CHECK;
|
||||
return;
|
||||
}
|
||||
|
||||
VOID HalEnterSleep(LOS_SysSleepEnum sleep)
|
||||
{
|
||||
#if (LOSCFG_BASE_CORE_SCHED_SLEEP == 1)
|
||||
|
|
|
@ -113,29 +113,6 @@ UINT64 HalGetTickCycle(UINT32 *period);
|
|||
*/
|
||||
extern VOID HalSysTickReload(UINT64 nextResponseTime);
|
||||
|
||||
/* *
|
||||
* @ingroup los_hwi
|
||||
* @brief Get value from xPSR register.
|
||||
*
|
||||
* @par Description:
|
||||
* <ul>
|
||||
* <li>This API is used to Get value from xPSR register.</li>
|
||||
* </ul>
|
||||
* @attention
|
||||
* <ul>
|
||||
* <li>None.</li>
|
||||
* </ul>
|
||||
*
|
||||
* @param cntHi [IN] CpuTick High 4 byte
|
||||
* @param cntLo [IN] CpuTick Low 4 byte
|
||||
*
|
||||
* @retval None.
|
||||
* @par Dependency:
|
||||
* <ul><li>los_hwi.h: the header file that contains the API declaration.</li></ul>
|
||||
* @see LOS_IntRestore
|
||||
*/
|
||||
extern VOID HalGetCpuCycle(UINT32 *cntHi, UINT32 *cntLo);
|
||||
|
||||
#ifdef __cplusplus
|
||||
#if __cplusplus
|
||||
}
|
||||
|
|
|
@ -44,7 +44,6 @@ extern "C" {
|
|||
#endif /* __cplusplus */
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
WEAK UINT32 HalTickStart(OS_TICK_HANDLER handler)
|
||||
{
|
||||
g_sysClock = OS_SYS_CLOCK;
|
||||
|
@ -82,20 +81,6 @@ WEAK UINT64 HalGetTickCycle(UINT32 *period)
|
|||
return OS_COMBINED_64(timerH, timerL);
|
||||
}
|
||||
|
||||
WEAK VOID HalGetCpuCycle(UINT32 *cntHi, UINT32 *cntLo)
|
||||
{
|
||||
UINT64 cycle;
|
||||
|
||||
if ((cntHi == NULL) || (cntLo == NULL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
cycle = OsGetCurrSchedTimeCycle();
|
||||
*cntHi = cycle >> SHIFT_32_BIT;
|
||||
*cntLo = cycle & CYCLE_CHECK;
|
||||
return;
|
||||
}
|
||||
|
||||
VOID HalEnterSleep(LOS_SysSleepEnum sleep)
|
||||
{
|
||||
#if (LOSCFG_BASE_CORE_SCHED_SLEEP == 1)
|
||||
|
|
|
@ -79,24 +79,24 @@ extern "C" {
|
|||
|
||||
/**
|
||||
* @ingroup los_tick
|
||||
* @brief: System clock get function.
|
||||
* @brief: System timer cycles get function.
|
||||
*
|
||||
* @par Description:
|
||||
* This API is used to get system clock.
|
||||
* This API is used to get system timer cycles.
|
||||
*
|
||||
* @attention:
|
||||
* <ul><li>None.</li></ul>
|
||||
*
|
||||
* @param: None.
|
||||
*
|
||||
* @retval: system clock.
|
||||
* @retval: current system cycles.
|
||||
*
|
||||
* @par Dependency:
|
||||
* <ul><li>los_tick.h: the header file that contains the API declaration.</li></ul>
|
||||
* @see None.
|
||||
*
|
||||
* */
|
||||
extern UINT32 LOS_SysClockGet(VOID);
|
||||
extern UINT64 LOS_SysCycleGet(VOID);
|
||||
|
||||
/**
|
||||
* @ingroup los_sys
|
||||
|
|
|
@ -63,12 +63,11 @@ LITE_OS_SEC_TEXT VOID OsTickHandler(VOID)
|
|||
LOS_SchedTickHandler();
|
||||
}
|
||||
|
||||
UINT32 LOS_SysClockGet(VOID)
|
||||
UINT64 LOS_SysCycleGet(VOID)
|
||||
{
|
||||
return g_sysClock;
|
||||
return OsGetCurrSchedTimeCycle();
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
Function : LOS_TickCountGet
|
||||
Description : get current tick
|
||||
|
|
Loading…
Reference in New Issue