当前位置: 首页 > news >正文

HCIA-HarmonyOS设备开发认证V2.0-3.2.轻量系统内核基础-时间管理

在这里插入图片描述

目录

  • 一、时间管理
    • 1.1、时间接口
    • 1.2、代码分析(待续...)
  • 坚持就有收获

一、时间管理

  • 时间管理以系统时钟为基础,给应用程序提供所有和时间有关的服务。
  • 系统时钟是由定时器/计数器产生的输出脉冲触发中断产生的,一般定义为整数或长整数。输出脉冲的周期叫做一个“时钟滴答”。系统时钟也称为时标或者Tick。
  • 用户以秒、毫秒为单位计时,而操作系统以Tick为单位计时,当用户需要对系统进行操作时,例如任务挂起、延时等,此时需要时间管理模块对Tick和秒/毫秒进行转换。
  • LiteOS-M 内核时间管理模块提供时间转换、统计功能。
    时间单位:
  • Cycle:系统最小的计时单位。Cycle的时长由系统主时钟频率决定,系统主时钟频率就是每秒钟的Cycle数。
  • Tick:Tick是操作系统的基本时间单位,由用户配置的每秒Tick数决定。
  • 时间管理不是单独的功能模块,依赖于OS_SYS_CLOCK和LOSCFG_BASE_CORE_TICK_PER_SECOND 两个配置选项。

源码定义#define LOSCFG_BASE_CORE_TICK_PER_SECOND (100UL),表示一个Tick 等于千分之一百毫秒也就是十毫秒。

系统的Tick数在关中断的情况下不进行计数,故系统Tick数不能作为准确时间使用。

配置选项维护在开发板工程的文件target_config.h。

//例如stm32F4xx board
/*=============================================================================System clock module configuration
=============================================================================*/
#define OS_SYS_CLOCK                                        168000000       //CPU 主时钟
#define LOSCFG_BASE_CORE_TICK_PER_SECOND                    (1000UL)        //设置每秒Tick数
...

1.1、时间接口

功能类别接口函数描述
los_tickLOS_MS2Tick毫秒转换Tick
LOS_TickTimerRegister重新初始化Tick时钟
LOS_UDelayCPU us延时
LOS_MDelayCPU ms延时
LOS_CurrNanosec获取系统启动以来的纳秒数
OsTickHandlerTick中断相应函数
OsCpuTick2MSCPU Tick周期转换毫秒数
OsCpuTick2USCPU Tick周期转换微秒数
OsCycle2MS周期转毫秒数
OsCycle2US周期转微秒数

1.2、代码分析(待续…)

坚持就有收获

在这里插入图片描述

相关文章:

HCIA-HarmonyOS设备开发认证V2.0-3.2.轻量系统内核基础-时间管理

目录 一、时间管理1.1、时间接口1.2、代码分析(待续...) 坚持就有收获 一、时间管理 时间管理以系统时钟为基础,给应用程序提供所有和时间有关的服务。系统时钟是由定时器/计数器产生的输出脉冲触发中断产生的,一般定义为整数或长…...

嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM驱动编程第五天-ARM Linux编程之file_operations详解 (物联技术666)

链接:https://pan.baidu.com/s/1V0E9IHSoLbpiWJsncmFgdA?pwd1688 提取码:1688 struct file_operations{ struct module *owner; // 指向拥有该结构的模块的指针,避免正在操作时被卸载,一般为初始化THIS_MODULES loff_t &#…...

第9章 网络编程

9.1 网络通信协议 通过计算机网络可以实现多台计算机连接,但是不同计算机的操作系统和硬件体系结构不同,为了提供通信支持,位于同一个网络中的计算机在进行连接和通信时必须要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵…...

Python setattr函数

在Python编程中,setattr()函数是一个有用且灵活的内置函数,用于设置对象的属性值。它可以在运行时动态地设置对象的属性,无论是新建对象还是已有对象。本文将深入探讨setattr()函数的用法、语法、示例代码,并探讨其在实际编程中的…...

