RTC使用参考
1. 概述¶
本文讲述SigmaStar RTCPWC驱动的使用方法,RTC驱动采用标准的LINUX框架,能够使用统一的接口来操作RTC,同时在LINUX框架外添加符合SigmaStar IP功能的附加设置。
2. RTC操作方法及规范¶
2.1. 显示系统时间¶
命令:date

2.2. 设置系统时间¶
命令:date MMDDhhmmYYYY.ss
MM : month(01-12);
DD : day(01-31);
Hhmm : time(0000-2359);
YYYY : year[optional];
ss : seconds(00-59) [optional]

2.3. Show RTC Clock¶
命令:hwclock

2.4. Set RTC Clock to System Clock¶
命令:hwclock –w

3. RTC应用编程操作方法¶
应用程序可以通过ioctl操作 /dev/rtc0 文件读取设定RTC时间及Alarm时间,代码具体实现可以参考driver/sstar/rtc/ut/rtc_ut.c。接下来演示如何通过rtc_ut操作RTC。
3.1. 读取系统时间¶
命令:./rtc_ut

3.2. 设置系统时间¶
命令:./rtc_ut -w -y 2021 -M 11 -d 3 -h 20 -m 10 -s 30
描述:设置RTC时间为2021年11月3日 20:10:30

命令:./rtc_ut -w -o 10
描述:设置RTC时间为当前时间加上10秒

3.3. 读取报警时间¶
命令:./rtc_ut -a

3.4. 设置报警时间¶
命令:./rtc_ut -w -a -y 2021 -M 11 -d 3 -h 20 -m 10 -s 30
描述:设置RTC报警时间为2021年11月3日 20:10:30

命令:./rtc_ut -w -a -o 10
描述:设置RTC时间为当前时间加上10秒

4. 自定义用户空间接口¶
由于内核的RTC框架并未完全涵盖SigmaStar RTCPWC硬件设计的编码要求,因此RTC驱动在sys文件系统中自定义了一些文件用于扩充功能。文件的位置为:/sys/class/mstar/rtcpwc/
| 文件 | 描述 |
|---|---|
| alarm_timer | 用于查看和设置报警时间,输出的值为倒计时,输入的值为增加倒计时时间 |
| count_status | 用于查看驱动错误计数的次数,该功能用于调试 |
5. 驱动配置¶
5.1. 驱动配置¶
1. rtcpwc {
2. compatible = "sstar,rtcpwc";
3. reg = <0x1F006800 0x200>;
4. interrupts = <GIC_SPI INT_IRQ_DIG_TOP IRQ_TYPE_LEVEL_HIGH>;
5. alarm-enable;
6. status = "ok";
7. };
alarm-enable为alarm功能的总开关,如果不声明alarm-enable属性,alarm相关的功能将无法使用包括sys fs的节点,一般建议不要关闭alarm功能。