更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
los_vdso_pri.h 文件参考

浏览源代码.

函数

VOID OsVdsoTimeGet (VdsoDataPage *)
 将最新的时间刷进数据页 更多...
 

变量

CHAR __vdso_data_start
 数据区起始地址 __vdso_data_start < __vdso_text_start 更多...
 
CHAR __vdso_text_start
 代码区起始地址 更多...
 
CHAR __vdso_text_end
 代码区结束地址 更多...
 

函数说明

◆ OsVdsoTimeGet()

VOID OsVdsoTimeGet ( VdsoDataPage vdsoDataPage)

将最新的时间刷进数据页

在文件 time.c1200 行定义.

1201{
1202 UINT32 intSave;
1203 struct timespec64 tmp = {0};
1204 struct timespec64 hwTime = {0};
1205
1206 if (vdsoDataPage == NULL) {
1207 return;
1208 }
1209
1210 OsGetHwTime(&hwTime);//获取硬件时间
1211
1212 LOS_SpinLockSave(&g_timeSpin, &intSave);
1213 tmp = OsTimeSpecAdd(hwTime, g_accDeltaFromAdj);//
1214 vdsoDataPage->monoTimeSec = tmp.tv_sec;
1215 vdsoDataPage->monoTimeNsec = tmp.tv_nsec;
1216
1217 tmp = OsTimeSpecAdd(tmp, g_accDeltaFromSet);
1218 vdsoDataPage->realTimeSec = tmp.tv_sec;
1219 vdsoDataPage->realTimeNsec = tmp.tv_nsec;
1220 LOS_SpinUnlockRestore(&g_timeSpin, intSave);
1221}
VOID LOS_SpinUnlockRestore(SPIN_LOCK_S *lock, UINT32 intSave)
Definition: los_spinlock.c:108
VOID LOS_SpinLockSave(SPIN_LOCK_S *lock, UINT32 *intSave)
Definition: los_spinlock.c:98
unsigned int UINT32
Definition: los_typedef.h:57
INT64 monoTimeSec
系统运行时间,从系统启动时开始计时,速度更快精度更低,系统休眠时不再计时
INT64 realTimeNsec
单位纳秒: 系统实时时间
INT64 realTimeSec
单位秒: 系统实时时间
STATIC VOID OsGetHwTime(struct timespec64 *hwTime)
获取硬件时间
Definition: time.c:287
STATIC struct timespec64 g_accDeltaFromAdj
Definition: time.c:146
STATIC INLINE struct timespec64 OsTimeSpecAdd(const struct timespec64 t1, const struct timespec64 t2)
增加指定时间
Definition: time.c:255
STATIC struct timespec64 g_accDeltaFromSet
Definition: time.c:148
函数调用图:
这是这个函数的调用关系图:

变量说明

◆ __vdso_data_start

CHAR __vdso_data_start
extern

数据区起始地址 __vdso_data_start < __vdso_text_start

◆ __vdso_text_end

CHAR __vdso_text_end
extern

代码区结束地址

◆ __vdso_text_start

CHAR __vdso_text_start
extern

代码区起始地址