Android内核驱动Alarm第十一章 Android 内核驱动――Alarm11.1 基本原理Alarm 闹钟是 android 系统中在标准 RTC 驱动上开发的一个新的驱动,提供了一个定时器 用于把设备从睡眠状态唤醒,当然因为它是依赖 RTC 驱动的,所以它同时还可以为系统提 供一个掉电下还能运行的实时时钟。 当系统断电时,主板上的 rtc 芯片将继续维持系统的时间,这样保证再次开机后系统的时间 不会错误。当系统开始时,内核从 RTC 中读取时间来初始化系统时间,关机时便又将系统 时间写回到 rtc 中,关机阶段将有主板上另外的电池来供应 rtc 计时。Android 中的 Alarm 在设备处于睡眠模式时仍保持活跃,它可以设置来唤醒设备。上图为 android 系统中 alarm 和 rtc 驱动的框架。 Alarm 依赖于 rtc 驱动框架, 但它不是一个 rtc 驱 动 , 主 要 还 是 实 现 定 时 闹 钟 的 功 能 。 相 关 源 代 码 在 kernel/drivers/rtc/alarm.c 和 drivers/rtc/alarm_dev.c。 其中 alarm.c 文件实现的是所有 alarm 设备的通用性操作,它创建了一个设备 class,而alarm_dev.c 则创建具体的 alarm 设备, 注册到该设备 class 中。 alarm.c 还实现了与 interface.c 的接口, 即建立了与具体 rtc 驱动和 rtc 芯片的联系。 alarm_dev.c 在 alarm.c 基础包装了一层, 主要是实现了标准的 miscdevice 接口,提供给应用层调用。 可以这样概括:alarm.c 实现的是机制和框架,alarm_dev.c 则是实现符合这个框架的设备驱 动,alarm_dev.c 相当于在底层硬件 rtc 闹钟功能的基础上虚拟了多个软件闹钟……
猜您喜欢
推荐帖子 最新更新时间:2024-11-13 06:41
推荐内容
开源项目推荐 更多
热门活动
热门器件
用户搜过
随便看看
热门下载
热门文章
评论