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_tick | LOS_MS2Tick | 毫秒转换Tick |
LOS_TickTimerRegister | 重新初始化Tick时钟 | |
LOS_UDelay | CPU us延时 | |
LOS_MDelay | CPU ms延时 | |
LOS_CurrNanosec | 获取系统启动以来的纳秒数 | |
OsTickHandler | Tick中断相应函数 | |
OsCpuTick2MS | CPU Tick周期转换毫秒数 | |
OsCpuTick2US | CPU 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细化。程序已调通,可直接运行。 164 奇异值分解 小波降噪 zoom细化 (xiaohongshu.com)...
C语言结构体的别名与创建结构体变量
这段代码是用C语言定义了一个链表节点的结构体,并通过typedef为相关类型创建了别名。下面分别解释Lnode和pNode: 1. Lnode Lnode是通过typedef为struct node定义的一个别名。struct node是一个结构体类型,表示一个链表节点。它的定义如下&a…...
Windows上用FFmpeg推流及拉流的流程概览
1. 视频采集与推流(Windows FFmpeg) 采集设备:Windows上的摄像头,比如“Integrated Camera”。 采集方式:FFmpeg通过 dshow 设备接口读取摄像头。 推流协议:你可以选择推到 RTMP 或 RTSP 服务器。 推流…...
csharp ef入门
全局安装 dotnet ef 命令行工具 要 全局安装 dotnet ef 命令行工具(即在任何项目目录下都能使用 dotnet ef 命令),请按以下步骤操作: ✅ 全局安装步骤(推荐) 在终端中运行以下命令: bash复制…...
vBulletin未认证API方法调用漏洞(CVE-2025-48827)
免责声明 本文档所述漏洞详情及复现方法仅限用于合法授权的安全研究和学术教育用途。任何个人或组织不得利用本文内容从事未经许可的渗透测试、网络攻击或其他违法行为。使用者应确保其行为符合相关法律法规,并取得目标系统的明确授权。 对于因不当使用本文信息而造成的任何直…...

azure web app创建分步指南系列之二
为注册表授权托管标识 你创建的托管标识尚未获得从容器注册表中提取数据的授权。在此步骤中,你将启用授权。 返回容器注册表的管理页面: 在左侧导航菜单中,选择“访问控制 (IAM)”。选择“添加角色分配”。此屏幕截图显示了如何为容器注册表启用添加角色分配。在角色列表中…...

2025年上半年软考系统架构设计师--案例分析试题与答案
必选题一:大模型训练系统 某公司开发一个在线大模型训练平台,支持 Python 代码编写、模型训练和部署,用户通过 python 编写模型代码,将代码交给系统进行模型代码的解析,最终由系统匹配相应的计算机资源进行输出,用户不需要关心底层硬件平台。 a.系统发生…...
【Java】mybatis-plus乐观锁-基本使用
乐观锁(Optimistic Locking)是解决并发问题的重要机制。它通过在数据更新时验证数据版本来确保数据的一致性,从而避免并发冲突。与悲观锁不同,乐观锁并不依赖数据库的锁机制,而是通过检查数据的版本或标志字段来判断数…...

介绍一种LDPC码译码器
介绍比特翻转译码原理以及LDPC码译码器的设计。 1 译码理论 比特翻转(BF)译码算法是硬判决算法的一种。 主要译码思想是:当有一个校验矩阵出错时,BF 算法认为在这个校验矩阵中一定至少存在一个位置的码字信息是错误的࿱…...
前端流式接收数据讲解
前端流式接收数据全面讲解 前端流式接收数据(Streaming Data Reception)是现代 Web 应用中一个重要特性,尤其在处理实时通信、大文件传输、聊天、视频播放、实时日志监控等场景下。下面我们从概念到技术实现,再到应用示例&#x…...
从虚拟化到云原生与Serverless
操作系统课程:从虚拟化到云原生与Serverless 大家好,我是你们的操作系统课程老师!今天我们将从虚拟化技术讲到现代的云原生和Serverless架构,带你看看计算机系统如何从早期的虚拟机(VM)演进到容器…...