RTC 调试与常见问题
- 重启后回到固定时间:检查备份电源、32 kHz 晶振和 RTC 域是否掉电。
- 时间不走:检查 oscillator、clock source、reset 和驱动 probe。
- 系统时间正确但 RTC 错:执行
hwclock -w并检查写入权限。 - RTC 正确但系统时间错:检查
CONFIG_RTC_HCTOSYS、rtc-hctosys 设备号和 Android 时间服务。 - 时间逐渐漂移:测量日误差并检查晶振负载及温度。
dmesg | grep -i rtc
cat /sys/class/rtc/rtc0/name
cat /sys/class/rtc/rtc0/since_epoch
通用定位顺序
- 原理图与供电。
- 最终 DTB 中的节点和 pinctrl。
- 最终
.config与.ko。 - probe、clock、reset、IRQ 日志。
- 设备节点与 sysfs/debugfs。
- 最小功能测试。
- 压力、休眠和异常插拔测试。
不要通过关闭错误日志来判断问题已经解决。应找到第一个异常并验证其上下游依赖。