[C#]winform制作仪表盘好用的表盘控件和使用方法

【仪表盘一般创建流程】 在C#中制作仪表盘文案(通常指仪表盘上的文本、数字或指标显示)涉及到使用图形用户界面(GUI)组件,比如Windows Forms、WPF (Windows Presentation Foundation) 或 ASP.NET 等。以下是一个使用W…...

探索弗洛姆的思想:人类本质与爱的哲学

探索弗洛姆的思想:人类本质与爱的哲学 摘要:艾里希弗洛姆是20世纪著名的德裔美国哲学家和精神分析学家,他的理论在心理学、社会学和哲学领域均产生了广泛影响。弗洛姆的核心思想围绕人的本性、自由发展以及爱的重要性展开,强调了人…...

【碎片知识点】安装Linux系统 VMware与kali

天命:VMware就是可以运行操作系统的载体,kali就是Linux的其中一个分支 天命:Linux有两个分支版本:centos与ubuntu,kali底层就是ubuntu(所有Linux用起来都差不多,没啥区别) 天命&…...

Android 车载应用开发之SystemUI 详解

一、SystemUI SystemUI全称System User Interface,直译过来就是系统级用户交互界面,在 Android 系统中由SystemUI负责统一管理整个系统层的 UI,它是一个系统级应用程序(APK),源码在/frameworks/base/packages/目录下,而不是在/packages/目录下,这也说明了SystemUI这个…...

C# CAD-Xdata数据 添加(一)

运行环境Visual Studio 2022 c# cad2016 一、XData(扩展数据)特定代码值 XData(扩展数据)特定代码值 XData通过一系列DXF组码(DxfCode)存储不同类型的数据,包括但不限于ASCII字符串、已注册应…...

【NLP】MHA、MQA、GQA机制的区别

Note LLama2的注意力机制使用了GQA。三种机制的图如下: MHA机制(Multi-head Attention) MHA(Multi-head Attention)是标准的多头注意力机制,包含h个Query、Key 和 Value 矩阵。所有注意力头的 Key 和 V…...

nginx upstream server主动健康监测模块添加https检测功能

1 缘起 前面的《nginx upstream server主动健康检测模块ngx_http_upstream_check_module 使用和源码分析》系列已经分析了ngx_http_upstream_check_module的实现原理,并且在借助这个模块的框架实现了一个udp健康检测的新功能。   但是ngx_http_upstream_check_mod…...

OCP的operator——(4)用户任务:使用Operator创建etcd集群

文章目录 环境在namespace中安装Operator先决条件使用Web console从OperatorHub安装删除 使用CLI从OperatorHub安装从已安装的Operator创建应用使用Operator创建etcd集群报错从web console debug从命令行debug分析 参考 环境 RHEL 9.3Red Hat OpenShift Local 2.32 在namespa…...

win7自带截图工具保存失效解决办法

今日发现一台远航技术的win7中自带的截图工具使用时正常,保存图片时没有弹出保存位置的对话窗口,无法正常保存图片。解决方案如下: 1、进入注册表编辑器。开始-搜索程序和文件-输入 regedit 按下回车键,打开注册表; 2、…...

Android14之Android Rust模块编译语法(一百八十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…...

分布式文件系统 SpringBoot+FastDFS+Vue.js【三】

分布式文件系统 SpringBootFastDFSVue.js【三】 七、创建后台--分角色管理7.1.创建后台数据库表7.2.创建实体类7.2.1.Admin7.2.2.Menu7.2.3.MenuBean7.2.4.Role7.2.5.RoleMenu 7.3.编辑配置文件application.yml7.4.编写工具类7.4.1.AuthContextHolder7.4.2.HttpUtils7.4.3.Stri…...

【深度学习每日小知识】全景分割

全景分割 全景分割是一项计算机视觉任务,涉及将图像或视频分割成不同的对象及其各自的部分,并用相应的类别标记每个像素。与传统的语义分割相比,它是一种更全面的图像分割方法,传统的语义分割仅将图像划分为类别,而不…...

机器人能否返回原点

657. 机器人能否返回原点 在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。 移动顺序由字符串 moves 表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右&a…...

Mysql5.6忘记密码,如何找回(windows)

mysql5.6安装 第一步:关闭正在运行的数据库服务 net stop mysql第二步:在my.ini文件当中的[mysqld] 任意一个位置放入 skip-grant-tables第三步:启动mysql服务 net start mysql第四步:服务启动成功后就可以登录了,…...

算法训练营day29, 贪心算法3

import ( "sort" ) // 1005. K 次取反后最大化的数组和 func largestSumAfterKNegations(nums []int, k int) int { //先从小到大排序 sort.Ints(nums) sum : 0 //将数组中负数转为正数 for i : 0; i < len(nums); i { if nums[i] < 0 && k > 0 …...

164基于matlab的奇异值分解、小波降噪、zoom细化

基于matlab的奇异值分解、小波降噪、zoom细化。程序已调通&#xff0c;可直接运行。 164 奇异值分解 小波降噪 zoom细化 (xiaohongshu.com)...

C++实战:用代码构建你的斗罗大陆武魂觉醒系统

1. 从零开始搭建武魂觉醒系统 第一次看到斗罗大陆的武魂觉醒桥段时&#xff0c;我就被这个充满想象力的设定吸引了。作为程序员&#xff0c;我总忍不住思考&#xff1a;如果用代码实现这个系统会怎样&#xff1f;去年带新人培训时&#xff0c;我尝试用C还原了这个过程&#xff…...

完整指南:为什么选择WeChatMsg开源工具解决你的微信聊天记录备份与分析难题

完整指南&#xff1a;为什么选择WeChatMsg开源工具解决你的微信聊天记录备份与分析难题 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitH…...

弯腰系鞋带:动作虽细微,脊柱 “被折得濒临损伤”!

频繁弯腰系鞋带、捡拾地面物品、整理鞋盒、照顾幼儿&#xff0c;颈腰椎损伤风险显著。弯腰时腰椎瞬间弯曲&#xff0c;椎间盘承受压力骤增&#xff1b;单腿站立弯腰时&#xff0c;身体平衡依赖腰部肌肉&#xff0c;受力不均易导致拉伤&#xff1b;反复弯腰起身动作&#xff0c;…...

政务短信钓鱼攻击机理与防控研究 —— 以美国宾州 PennDOT 诈骗事件为例

摘要 2026 年 3 月 27 日&#xff0c;宾夕法尼亚州官方发布安全预警&#xff0c;提示公众警惕冒充 PennDOT&#xff08;宾州交通局&#xff09;的短信钓鱼诈骗。此类攻击以车辆管理、罚单缴费、证件状态异常为诱饵&#xff0c;通过仿冒政务身份诱导用户点击恶意链接&#xff0c…...

高效流畅的WindowsB站体验:BiliBili-UWP第三方客户端全方位指南

高效流畅的WindowsB站体验&#xff1a;BiliBili-UWP第三方客户端全方位指南 【免费下载链接】BiliBili-UWP BiliBili的UWP客户端&#xff0c;当然&#xff0c;是第三方的了 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBili-UWP 作为一名Windows平台的B站用户&…...

4步掌握AI图像修复新工具:IOPaint从入门到精通指南

4步掌握AI图像修复新工具&#xff1a;IOPaint从入门到精通指南 【免费下载链接】IOPaint 项目地址: https://gitcode.com/GitHub_Trending/io/IOPaint AI图像修复技术正在改变我们处理数字图像的方式&#xff0c;从简单的水印去除到复杂的老照片修复&#xff0c;都可以…...

Kook Zimage 真实幻想 Turbo 作品集:中英混合提示词下的奇幻世界

Kook Zimage 真实幻想 Turbo 作品集&#xff1a;中英混合提示词下的奇幻世界 1. 走进幻想风格的视觉盛宴 想象一下&#xff0c;当你输入"月光下的精灵公主&#xff0c;银白色长发&#xff0c;透明翅膀&#xff0c;站在发光蘑菇林中&#xff0c;梦幻光影&#xff0c;8K高…...

避坑指南:MATLAB调用ROS2话题时,消息类型错误‘std_msgs/String’怎么办?

MATLAB与ROS2通信避坑指南&#xff1a;消息类型错误的深度解析与实战解决方案 当你在MATLAB中尝试与ROS2系统建立通信时&#xff0c;是否遇到过这样的报错&#xff1a;"Error using ros2subscriber. The message type std_msgs/String is invalid."&#xff1f;这看似…...

Python 3.14 JIT vs PyPy 8.3 vs GraalPython:金融风控场景下GC暂停时间对比实测(数据全部脱敏)

第一章&#xff1a;Python 3.14 JIT vs PyPy 8.3 vs GraalPython&#xff1a;金融风控场景下GC暂停时间对比实测&#xff08;数据全部脱敏&#xff09;为评估新一代Python运行时在低延迟金融风控场景中的实际表现&#xff0c;我们在统一硬件环境&#xff08;Intel Xeon Platinu…...

NRF52832实战指南:串口DFU固件升级全流程解析

1. NRF52832串口DFU升级核心概念解析 第一次接触NRF52832的串口DFU功能时&#xff0c;我被各种专业术语搞得晕头转向。经过实际项目验证后&#xff0c;我发现理解这几个核心概念就能掌握80%的关键点&#xff1a; Bootloader就像设备的"开机自检程序"&#xff0c;它负…...