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有纽扣电池供电。
➡️

继续阅读