RK356x bsp 7 - PCF8563 RTC调试记录

文章目录

1、环境介绍

硬件:飞凌ok3568-c开发板

软件:原厂rk356x sdk

2、目标

开发板断电后仍正常计时。

3、PCF8563

PCF8563 是由 NXP Semiconductors 公司生产的低功耗 CMOS 实时时钟 / 日历芯片。400kHz 的 I2C 总线,从地址读 0A3H,写 0A2H。共有 16 个 8 位寄存器,包括控制寄存器、状态寄存器、时钟计数器寄存器、报警寄存器、CLKOUT 频率寄存器、定时器控制寄存器和定时器寄存器等,其中秒、分钟、小时、日、月、年等寄存器采用 BCD 码格式编码。

4、dts配置

通过原理图得出PCF8563 RTC芯片使用I2C3接口:

c 复制代码
&i2c3 {
	status = "okay";
	
	pcf8563: pcf8563@51 {
		status = "okay";
		compatible = "nxp,pcf8563";
		reg = <0x51>;		
	};
};

5、内核配置

内核开启PCF8563 RTC:

c 复制代码
CONFIG_RTC_DRV_PCF8563=y

同时关闭RK808 RTC,不然最终设备节点会出现两个RTC,/dev/rtc0和/dev/rtc1:

c 复制代码
CONFIG_RTC_DRV_RK808=n

6、测试验证

查看驱动是否匹配成功:

bash 复制代码
root@rk3568-buildroot:/# dmesg | grep rtc
[    4.082733] rtc-pcf8563 3-0051: registered as rtc0
[    4.083946] rtc-pcf8563 3-0051: setting system clock to 2024-12-25T09:02:14 UTC (1735117334)
root@rk3568-buildroot:/# ls /dev/rtc0
/dev/rtc0

执行如下命令设置系统日期和时间:

bash 复制代码
root@rk3568-buildroot:/# date -s "2024-12-25 11:22:25"

把系统时间写入RTC:

bash 复制代码
root@rk3568-buildroot:/# hwclock -wu

断电,等待1~2分钟后重启,查看时间是否正常:

bash 复制代码
root@rk3568-buildroot:/# date
Wed Dec 25 11:24:50 UTC 2024
相关推荐
Joseph Cooper2 天前
Linux Power Management 子系统:从 suspend/resume 到 Runtime PM、PM QoS
linux·驱动开发·linux kernel·嵌入式linux·电源管理
Z文的博客4 天前
【避坑实录】Qt 4.8.6 + Paho MQTT C客户端 + OpenSSL静态链接的血泪史
c语言·开发语言·qt·嵌入式linux
charlie11451419122 天前
嵌入式Linux模块学习——insmod 底层全流程解剖:从用户命令到内核内存
linux·c·嵌入式linux
Z文的博客22 天前
嵌入式 ARM 设备交叉编译 mosquitto 2.0.20 (完整 TLS 支持) 详细教程 TRAE全程辅助,没敲一行代码
qt·mqtt·嵌入式·ai编程·mosquitto·嵌入式linux·trae
信工 180225 天前
rk3568-Linux应用程序和驱动程序接口
linux·驱动开发·rk3568
三万棵雪松1 个月前
【Linux 物联网网关主控系统-Web部分(四)】
linux·前端·物联网·嵌入式linux
三万棵雪松1 个月前
【Linux 物联网网关主控系统-Web部分(一)】
linux·前端·嵌入式linux
三万棵雪松1 个月前
【Linux 物联网网关主控系统-Linux主控部分(三)】
linux·物联网·嵌入式linux
三万棵雪松1 个月前
【Linux 物联网网关主控系统-Linux主控部分(六)】
linux·物联网·嵌入式linux
Industio_触觉智能1 个月前
开源鸿蒙赋能水务智能化,IPC3528水务鸿蒙网关
鸿蒙系统·openharmony·rk3568·开源鸿蒙·工控机·鸿蒙水务·水务鸿蒙