查看: 4743|回复: 5

[MQX] Kinetis MQX中系统时间是如何更新的?

[复制链接]
  • TA的每日心情
    奋斗
    2017-1-17 10:45
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    38

    主题

    395

    帖子

    3

    高级会员

    Rank: 4

    积分
    780
    最后登录
    2023-11-17
    发表于 2012-2-9 12:45:23 | 显示全部楼层 |阅读模式
    MQX中的时间组件提供了获取系统时间的函数。系统时间来自于硬件的定时器中断systick,但是在mqx中,我没找到系统定时器中断服务程序的位置,请高人指点。我想了解一下在系统定时器中断函数中程序的执行过程。
    我知道答案 目前已有4人回答
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-1-17 10:45
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    38

    主题

    395

    帖子

    3

    高级会员

    Rank: 4

    积分
    780
    最后登录
    2023-11-17
     楼主| 发表于 2012-2-9 14:00:07 | 显示全部楼层

    回复:Kinetis MQX中系统时间是如何更新的?

    在init_bsp.c文件中,_bsp_enable_card函数中调用了安装系统定时器中断的函数,在该函数中指定了系统定时器中断调用的ISR为_bsp_systick函数,这个函数也定义在init_bsp.c文件中。
    需要注意的是,许多关于systick的函数都在init_bsp.c文件中定义。
    而_bsp_systick函数内部调用了_time_notify_kernel函数,想来是通知系统内核更新系统时间的。
    继续看代码。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-2-9 14:01:15 | 显示全部楼层

    RE:Kinetis MQX中系统时间是如何更新的?

    看MQX手册.PDF中的定时器这一章,有详细介绍定时器。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-1-17 10:45
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    38

    主题

    395

    帖子

    3

    高级会员

    Rank: 4

    积分
    780
    最后登录
    2023-11-17
     楼主| 发表于 2012-2-9 15:38:43 | 显示全部楼层

    回复:Kinetis MQX中系统时间是如何更新的?

    在mqx中,先在twrk60n512.h文件中用宏定义定义系统定时器中断的中断号,然后在_init_bsp.c文件中的若干个函数中定义了systick的配置与调用、并且安装了systick中断。在systick的ISR中内部调用内核在ti_krnl.c文件中的函数,包括psp中更新系统时间的函数(实际是宏),同时还有与任务调度相关执行过程。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    33

    主题

    441

    帖子

    0

    新手上路

    Rank: 1

    积分
    7703
    最后登录
    1970-1-1
    发表于 2012-3-1 22:30:16 | 显示全部楼层

    RE:Kinetis MQX中系统时间是如何更新的?

    Mqx用的就是那个timer_notify_kernel
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-1-17 10:45
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    38

    主题

    395

    帖子

    3

    高级会员

    Rank: 4

    积分
    780
    最后登录
    2023-11-17
     楼主| 发表于 2012-3-2 20:20:29 | 显示全部楼层

    回复:Kinetis MQX中系统时间是如何更新的?

    是的,timer_notify_kernel函数中执行了系统时间的更新,轮询任务的调度,高优先级任务的抢占等等。通过这个函数几乎可以了解到mqx操作系统内核的核心工作过程。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-28 01:38 , Processed in 0.093371 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表