Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Kernel Liteos M
提交
2a68a0e6
K
Kernel Liteos M
项目概览
OpenHarmony
/
Kernel Liteos M
9 个月 前同步成功
通知
20
Star
28
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel Liteos M
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
2a68a0e6
编写于
12月 08, 2022
作者:
O
openharmony_ci
提交者:
Gitee
12月 08, 2022
浏览文件
操作
浏览文件
下载
差异文件
!956 【挑单】优化CPUP计算方式, 解耦系统调频
Merge pull request !956 from zhushengle/cherry-pick-1670312099
上级
da29e90b
2fad9065
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
77 addition
and
63 deletion
+77
-63
components/cpup/los_cpup.c
components/cpup/los_cpup.c
+77
-63
未找到文件。
components/cpup/los_cpup.c
浏览文件 @
2a68a0e6
...
...
@@ -58,6 +58,9 @@
#define OS_CPUP_RECORD_PERIOD (g_sysClock)
#define OS_SYS_CYCLE_TO_US(cycle) ((cycle) / (g_sysClock)) * OS_SYS_US_PER_SECOND + \
((
cycle
)
%
(
g_sysClock
)
*
OS_SYS_US_PER_SECOND
/
(
g_sysClock
))
LITE_OS_SEC_BSS
UINT16
g_cpupInitFlg
=
0
;
LITE_OS_SEC_BSS
OsCpupCB
*
g_cpup
=
NULL
;
LITE_OS_SEC_BSS
UINT64
g_lastRecordTime
;
...
...
@@ -167,6 +170,15 @@ LITE_OS_SEC_TEXT_INIT UINT32 OsCpupInit()
return
LOS_OK
;
}
/* The calculation time unit is changed to us to decouple the influence of
* system frequency modulation on CPUP
*/
STATIC
UINT64
CpupTimeUsGet
(
VOID
)
{
UINT64
time
=
LOS_SysCycleGet
();
return
OS_SYS_CYCLE_TO_US
(
time
);
}
/*****************************************************************************
Function : OsTskCycleStart
Description: start task to get cycles count in current task beginning
...
...
@@ -183,10 +195,11 @@ LITE_OS_SEC_TEXT_MINOR VOID OsTskCycleStart(VOID)
taskID
=
g_losTask
.
newTask
->
taskID
;
g_cpup
[
taskID
].
cpupID
=
taskID
;
g_cpup
[
taskID
].
startTime
=
LOS_SysCycle
Get
();
g_cpup
[
taskID
].
startTime
=
CpupTimeUs
Get
();
return
;
}
/*****************************************************************************
Function : OsTskCycleEnd
Description: quit task and get cycle count
...
...
@@ -196,7 +209,7 @@ Return : None
LITE_OS_SEC_TEXT_MINOR
VOID
OsTskCycleEnd
(
VOID
)
{
UINT32
taskID
;
UINT64
cpu
Cycl
e
;
UINT64
cpu
Tim
e
;
if
(
g_cpupInitFlg
==
0
)
{
return
;
...
...
@@ -208,16 +221,17 @@ LITE_OS_SEC_TEXT_MINOR VOID OsTskCycleEnd(VOID)
return
;
}
cpu
Cycle
=
LOS_SysCycle
Get
();
if
(
cpu
Cycl
e
<
g_cpup
[
taskID
].
startTime
)
{
cpu
Cycle
+=
g_cyclesPerTick
;
cpu
Time
=
CpupTimeUs
Get
();
if
(
cpu
Tim
e
<
g_cpup
[
taskID
].
startTime
)
{
cpu
Time
+=
OS_US_PER_TICK
;
}
g_cpup
[
taskID
].
allTime
+=
(
cpu
Cycl
e
-
g_cpup
[
taskID
].
startTime
);
g_cpup
[
taskID
].
allTime
+=
(
cpu
Tim
e
-
g_cpup
[
taskID
].
startTime
);
g_cpup
[
taskID
].
startTime
=
0
;
return
;
}
/*****************************************************************************
Function : OsTskCycleEndStart
Description: start task to get cycles count in current task ending
...
...
@@ -227,7 +241,7 @@ Return : None
LITE_OS_SEC_TEXT_MINOR
VOID
OsTskCycleEndStart
(
VOID
)
{
UINT32
taskID
;
UINT64
cpu
Cycl
e
;
UINT64
cpu
Tim
e
;
UINT16
loopNum
;
if
(
g_cpupInitFlg
==
0
)
{
...
...
@@ -235,23 +249,23 @@ LITE_OS_SEC_TEXT_MINOR VOID OsTskCycleEndStart(VOID)
}
taskID
=
g_losTask
.
runTask
->
taskID
;
cpu
Cycle
=
LOS_SysCycle
Get
();
cpu
Time
=
CpupTimeUs
Get
();
if
(
g_cpup
[
taskID
].
startTime
!=
0
)
{
if
(
cpu
Cycl
e
<
g_cpup
[
taskID
].
startTime
)
{
cpu
Cycle
+=
g_cyclesPerTick
;
if
(
cpu
Tim
e
<
g_cpup
[
taskID
].
startTime
)
{
cpu
Time
+=
OS_US_PER_TICK
;
}
g_cpup
[
taskID
].
allTime
+=
(
cpu
Cycl
e
-
g_cpup
[
taskID
].
startTime
);
g_cpup
[
taskID
].
allTime
+=
(
cpu
Tim
e
-
g_cpup
[
taskID
].
startTime
);
g_cpup
[
taskID
].
startTime
=
0
;
}
taskID
=
g_losTask
.
newTask
->
taskID
;
g_cpup
[
taskID
].
cpupID
=
taskID
;
g_cpup
[
taskID
].
startTime
=
cpu
Cycl
e
;
g_cpup
[
taskID
].
startTime
=
cpu
Tim
e
;
if
((
cpu
Cycl
e
-
g_lastRecordTime
)
>
OS_CPUP_RECORD_PERIOD
)
{
g_lastRecordTime
=
cpu
Cycl
e
;
if
((
cpu
Tim
e
-
g_lastRecordTime
)
>
OS_CPUP_RECORD_PERIOD
)
{
g_lastRecordTime
=
cpu
Tim
e
;
for
(
loopNum
=
0
;
loopNum
<
g_taskMaxNum
;
loopNum
++
)
{
g_cpup
[
loopNum
].
historyTime
[
g_hisPos
]
=
g_cpup
[
loopNum
].
allTime
;
...
...
@@ -267,12 +281,12 @@ LITE_OS_SEC_TEXT_MINOR VOID OsTskCycleEndStart(VOID)
return
;
}
LITE_OS_SEC_TEXT_MINOR
static
inline
UINT16
OsGetPrePos
(
UINT16
curPos
)
LITE_OS_SEC_TEXT_MINOR
STATIC
INLINE
UINT16
OsGetPrePos
(
UINT16
curPos
)
{
return
(
curPos
==
0
)
?
(
OS_CPUP_HISTORY_RECORD_NUM
-
1
)
:
(
curPos
-
1
);
}
LITE_OS_SEC_TEXT_MINOR
static
VOID
OsGetPositions
(
UINT16
mode
,
UINT16
*
curPosAddr
,
UINT16
*
prePosAddr
)
LITE_OS_SEC_TEXT_MINOR
STATIC
VOID
OsGetPositions
(
UINT16
mode
,
UINT16
*
curPosAddr
,
UINT16
*
prePosAddr
)
{
UINT16
curPos
;
UINT16
prePos
=
0
;
...
...
@@ -298,7 +312,7 @@ Return : cpupRet:current CPU usage
*****************************************************************************/
LITE_OS_SEC_TEXT_MINOR
UINT32
LOS_SysCpuUsage
(
VOID
)
{
UINT64
cpu
Cycl
eAll
=
0
;
UINT64
cpu
Tim
eAll
=
0
;
UINT32
cpupRet
=
0
;
UINT16
loopNum
;
UINT32
intSave
;
...
...
@@ -312,12 +326,12 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_SysCpuUsage(VOID)
OsTskCycleEnd
();
for
(
loopNum
=
0
;
loopNum
<
g_taskMaxNum
;
loopNum
++
)
{
cpu
Cycl
eAll
+=
g_cpup
[
loopNum
].
allTime
;
cpu
Tim
eAll
+=
g_cpup
[
loopNum
].
allTime
;
}
if
(
cpu
Cycl
eAll
)
{
if
(
cpu
Tim
eAll
)
{
cpupRet
=
LOS_CPUP_PRECISION
-
(
UINT32
)((
LOS_CPUP_PRECISION
*
g_cpup
[
g_idleTaskID
].
allTime
)
/
cpu
Cycl
eAll
);
g_cpup
[
g_idleTaskID
].
allTime
)
/
cpu
Tim
eAll
);
}
OsTskCycleStart
();
...
...
@@ -334,7 +348,7 @@ Return : cpupRet:CPU usage history
*****************************************************************************/
LITE_OS_SEC_TEXT_MINOR
UINT32
LOS_HistorySysCpuUsage
(
UINT16
mode
)
{
UINT64
cpu
Cycl
eAll
=
0
;
UINT64
cpu
Tim
eAll
=
0
;
UINT64
idleCycleAll
=
0
;
UINT32
cpupRet
=
0
;
UINT16
loopNum
;
...
...
@@ -354,9 +368,9 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_HistorySysCpuUsage(UINT16 mode)
for
(
loopNum
=
0
;
loopNum
<
g_taskMaxNum
;
loopNum
++
)
{
if
(
mode
==
CPUP_IN_1S
)
{
cpu
Cycl
eAll
+=
g_cpup
[
loopNum
].
historyTime
[
curPos
]
-
g_cpup
[
loopNum
].
historyTime
[
prePos
];
cpu
Tim
eAll
+=
g_cpup
[
loopNum
].
historyTime
[
curPos
]
-
g_cpup
[
loopNum
].
historyTime
[
prePos
];
}
else
{
cpu
Cycl
eAll
+=
g_cpup
[
loopNum
].
allTime
-
g_cpup
[
loopNum
].
historyTime
[
curPos
];
cpu
Tim
eAll
+=
g_cpup
[
loopNum
].
allTime
-
g_cpup
[
loopNum
].
historyTime
[
curPos
];
}
}
...
...
@@ -367,8 +381,8 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_HistorySysCpuUsage(UINT16 mode)
idleCycleAll
+=
g_cpup
[
g_idleTaskID
].
allTime
-
g_cpup
[
g_idleTaskID
].
historyTime
[
curPos
];
}
if
(
cpu
Cycl
eAll
)
{
cpupRet
=
(
LOS_CPUP_PRECISION
-
(
UINT32
)((
LOS_CPUP_PRECISION
*
idleCycleAll
)
/
cpu
Cycl
eAll
));
if
(
cpu
Tim
eAll
)
{
cpupRet
=
(
LOS_CPUP_PRECISION
-
(
UINT32
)((
LOS_CPUP_PRECISION
*
idleCycleAll
)
/
cpu
Tim
eAll
));
}
OsTskCycleStart
();
...
...
@@ -385,7 +399,7 @@ Return : cpupRet:CPU usage of certain task
*****************************************************************************/
LITE_OS_SEC_TEXT_MINOR
UINT32
LOS_TaskCpuUsage
(
UINT32
taskID
)
{
UINT64
cpu
Cycl
eAll
=
0
;
UINT64
cpu
Tim
eAll
=
0
;
UINT16
loopNum
;
UINT32
intSave
;
UINT32
cpupRet
=
0
;
...
...
@@ -410,11 +424,11 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_TaskCpuUsage(UINT32 taskID)
if
((
g_cpup
[
loopNum
].
status
&
OS_TASK_STATUS_UNUSED
)
||
(
g_cpup
[
loopNum
].
status
==
0
))
{
continue
;
}
cpu
Cycl
eAll
+=
g_cpup
[
loopNum
].
allTime
;
cpu
Tim
eAll
+=
g_cpup
[
loopNum
].
allTime
;
}
if
(
cpu
Cycl
eAll
)
{
cpupRet
=
(
UINT32
)((
LOS_CPUP_PRECISION
*
g_cpup
[
taskID
].
allTime
)
/
cpu
Cycl
eAll
);
if
(
cpu
Tim
eAll
)
{
cpupRet
=
(
UINT32
)((
LOS_CPUP_PRECISION
*
g_cpup
[
taskID
].
allTime
)
/
cpu
Tim
eAll
);
}
OsTskCycleStart
();
...
...
@@ -432,8 +446,8 @@ Return : cpupRet:CPU usage history of task
*****************************************************************************/
LITE_OS_SEC_TEXT_MINOR
UINT32
LOS_HistoryTaskCpuUsage
(
UINT32
taskID
,
UINT16
mode
)
{
UINT64
cpu
Cycl
eAll
=
0
;
UINT64
cpu
Cycl
eCurTsk
=
0
;
UINT64
cpu
Tim
eAll
=
0
;
UINT64
cpu
Tim
eCurTsk
=
0
;
UINT16
loopNum
,
curPos
;
UINT16
prePos
=
0
;
UINT32
intSave
;
...
...
@@ -463,19 +477,19 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_HistoryTaskCpuUsage(UINT32 taskID, UINT16 mode
}
if
(
mode
==
CPUP_IN_1S
)
{
cpu
Cycl
eAll
+=
g_cpup
[
loopNum
].
historyTime
[
curPos
]
-
g_cpup
[
loopNum
].
historyTime
[
prePos
];
cpu
Tim
eAll
+=
g_cpup
[
loopNum
].
historyTime
[
curPos
]
-
g_cpup
[
loopNum
].
historyTime
[
prePos
];
}
else
{
cpu
Cycl
eAll
+=
g_cpup
[
loopNum
].
allTime
-
g_cpup
[
loopNum
].
historyTime
[
curPos
];
cpu
Tim
eAll
+=
g_cpup
[
loopNum
].
allTime
-
g_cpup
[
loopNum
].
historyTime
[
curPos
];
}
}
if
(
mode
==
CPUP_IN_1S
)
{
cpu
Cycl
eCurTsk
+=
g_cpup
[
taskID
].
historyTime
[
curPos
]
-
g_cpup
[
taskID
].
historyTime
[
prePos
];
cpu
Tim
eCurTsk
+=
g_cpup
[
taskID
].
historyTime
[
curPos
]
-
g_cpup
[
taskID
].
historyTime
[
prePos
];
}
else
{
cpu
Cycl
eCurTsk
+=
g_cpup
[
taskID
].
allTime
-
g_cpup
[
taskID
].
historyTime
[
curPos
];
cpu
Tim
eCurTsk
+=
g_cpup
[
taskID
].
allTime
-
g_cpup
[
taskID
].
historyTime
[
curPos
];
}
if
(
cpu
Cycl
eAll
)
{
cpupRet
=
(
UINT32
)((
LOS_CPUP_PRECISION
*
cpu
CycleCurTsk
)
/
cpuCycl
eAll
);
if
(
cpu
Tim
eAll
)
{
cpupRet
=
(
UINT32
)((
LOS_CPUP_PRECISION
*
cpu
TimeCurTsk
)
/
cpuTim
eAll
);
}
OsTskCycleStart
();
...
...
@@ -490,8 +504,8 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_AllTaskCpuUsage(CPUP_INFO_S *cpupInfo, UINT16
UINT16
curPos
;
UINT16
prePos
=
0
;
UINT32
intSave
;
UINT64
cpu
Cycl
eAll
=
0
;
UINT64
cpu
Cycl
eCurTsk
=
0
;
UINT64
cpu
Tim
eAll
=
0
;
UINT64
cpu
Tim
eCurTsk
=
0
;
if
(
g_cpupInitFlg
==
0
)
{
return
LOS_ERRNO_CPUP_NO_INIT
;
...
...
@@ -513,9 +527,9 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_AllTaskCpuUsage(CPUP_INFO_S *cpupInfo, UINT16
}
if
(
mode
==
CPUP_IN_1S
)
{
cpu
Cycl
eAll
+=
g_cpup
[
loopNum
].
historyTime
[
curPos
]
-
g_cpup
[
loopNum
].
historyTime
[
prePos
];
cpu
Tim
eAll
+=
g_cpup
[
loopNum
].
historyTime
[
curPos
]
-
g_cpup
[
loopNum
].
historyTime
[
prePos
];
}
else
{
cpu
Cycl
eAll
+=
g_cpup
[
loopNum
].
allTime
-
g_cpup
[
loopNum
].
historyTime
[
curPos
];
cpu
Tim
eAll
+=
g_cpup
[
loopNum
].
allTime
-
g_cpup
[
loopNum
].
historyTime
[
curPos
];
}
}
...
...
@@ -526,16 +540,16 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_AllTaskCpuUsage(CPUP_INFO_S *cpupInfo, UINT16
}
if
(
mode
==
CPUP_IN_1S
)
{
cpu
Cycl
eCurTsk
+=
g_cpup
[
loopNum
].
historyTime
[
curPos
]
-
g_cpup
[
loopNum
].
historyTime
[
prePos
];
cpu
Tim
eCurTsk
+=
g_cpup
[
loopNum
].
historyTime
[
curPos
]
-
g_cpup
[
loopNum
].
historyTime
[
prePos
];
}
else
{
cpu
Cycl
eCurTsk
+=
g_cpup
[
loopNum
].
allTime
-
g_cpup
[
loopNum
].
historyTime
[
curPos
];
cpu
Tim
eCurTsk
+=
g_cpup
[
loopNum
].
allTime
-
g_cpup
[
loopNum
].
historyTime
[
curPos
];
}
cpupInfo
[
loopNum
].
usStatus
=
g_cpup
[
loopNum
].
status
;
if
(
cpu
Cycl
eAll
)
{
cpupInfo
[
loopNum
].
uwUsage
=
(
UINT32
)((
LOS_CPUP_PRECISION
*
cpu
CycleCurTsk
)
/
cpuCycl
eAll
);
if
(
cpu
Tim
eAll
)
{
cpupInfo
[
loopNum
].
uwUsage
=
(
UINT32
)((
LOS_CPUP_PRECISION
*
cpu
TimeCurTsk
)
/
cpuTim
eAll
);
}
cpu
Cycl
eCurTsk
=
0
;
cpu
Tim
eCurTsk
=
0
;
}
OsTskCycleStart
();
...
...
@@ -606,13 +620,13 @@ LITE_OS_SEC_TEXT_MINOR VOID OsCpupIrqStart(UINT32 intNum)
return
;
}
g_irqCpup
[
intNum
].
startTime
=
LOS_SysCycle
Get
();
g_irqCpup
[
intNum
].
startTime
=
CpupTimeUs
Get
();
return
;
}
LITE_OS_SEC_TEXT_MINOR
VOID
OsCpupIrqEnd
(
UINT32
intNum
)
{
UINT64
cpu
Cycl
e
;
UINT64
cpu
Tim
e
;
UINT64
usedTime
;
if
(
g_irqCpupInitFlg
==
0
)
{
...
...
@@ -623,14 +637,14 @@ LITE_OS_SEC_TEXT_MINOR VOID OsCpupIrqEnd(UINT32 intNum)
return
;
}
cpu
Cycle
=
LOS_SysCycle
Get
();
if
(
cpu
Cycl
e
<
g_irqCpup
[
intNum
].
startTime
)
{
cpu
Cycle
+=
g_cyclesPerTick
;
cpu
Time
=
CpupTimeUs
Get
();
if
(
cpu
Tim
e
<
g_irqCpup
[
intNum
].
startTime
)
{
cpu
Time
+=
OS_US_PER_TICK
;
}
g_irqCpup
[
intNum
].
cpupID
=
intNum
;
g_irqCpup
[
intNum
].
status
=
OS_CPUP_USED
;
usedTime
=
cpu
Cycl
e
-
g_irqCpup
[
intNum
].
startTime
;
usedTime
=
cpu
Tim
e
-
g_irqCpup
[
intNum
].
startTime
;
if
(
g_irqCpup
[
intNum
].
count
<=
1000
)
{
/* 1000, Take 1000 samples */
g_irqCpup
[
intNum
].
allTime
+=
usedTime
;
...
...
@@ -672,12 +686,12 @@ LITE_OS_SEC_TEXT_MINOR STATIC VOID OsGetIrqPositions(UINT16 mode, UINT16* curPos
LITE_OS_SEC_TEXT_MINOR
STATIC
UINT64
OsGetIrqAllTime
(
VOID
)
{
INT32
i
;
UINT64
cpu
Cycl
eAll
=
0
;
UINT64
cpu
Tim
eAll
=
0
;
for
(
i
=
0
;
i
<
OS_CPUP_HISTORY_RECORD_NUM
;
i
++
)
{
cpu
Cycl
eAll
+=
g_cpuHistoryTime
[
i
];
cpu
Tim
eAll
+=
g_cpuHistoryTime
[
i
];
}
return
cpu
Cycl
eAll
;
return
cpu
Tim
eAll
;
}
LITE_OS_SEC_TEXT_MINOR
STATIC
UINT64
OsGetIrqAllHisTime
(
UINT32
num
)
...
...
@@ -697,8 +711,8 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_GetAllIrqCpuUsage(UINT16 mode, CPUP_INFO_S *cp
UINT16
curPos
;
UINT16
prePos
=
0
;
UINT32
intSave
;
UINT64
cpu
Cycl
eAll
;
UINT64
cpu
Cycl
eCurIrq
;
UINT64
cpu
Tim
eAll
;
UINT64
cpu
Tim
eCurIrq
;
if
(
g_irqCpupInitFlg
==
0
)
{
return
LOS_ERRNO_CPUP_NO_INIT
;
...
...
@@ -712,9 +726,9 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_GetAllIrqCpuUsage(UINT16 mode, CPUP_INFO_S *cp
OsGetIrqPositions
(
mode
,
&
curPos
,
&
prePos
);
if
(
mode
==
CPUP_IN_10S
)
{
cpu
Cycl
eAll
=
OsGetIrqAllTime
();
cpu
Tim
eAll
=
OsGetIrqAllTime
();
}
else
{
cpu
Cycl
eAll
=
g_cpuHistoryTime
[
curPos
]
-
g_cpuHistoryTime
[
prePos
];
cpu
Tim
eAll
=
g_cpuHistoryTime
[
curPos
]
-
g_cpuHistoryTime
[
prePos
];
}
for
(
loopNum
=
0
;
loopNum
<
LOSCFG_PLATFORM_HWI_LIMIT
;
loopNum
++
)
{
...
...
@@ -725,13 +739,13 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_GetAllIrqCpuUsage(UINT16 mode, CPUP_INFO_S *cp
cpupInfo
[
loopNum
].
usStatus
=
g_irqCpup
[
loopNum
].
status
;
if
(
mode
==
CPUP_IN_10S
)
{
cpu
Cycl
eCurIrq
=
OsGetIrqAllHisTime
(
loopNum
);
cpu
Tim
eCurIrq
=
OsGetIrqAllHisTime
(
loopNum
);
}
else
{
cpu
Cycl
eCurIrq
=
g_irqCpup
[
loopNum
].
historyTime
[
curPos
]
-
g_irqCpup
[
loopNum
].
historyTime
[
prePos
];
cpu
Tim
eCurIrq
=
g_irqCpup
[
loopNum
].
historyTime
[
curPos
]
-
g_irqCpup
[
loopNum
].
historyTime
[
prePos
];
}
if
(
cpu
Cycl
eAll
!=
0
)
{
cpupInfo
[
loopNum
].
uwUsage
=
(
UINT32
)((
LOS_CPUP_PRECISION
*
cpu
CycleCurIrq
)
/
cpuCycl
eAll
);
if
(
cpu
Tim
eAll
!=
0
)
{
cpupInfo
[
loopNum
].
uwUsage
=
(
UINT32
)((
LOS_CPUP_PRECISION
*
cpu
TimeCurIrq
)
/
cpuTim
eAll
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录