Linux驱动 | Linux内核 RTC时间架构
💡
原文中文,约12800字,阅读约需31分钟。
📝
内容提要
本文介绍了Linux内核的时间子系统,包括系统时间和RTC时间的区别,以及RTC时间框架的结构和驱动注册过程。同时讨论了WT时间和RTC时间的同步问题。
🎯
关键要点
- Linux内核的时间子系统分为系统时间和RTC时间。
- 系统时间由Linux系统软件维护,可以通过命令date查看。
- RTC时间来自设备上的RTC芯片,可以通过命令hwclock读取。
- RTC时间框架包括硬件、驱动、接口和设备节点等部分。
- RTC驱动通过填充rtc_class_ops结构体来实现对RTC芯片的操作。
- class.c文件负责RTC驱动的注册和设备的创建。
- interface.c文件提供统一的RTC时间操作接口,屏蔽硬件细节。
- RTC设备在sysfs文件系统中以符号链接的形式呈现。
- RTC设备在proc文件系统中显示当前时间和闹钟状态等信息。
- WT时间通过RTC时间同步,系统启动后从RTC读取时间设置为系统时间。
- 瑞芯微系统通过/sys/class/rtc/rtc0下的文件节点实现时间管理功能。
- 设备关机后RTC仍能保持时间,因为RTC有纽扣电池供电。
➡️