更新时间:2021-07-08 GMT+08:00
分享

开发指导

使用场景

用户需要了解当前系统运行的时间以及Tick与秒、毫秒之间的转换关系等。

功能

Huawei LiteOS的时间管理提供下面几种功能,接口详细信息可以查看API参考。

功能分类

接口名

描述

时间转换

LOS_MS2Tick

毫秒转换成Tick

LOS_Tick2MS

Tick转化为毫秒

时间统计

LOS_CyclePerTickGet

每个Tick多少Cycle数

LOS_TickCountGet

获取自系统启动以来的Tick数

LOS_GetCpuCycle

获取自系统启动以来的Cycle数

LOS_CurrNanosec

获取自系统启动以来的纳秒数

延时管理

LOS_Udelay

以us为单位的忙等,但可以被优先级更高的任务抢占

LOS_Mdelay

以ms为单位的忙等,但可以被优先级更高的任务抢占

时间管理错误码

时间转换存在出错的可能性,需要返回对应的错误码,以便快速定位错误原因。

序号

定义

实际数值

描述

参考解决方案

1

LOS_ERRNO_TICK_CFG_INVALID

0x02000400

无效的系统Tick配置

在板级配置适配时配置有效的系统主时钟频率OS_SYS_CLOCK,通过make menuconfig配置有效的LOSCFG_BASE_CORE_TICK_PER_SECOND

2

LOS_ERRNO_TICK_NO_HWTIMER

0x02000401

暂不使用该错误码

-

3

LOS_ERRNO_TICK_PER_SEC_TOO_SMALL

0x02000402

暂不使用该错误码

-

开发流程

时间管理的典型开发流程:

  1. 根据实际需求,在板级配置适配时确认是否使能LOSCFG_BASE_CORE_TICK_HW_TIME宏选择外部定时器,并配置系统主时钟频率OS_SYS_CLOCK(单位Hz)。OS_SYS_CLOCK的默认值基于硬件平台配置。
  2. 通过make menuconfig配置LOSCFG_BASE_CORE_TICK_PER_SECOND,配置项的菜单路径为:Kernel ---> Basic Config ---> Task。

    配置项

    含义

    取值范围

    默认值

    依赖

    LOSCFG_BASE_CORE_TICK_PER_SECOND

    每秒Tick数

    (0, 1000]

    100

  3. 调用时钟转换/统计接口。

相关文档