开发指导
使用场景
用户需要了解当前系统运行的时间以及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 | 暂不使用该错误码 | - |
开发流程
时间管理的典型开发流程:
- 根据实际需求,在板级配置适配时确认是否使能LOSCFG_BASE_CORE_TICK_HW_TIME宏选择外部定时器,并配置系统主时钟频率OS_SYS_CLOCK(单位Hz)。OS_SYS_CLOCK的默认值基于硬件平台配置。
- 通过make menuconfig配置LOSCFG_BASE_CORE_TICK_PER_SECOND,配置项的菜单路径为:Kernel ---> Basic Config ---> Task。
配置项
含义
取值范围
默认值
依赖
LOSCFG_BASE_CORE_TICK_PER_SECOND
每秒Tick数
(0, 1000]
100
无
- 调用时钟转换/统计接口。

