我正在开发一个ASUS TinkerBoard,OSLinaro9.5-Kernel4.132
我增加了一个基于DS3231芯片的小型RTC板。
系统创建添加到/dev/rtc 0和/dev/rtc(链接到/dev/rtc 0)的设备/dev/rtc 1。
我可以通过i2cdetect和hwclock命令与RTC芯片对话,但我有一种奇怪的行为。
这是我的测试--当然,为了避免ntp同步,我与网络断开了连接:
没有RTC:在每次启动时,板/OS重新设置日期和时间从2016年11月3日00:00
与RTC:
connection
hwclock -f /dev/rtc1 --systohc
hwclock -f /dev/rtc1 --get读取RTC,而我有18:15h 216h 117the数据被正确地设置为今天(!)系统日期被恢复,系统时间在断电时间被冻结,RTC时间是正确的,但它没有恢复到系统时间。
有什么想法吗?
发布于 2021-03-20 14:03:57
您说/dev/rtc是到/dev/rtc 0的链接,这意味着您的内核被配置为CONFIG_RTC_HCTOSYS_DEVICE设置为rtc0。您可以将其设置为rtc1,也可以更新设备树别名,以便使DS3231变为rtc0。
另一个解决方案是停止依赖内核hctosys,并在启动脚本中使用hwclock -f /dev/rtc1 --hctosys。
https://stackoverflow.com/questions/66713365
复制相似问题