关于RTC,不管是X86架构下面还是ARM下面,都对应着相应的设备节点
- /sys/devices/platform/rtc.0/rtc/rtc0 # ls /dev/rtc0
-
/dev/rtc0
-
/sys/devices/platform/rtc.0/rtc/rtc0 #
-
-
root@ubuntu:/sys/devices/pnp0/00:09/rtc/rtc0# ls /dev/rtc*
-
/dev/rtc /dev/rtc0
-
root@ubuntu:/sys/devices/pnp0/00:09/rtc/rtc0#
-
root@ubuntu:/sys/devices/pnp0/00:09/rtc/rtc0#
进入到目录:/sys/devices/pnp0/00:09/rtc/rtc0
- root@ubuntu:/sys/devices/pnp0/00:09/rtc/rtc0# ls
-
date dev device hctosys max_user_freq name power since_epoch subsystem time uevent wakealarm
-
root@ubuntu:/sys/devices/pnp0/00:09/rtc/rtc0#
其中time和date最管用,通常我们的命令就可以从这里获取到时间和日期了。wakealarm和闹钟有管的。需要查看相关RTC的linux内核驱动来确认一下每一个节点的作用。
获取驱动的名字:
- root@ubuntu:/sys/devices/pnp0/00:09/rtc/rtc0# cat name
-
rtc_cmos
在linux内核的代码里面搜索字符串:
- root@ubuntu:~/workspace//kernel_2.6.32/drivers# grep -rn "rtc_cmos" .
-
./rtc/rtc-cmos.c:64:static const char driver_name[] = "rtc_cmos";
-
./rtc/rtc-cmos.c:767: irq_handler_t rtc_cmos_int_handler;
-
./rtc/rtc-cmos.c:772: rtc_cmos_int_handler = hpet_rtc_interrupt;
-
./rtc/rtc-cmos.c:780: rtc_cmos_int_handler = cmos_interrupt;
-
./rtc/rtc-cmos.c:782: retval = request_irq(rtc_irq, rtc_cmos_int_handler,
-
./rtc/rtc-cmos.c:1162:MODULE_ALIAS("platform:rtc_cmos");
在文件driver/rtc/rtc-cmos.c这里面。下次继续分析RTC驱动代码,待续....
阅读(4571) | 评论(0) | 转发(0) |