教育房产时事环球科技商业
商业财经
热点动态
科技数码
软件应用
国际环球
晨报科学
新闻时事
信息智能
汽车房产
办公手机
教育体育
生活生物

一秒等于多少毫秒(一秒分为多少毫秒)

  ​​​​​​​​​​​​​​​​​此账号为华为云开发者社区官方运营账号,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态
  本文分享自华为云社区《鸿蒙轻内核M核源码分析系列六 时间管理》,原文作者:zhushy 。
  本文会继续分析 Tick 和时间相关的源码,给读者介绍鸿蒙轻内核的时间管理模块。本文中所涉及的源码,以 OpenHarmony LiteOS-M 内核为例,均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m 获取。
  时间管理模块以系统时钟为基础,可以分为 2 部分,一部分是 SysTick 中断,为任务调度提供必要的时钟节拍;另外一部分是,给应用程序提供所有和时间有关的服务,如时间转换、统计功能。
  系统时钟是由定时器/计数器产生的输出脉冲触发中断产生的,一般定义为整数或长整数。输出脉冲的周期叫做一个"时钟滴答",也称为时标或者 Tick。Tick 是操作系统的基本时间单位,由用户配置的每秒 Tick 数决定。如果用户配置每秒的 Tick 数目为 1000,则 1 个 Tick 等于 1ms 的时长。另外一个计时单位是 Cycle,这是系统最小的计时单位。Cycle 的时长由系统主时钟频率决定,系统主时钟频率就是每秒钟的 Cycle 数,对于 216 MHz 的 CPU,1 秒产生 216000000 个 cycles。
  用户以秒、毫秒为单位计时,而操作系统以 Tick 为单位计时,当用户需要对系统进行操作时,例如任务挂起、延时等,此时可以使用时间管理模块对 Tick 和秒/毫秒进行转换。
  下面,我们剖析下时间管理模块的源代码,若涉及开发板部分,以开发板工程 targets\cortex-m7_nucleo_f767zi_gcc\为例进行源码分析。1、时间管理初始化和启动
  我们先看下时间管理模块的相关配置,然后再剖析如何初始化,如何启动。1.1 时间管理相关的配置
  时间管理模块涉及 3 个配置项,系统时钟 OS_SYS_CLOCK、每秒 Tick 数目 LOSCFG_BASE_CORE_TICK_PER_SECOND 两个配置选项,还有宏 LOSCFG_BASE_CORE_TICK_HW_TIME。LOSCFG_BASE_CORE_TICK_HW_TIME 默认关闭,开启时,需要提供定制函数 VOID platform_tick_handler(VOID),在 Tick 中断处理函数中执行定制操作。这些配置项在模板开发板工程目录的文件 target_config.h 中定义,如文件 targets\cortex-m7_nucleo_f767zi_gcc\target_config.h 中定义如下:#define OS_SYS_CLOCK                                        96000000 #define LOSCFG_BASE_CORE_TICK_PER_SECOND                    (1000UL) #define LOSCFG_BASE_CORE_TICK_HW_TIME                       01.2 时间管理初始化和启动
  函数 INT32 main(VOID)会调用 kernel\src\los_init.c 中的函数 UINT32 LOS_Start(VOID)启动系统,该函数会调用启动调度函数 UINT32 HalStartSchedule(OS_TICK_HANDLER handler)。源码如下:LITE_OS_SEC_TEXT_INIT UINT32 LOS_Start(VOID) {     return HalStartSchedule(OsTickHandler); }
  ​函数 UINT32 HalTickStart(OS_TICK_HANDLER *handler)定义在 kernel\arch\arm\cortex-m7\gcc\los_context.c,源码如下。其中函数参数为 Tick 中断处理函数 OsTickHandler(),后文会分析该 tick 中断处理函数。⑴处代码继续调用函数进一步调用函数 HalTickStart(handler)来设置 Tick 中断启动。⑵处会调用汇编函数 HalStartToRun 开始运行系统,后续任务调度系列再详细分析该汇编函数。LITE_OS_SEC_TEXT_INIT UINT32 HalStartSchedule(OS_TICK_HANDLER handler) {     UINT32 ret; ⑴  ret = HalTickStart(handler);     if (ret != LOS_OK) {         return ret;     } ⑵  HalStartToRun();     return LOS_OK; /* never return */ }
  函数 HalTickStart(handler)定义在文件 kernel\arch\arm\cortex-m7\gcc\los_timer.c,源码如下,我们分析下函数的代码实现。⑴处校验下时间管理模块的配置项的合法性。在开启宏 LOSCFG_USE_SYSTEM_DEFINED_INTERRUPT 时,会使用系统定义的中断。会执行⑵处的代码,调用定义在文件 kernel\arch\arm\cortex-m7\gcc\los_interrupt.c 中的函数 OsSetVector()设置中断向量,该函数在中断系列会详细分析。⑶处设置全局变量 g_sysClock 为系统时钟,g_cyclesPerTick 为每 tick 对应的 cycle 数目,g_ullTickCount 初始化为 0,表示系统 tick 中断发生次数。⑷处调用定义在 targets\cortex-m7_nucleo_f767zi_gcc\Drivers\CMSIS\Include\core_cm7.h 文件中的内联函数 uint32_t SysTick_Config(uint32_t ticks),初始化、启动系统定时器 Systick 和中断。WEAK UINT32 HalTickStart(OS_TICK_HANDLER *handler) {     UINT32 ret;   ⑴  if ((OS_SYS_CLOCK == 0) ||         (LOSCFG_BASE_CORE_TICK_PER_SECOND == 0) ||         (LOSCFG_BASE_CORE_TICK_PER_SECOND

医院人流怎么样(公立医院做人流真麻烦)无痛人流,仅需三分钟,让你在睡梦中完成相信大家都听过这个广告,人流真的像铺天盖地的广告词形容的那么容易吗?今天咱们邀请到福建医科大学附属第一医院,妇产科副主任医师江洪,和大家分享人哪里可以人流(人流做的干净表现)性是美好的,人人都有享受的权利,但在没有决定生育之前,与之形影相随的总有避孕失败这个问题。很多年轻女孩在还没学会保护自己的时候,就轻易的把自己交到别人手上,并心存侥幸的认为一两次也做人流哪里便宜(哪里医院做打胎较便宜)很多女性在面对自己意外怀孕时往往会很恐慌,心里很压抑,不知道该如何做选择。专家建议,如果女性决定做人流手术解除意外怀孕烦恼的话,一定要去正规的医院。那么,杭州人流医院哪家好?做人流做无痛人流哪里好(无痛人流去哪家医院好些)同花顺(300033)财经2021年6月1日讯,有投资者向罗欣药业(002793)提问,请问贵公司旗下所运营费县第二人民医院有生育相关的业务吗?或者贵公司有开展生育相关业务吗?公司药流和人流哪个好(打胎是药流好还是无痛人流好)激情过后,保护措施没有做好,烦恼随之而来,门诊很多人总是咨询人流好还是药流好?哪个伤害更小一些?这儿可以肯定的回复您,任何形式的流产都有可能会给身体造成一定程度的伤害,但如果两个非多少天做流产(胎儿多少天内可以人流)首先我们要知道,做人流是有严格的时间规定的,不是说一旦知道自己怀孕了就立即去打胎。专家指出,最人流的时间不能太早也不能太晚,一般在确定怀孕后的3560天,这个时间内做人流对女性朋友人流多久上班(人流第二天就上班了)人流又叫做人工流产,可分为药物和手术两种方式。用药物来流产的方式适合在妊娠的49天内进行,而人工手术流产是在孕早期即妊娠3个月内进行的流产方式。这两种方式都可以,只是适用的妊娠周数吸脂多久拆线(吸脂后多久可以上班)天气渐冷,为了能够暖和的度过这个冬天,饭桌上的涮肉火锅少不了,加之天凉以后人变得懒散,户外运动也减少了很多,于是脂肪越来越多的堆积在身体各个部位,冬季成了脂肪最容易泛滥的季节。节食近视手术哪里好(2020年近视手术价格)深圳激光矫正近视手术多少钱?近视眼激光矫正手术是目前主流治疗近视的方法,近视眼激光手术种类有很多,不同的手术方式对应着不同的费用,到底能做哪一种,也不是任意选择的,而是通过检查评估做微创手术大约多少钱(小腿微创手术多少费用)下肢静脉曲张是最常见的外周血管疾病之一,影响着全世界近13的人口。一般很轻的(12级)的,建议穿医用弹力袜治疗,更严重的建议手术治疗。目前提倡早治疗,有些2级患者也建议手术治疗。双割双眼哪里好(割双眼皮什么季节割好)理论上讲,双眼皮手术和近视手术,先做哪一个都是可以的。但通过眼科医生的临床经验,建议大家先做近视手术再做双眼皮手术较好。因为对于一些眼小的术者,需要借助工具固定上下眼皮以保证眼球正
苹果手机查早定位(苹果手机丢了如何查找手机位置)苹果手机查早定位(苹果手机丢了如何查找手机位置)现在的社会,手机现已成为了万众随身的一种设备,它可以上网和联络朋友,可以作为人们的掌上电脑。现在的手机大多数都是智能化的,可以和电脑苹果官方查早手机号码定位(如何用苹果查找别人的位置)苹果官方查早手机号码定位(如何用苹果查找别人的位置)跟着移动互联网的翻开,手机现已成为咱们作业日子不行切开的一部分。假定手机不幸丢掉,所有人都会很着急,都期望赶快找回来。而要找回来苹果手机查早定位(苹果手机位置在哪里?)苹果手机查早定位(苹果手机位置在哪里?)现在的社会,手机现已成为了万众随身的一种设备,它可以上网和联络朋友,可以作为人们的掌上电脑。现在的手机大多数都是智能化的,可以和电脑比美,可联通手机怎么查定位(如何定位他人手机位置)联通手机怎么查定位(如何定位他人手机位置)现在的社会,手机现已成为了万众随身的一种设备,它可以上网和联络朋友,可以作为人们的掌上电脑。现在的手机大多数都是智能化的,可以和电脑比美,查手机定位有哪些软件有哪些内容(手机号查询定位)查手机定位有哪些软件有哪些内容(手机号查询定位)现在的社会,手机现已成为了万众随身的一种设备,它能够上网和联络朋友,能够作为人们的掌上电脑。现在的手机大多数都是智能化的,能够和电脑查手机定位软件有哪些(怎么定位手机位置)查手机定位软件有哪些(怎么定位手机位置)现在的社会,手机现已成为了万众随身的一种设备,它能够上网和联络朋友,能够作为人们的掌上电脑。现在的手机大多数都是智能化的,能够和电脑比美,能查手机定位有哪些软件(怎么查定位)查手机定位有哪些软件(怎么查定位)现在的社会,手机现已成为了万众随身的一种设备,它可以上网和联络朋友,可以作为人们的掌上电脑。现在的手机大多数都是智能化的,可以和电脑比美,可以说是查手机定位有哪些软件有哪些(怎么定位手机位置)查手机定位有哪些软件有哪些(怎么定位手机位置)现在的社会,手机现已成为了万众随身的一种设备,它可以上网和联络朋友,可以作为人们的掌上电脑。现在的手机大多数都是智能化的,可以和电脑比查手机定位有哪些软件有哪些内容(查询手机位置定位)查手机定位有哪些软件有哪些内容(查询手机位置定位)现在的社会,手机现已成为了万众随身的一种设备,它能够上网和联络朋友,能够作为人们的掌上电脑。现在的手机大多数都是智能化的,能够和电查别人手机定位的软件有哪些(查看手机定位)查别人手机定位的软件有哪些(查看手机定位)现在的社会,手机现已成为了万众随身的一种设备,它能够上网和联络朋友,能够作为人们的掌上电脑。现在的手机大多数都是智能化的,能够和电脑比美,iqoo查手机定位(查手机定位怎么查?)iqoo查手机定位(查手机定位怎么查?)现在的社会,手机现已成为了万众随身的一种设备,它可以上网和联络朋友,可以作为人们的掌上电脑。现在的手机大多数都是智能化的,可以和电脑比美,可