# RTC芯片简介

RTC的英文全称是Real-Time Clock,翻译过来是实时时钟芯片。RTC芯片是一种能提供日历/时钟（世纪、年、月、时、分、秒）及数据存储等功能的专用集成电路。适合于一切需要微功耗及准确计时的场合。广泛应用于嵌入式领域：车载电子、手机、数码相机、MP3、MP4、电子词典等。

# 硬件简介

RK3568 开发板采用的 RTC 是 HYM8563 芯片，HYM8563 是一款低功耗 CMOS 实时时钟/日历芯片。可计时基于 32.768kHz 晶体的秒,分,小时,星期,天,月和年。工作电压范围:1.0\~5.5V，低休眠电流:典型值为 0.25μA(VDD =3.0V, TA =25°C)。

# DTS驱动配置

板级使能RTC,配置位置：arch/arm64/boot/dts/rockchip/aukun-utx-rk3568jt.dtsi

```bash
&i2c5{  
status>rtc@51{  
status>compatible>reg>};  
};
```

# 实验调用

## 测试工具

我们通常在文件系统用i2c-tools调试I2C设备。常用的几个命令：i2cdetect（检测I2C器件工具） 、i2cdump（查看寄存器值工具） 、i2cget（读取寄存器值工具）、 i2cset（设置寄存器值工具）。

```bash
sudo apt install i2c-tools
```

## RTC驱动的加载

查询rtc设备驱动

```bash
ls /dev/rtc\*
```

如驱动加载成功，则会生成设备文件的描述：rtc0

![](/upload/public/wiki/markdown/8f0be8a097af4a2d9c99dc0a69277097/1792992451825_image.png)

## I2C挂载的设备

由设备树可知，RTC挂载在I2C5总线上

```bash
i2cdetect -a 5  ##0x51地址上UU表示已经被RTC驱动占用
```

![](/upload/public/wiki/markdown/b67958964e9c43d284b5799476349e2b/1792992480710_image.png)

## 同步RTC时间

**1、查看系统时间：**

```bash
date
```

**2、查看RTC硬件时间：**

```bash
hwclock -f /dev/rtc0

```![](/uploads/projects/corerk3568jt/202506/184ac85991d5b554.png)

3、将硬件时间同步至系统时间

```bash
hwclock  -s  #将硬件时间同步到系统时间
```

再次查看RTC时间已经与系统同步

![](/upload/public/wiki/markdown/a5c9cc90773c473abba4afccbddfd1bd/1792992499344_image.png)
