Linux RTC

Linux RTC

  • Linux 内核将 RTC 设备抽象为 rtc_device 结构体
  • 因此 RTC 设备驱动就是申请并初始化rtc_device
  • 最后将 rtc_device 注册到 Linux 内核里面
  • 此结构体定义在 include/linux/rtc.h 文件
  • rtc_class_ops为 RTC 设备的最底层操作函数集合,包括从 RTC 设备中读取时间、向 RTC 设备写入新的时间值等
  • rtc_class_ops 中的这些函数只是最底层的 RTC 设备操作函数,并不是提供给应用层的file_operations 函数操作集
  • Linux 内核提供了一个 RTC 通用字符设备驱动文件,文件名为 drivers/rtc/rtc-dev.c, rtcdev.c 文件提供了所有 RTC 设备共用的 file_operations 函数操作集
  • 应用程序可以通过 ioctl 函数来设置/读取时间、设置/读取闹钟的操作,那么对应的 rtc_dev_ioctl 函数就会执行,rtc_dev_ioctl 最终会通过操作 rtc_class_ops 中的 read_time、 set_time 等函数来对具体 RTC 设备的读写操作。
上一篇:使用vue-axios请求geoJson数据报错的问题


下一篇:【经验分享】RTC技术系列之音频编解码