一、RTC的作用
对于手机、PDA的嵌入式平台的关机闹钟都使用RTC实现,RTC是一个硬件。
RTC中存储两个时间,一个是普通的滴答时间,另一个是提醒时间,RTC犹如一个滴答计时器,当RTC中时钟到达指定的提醒时间的时候,就会发出中断,让系统开机,从而达到关机闹钟的功能。
在Linux中,当系统启动之后,会启动一个叫atd的deamon进程,用于操作rtc。
atd中会用while循环不停的查询/var/spool/at/xxx.pid和/var/spool/at/trigger两个管道是否有数据,如果有则重新设置RTC的滴答时间或是提醒时间(/var/spool/at/xxx.pid是以提醒的时间的UTC的秒数来命名的;而/var/spool/at/trigger中有数据"w"表示需要将系统当前时间写到RTC中)。当设置一个提醒时间到RTC之后,会使用select监听/var/spool/at/xxx.pid和/var/spool/at/trigger两个管道及rtc提醒时间的中断消息。
二、RTC的接口
RTC硬件对应的设备文件是/dev/rtc。
下面省略了open和close接口
2.1、Read
对RTC设备的读操作主要是返回目前