Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
说明:
RTC驱动在注册的时候提供了两个字符设备给用户空间供操作。
1. /dev/alarm, android特有设备,为了提高平台无关性而加入,这里不关注闹钟的设置。
2. /dev/rtcx, 原始linux操作字符设备的方法。
通过alarm节点操作:
上层的操作最终都是通过alarm节点来实现,JNI提供给上层应用的接口在
frameworks/base/services/core/jni/com_android_server_AlarmManagerService.cpp
初始化:
android_server_AlarmManagerService_init -> init_alarm_driver
static jlong init_alarm_driver()
{
int fd = open("/dev/alarm", O_RDWR);
......
AlarmImpl *ret = new AlarmImplAlarmDriver(fd);
}
设置时间:
android_server_AlarmManagerService_setKernelTi