Alarm底层驱动设计

1.硬件分析
When 就是根据预设的时间, HOW 就是中断产生中断信号(正常情况)和 掉电(异常)
同样会产生中断信号同时也会产生ALARM_WK 的信号
2.驱动分析:
上节课分析到上层访问到 /dev/alarm 设备文件的 ioctl

1)所以首先分析 alarm 驱动,对应的驱动就是 Alarm-dev.c 先找到 alarm_dev_init() 函数然后找到 misc_register 函数(告诉我们 alarm驱动是混杂设备)所以我们就去看他的设备定义
然后就到 fops 的操作集,找到我们上层着重关心的 ioctl 这个接口,进入这个接口,发现涉及的也很多,着重关心的是设计一个新的闹钟 就找到 ANDROID_ALARM_SET_RTC命令

找到 alarm_set_rtc 函数,进入真正有用的是 rtc_set_time 函数 发现开始从 a
本文深入探讨了Android系统中Alarm的底层驱动设计,包括硬件分析和驱动分析两个方面。在硬件层面,Alarm驱动会根据预设时间产生中断信号。在驱动分析中,主要关注Alarm-dev.c中的ioctl接口,特别是ANDROID_ALARM_SET_RTC命令,它最终会调用rtc_set_time函数,将控制权转交给RTC驱动。RTC驱动按照平台设备驱动方式编写,初始化过程包括硬件使能、获取当前时间、注册RTC设备以及申请中断。重点在于RTC设备的ops结构中的set_time函数,用于设置闹钟功能。
订阅专栏 解锁全文

1728

被折叠的 条评论
为什么被折叠?



