首页
  • GM-3568JHF
  • M4-R1
  • M5-R1
  • SC-3568HA
  • M-K1HSE
  • CF-NRS1
  • CF-CRA2
  • 1684XB-32T
  • 1684X-416T
  • C-3568BQ
  • C-3588LQ
  • GC-3568JBAF
  • C-K1BA
商城
  • English
  • 简体中文
首页
  • GM-3568JHF
  • M4-R1
  • M5-R1
  • SC-3568HA
  • M-K1HSE
  • CF-NRS1
  • CF-CRA2
  • 1684XB-32T
  • 1684X-416T
  • C-3568BQ
  • C-3588LQ
  • GC-3568JBAF
  • C-K1BA
商城
  • English
  • 简体中文
  • M4-R1

    • 简介

      • M4-R1简介
    • 快速上手

      • OpenHarmony概述
      • 镜像烧录
      • 开发环境准备
      • Hello World应用以及部署
    • 应用开发

      • 入门

        • 第一章 ArkTS语言简介
        • 第二章 UI组件介绍和实际应用(上)
        • 第三章 UI组件介绍和实际应用(中)
        • 第四章 UI组件介绍和实际应用(下)
      • 进阶

        • 第一章 入门指引
        • 第二章 三方库的引用和使用
        • 第三章 应用编译以及部署
        • 第四章 命令行恢复出厂设置
        • 第五章 系统调试--HDC调试
        • 第六章 APP 稳定性测试
        • 第七章 应用测试
    • 设备开发

      • 第一章 环境搭建
      • 第二章 下载源码
      • 第三章 编译源码
    • 外设与接口

      • 树莓派接口
      • GPIO 接口
      • I2C 接口
      • SPI通信
      • PWM控制
      • 串口通讯
      • TF Card
      • 屏幕
      • 触摸
      • 音频
      • RTC
      • Ethernet
      • M.2
      • MINI-PCIE
      • Camera
      • WIFI&BT
      • 树莓派拓展板
    • 常见问题

      • 资源下载
  • M5-R1

    • 简介

      • ShimetaPi M5-R1简介

RTC

RTC全称为Real Time Clock,是一个专门用来记录时间的硬件设备,一般可以集成在soc内部,或者选择外挂,通过i2c与其通信。

那为什么会需要RTC,因为Linux的系统时间(也就是我们常说的wall time)只能在系统运行时使用,系统关机时间就丢了,而RTC可以在系统关闭后,依靠外部电池或其他supply继续工作,这才将时间保存下来。

1. RTC的使用

以M4-R1为例,该板卡使用外部RTC(hym8563),默认关闭了rk809的rtc功能。

使用外部RTC时需要接入纽扣电池

TOOL

2. RTC用户接口调用

Linux 提供了三种用户空间调用接口。在板卡中对应的路径为:

  • SYSFS接口:/sys/class/rtc/rtc0/
  • PROCFS接口: /proc/driver/rtc
  • IOCTL接口: /dev/rtc0

SYSFS接口:

    # cat /sys/class/rtc/rtc0/date
    2024-10-21
    # cat /sys/class/rtc/rtc0/time
    09:48:46

提示

遇到cat返回的Invalid argument的情况,需要先进入系统设置内先设置一下时间

PROCFS接口:

    # cat /proc/driver/rtc
    rtc_time        : 09:50:05
    rtc_date        : 2024-10-21
    alrm_time       : 00:00:00
    alrm_date       : 1970-01-01
    alarm_IRQ       : no
    alrm_pending    : no
    update IRQ enabled      : no
    periodic IRQ enabled    : no
    periodic IRQ frequency  : 1
    max user IRQ frequency  : 64
    24hr            : yes

IOCTL接口:

可以使用 ioctl 控制 /dev/rtc0

3. 关于时钟常用的命令

    date          //修改系统时钟,具体命令使用可以man下
    hwclock -s    //将硬件时间同步到系统时间
    hwclock -w    //将系统时间同步到硬件时间

     date "2023-08-14 08:00:00"  //手动设置时间
     hwclock -w     //系统时间同步到硬件rtc
     hwclock -s    //硬件rtc同步到系统
    #以上手动设置时间或者网络同步时间后,-w将系统时间写入到硬件rtc,-s再将rtc时间写回系统,这样每次重启板卡都会进行rtc时间同步到系统时间。

在 GitHub 上编辑此页
上次更新:
贡献者: hychen
Prev
音频
Next
Ethernet