IssueNo:#I3IK07

Description:LOS_SysCycleGet replace HalCpuCycleGet
Sig:kernel
Feature or Bugfix:Feature
Binary Source:No

Change-Id: Ife3a4d351818f718f58d3624b5ee6dd127113378
This commit is contained in:
zhushengle
2021-04-17 16:07:51 +08:00
parent c5f517667a
commit bad8c3d53b
14 changed files with 19 additions and 149 deletions

View File

@@ -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) {

View File

@@ -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);
}