rtc的研究系列之一

4798阅读 0评论2011-10-23 mychz2011
分类:LINUX

关于RTC,不管是X86架构下面还是ARM下面,都对应着相应的设备节点

  1. /sys/devices/platform/rtc.0/rtc/rtc0 # ls /dev/rtc0
  2. /dev/rtc0
  3. /sys/devices/platform/rtc.0/rtc/rtc0 #

  4. root@ubuntu:/sys/devices/pnp0/00:09/rtc/rtc0# ls /dev/rtc*
  5. /dev/rtc /dev/rtc0
  6. root@ubuntu:/sys/devices/pnp0/00:09/rtc/rtc0#
  7. root@ubuntu:/sys/devices/pnp0/00:09/rtc/rtc0#


进入到目录:/sys/devices/pnp0/00:09/rtc/rtc0
  1. root@ubuntu:/sys/devices/pnp0/00:09/rtc/rtc0# ls
  2. date dev device hctosys max_user_freq name power since_epoch subsystem time uevent wakealarm
  3. root@ubuntu:/sys/devices/pnp0/00:09/rtc/rtc0#
其中time和date最管用,通常我们的命令就可以从这里获取到时间和日期了。wakealarm和闹钟有管的。需要查看相关RTC的linux内核驱动来确认一下每一个节点的作用。

获取驱动的名字:
  1. root@ubuntu:/sys/devices/pnp0/00:09/rtc/rtc0# cat name
  2. rtc_cmos
在linux内核的代码里面搜索字符串:
  1. root@ubuntu:~/workspace//kernel_2.6.32/drivers# grep -rn "rtc_cmos" .
  2. ./rtc/rtc-cmos.c:64:static const char driver_name[] = "rtc_cmos";
  3. ./rtc/rtc-cmos.c:767: irq_handler_t rtc_cmos_int_handler;
  4. ./rtc/rtc-cmos.c:772: rtc_cmos_int_handler = hpet_rtc_interrupt;
  5. ./rtc/rtc-cmos.c:780: rtc_cmos_int_handler = cmos_interrupt;
  6. ./rtc/rtc-cmos.c:782: retval = request_irq(rtc_irq, rtc_cmos_int_handler,
  7. ./rtc/rtc-cmos.c:1162:MODULE_ALIAS("platform:rtc_cmos");
在文件driver/rtc/rtc-cmos.c这里面。下次继续分析RTC驱动代码,待续....
上一篇:Ubuntu Linux根分区扩容方法
下一篇:BIT的操作