6818实时linux,iTOP-6818-驱动-实时时钟RTC以及Linux-c测试例程

&nbsp&nbsp&nbsp&nbsp 当 Linux 开发者谈论一个实时时钟,他们通常指的是某种能记录墙上时间,并且有备用电

池,以至于在系统关机的时候仍然可以工作的器件。

&nbsp&nbsp&nbsp&nbsp Linux 有两个系列广泛兼容的用户空间 RTC 设备节点:

&nbsp&nbsp&nbsp&nbsp /dev/rtc : PC 机及兼容机系统提供的 RTC 接口,这种接口对于非 x86 系统来说不是

很轻便。

&nbsp&nbsp&nbsp&nbsp /dev/rtc0,/dev/rtc1 :是各种系统上,被各种 RTC 芯片所支持的框架的一部分。

&nbsp&nbsp&nbsp&nbsp iTOP-6818 开发板以上两种均支持,设备节点对应为“/dev/rtc”和“/dev/rtc0”。

iTOP-6818 开发板的内核镜像,默认支持实时时钟,另外还需要有纽扣电池,如下图所示。

如果用户购买的时候,指明需要顺丰空运,那么开发板上应该是不带有纽扣电池的,电池的型

号为 cr1220,用户可自行购买。

&nbsp&nbsp&nbsp&nbsp

6f41b1a4f4428b72658f104db53c94d7.png

&nbsp&nbsp&nbsp&nbsp 1.内核驱动

&nbsp&nbsp&nbsp&nbsp iTOP-6818 的实时时钟 RTC 驱动是内核目录下的“drivers/rtc/rtc-nxp.c”文件,如下

图所示。

&nbsp&nbsp&nbsp&nbsp

6332fabfe40a9c4e4e1a84dd9c18973a.png

&nbsp&nbsp&nbsp&nbsp进入内核源码目录,使用“export ARCH=arm”,然后使用“make menuconfig”命

令,如下图所示,选择“Device Drivers --->”,输入回车。

&nbsp&nbsp&nbsp&nbsp

786862b25fd17b08dc74474ff05d4313.png

&nbsp&nbsp&nbsp&nbsp如下图所示,在“Device Drivers --->”下,选择“Real Time Clock --->”,输入回

车。

&nbsp&nbsp&nbsp&nbsp

d159ef46eb33ff54614f28c4db02e6ef.png

&nbsp&nbsp&nbsp&nbsp如下图所示,“SLsiAP RTC”,即为实时时钟 RTC 驱动选项。这个选项默认是配置的,

用户使用默认的内核镜像即可。

&nbsp&nbsp&nbsp&nbsp

d75426ea5eb1c8fcee926b0879665954.png

&nbsp&nbsp&nbsp&nbsp 2.测试

&nbsp&nbsp&nbsp&nbsp 压缩包中有“topeet_rtctest.tar.gz”,其中有源码和二进制文件。源码文件中包含获取

实时时钟和打印出实时时钟时间的代码。

&nbsp&nbsp&nbsp&nbsp2.1命令行设置时间和测试

&nbsp&nbsp&nbsp&nbsp如下图所示,可以使用“date”命令可以直接查看系统时间,上电开机之后(断电,取下纽扣电池,上电开机),时间是默认的时间“Thu Jan 1 00:00:51 CST 2015”。

&nbsp&nbsp&nbsp&nbsp

c122a9dd6d61b8bca7f0e9f5360bf6e1.png

&nbsp&nbsp&nbsp&nbsp使用命令“date -s "2018-07-17 17:43:00"”设置系统时间,接着使用命令“date”

可以查到系统时间已经更新,接着使用命令“hwclock --systohc”将系统时间同步到 RTC 实

时时钟,如下图所示。

&nbsp&nbsp&nbsp&nbsp

4b8107159e344ce4dfdc9f095724ef60.png

&nbsp&nbsp&nbsp&nbsp安装上纽扣电池,断电再开机,使用命令“date”,如下图所示,时间仍然是 2018 年,

说明实时时钟起作用了。

&nbsp&nbsp&nbsp&nbsp

d37b751f7f3391129064a763c25134af.png

&nbsp&nbsp&nbsp&nbsp 2.2 测试程序读取时间测试

&nbsp&nbsp&nbsp&nbsp如下图所示,iTOP-6818 的实时时钟,设备节点“/dev/rtc0”都可以正常调用。

&nbsp&nbsp&nbsp&nbsp

de381691b1da6e089b94536840c7e176.png

&nbsp&nbsp&nbsp&nbsp测试程序 topeet_rtctest 需要传递设备节点,如果不传递设备节点,默认使用的是

“/dev/rtc0”,所以默认也是可以正常运行,如下图所示,使用命令“./topeet_rtctest”运

行程序。

&nbsp&nbsp&nbsp&nbsp

8917355daee0d4e5338b884a5f7d7a98.png

&nbsp&nbsp&nbsp&nbsp如下图所示,使用命令“./topeet_rtctest /dev/rtc0”,设备节点“/dev/rtc0”也是可以

正常运行。

&nbsp&nbsp&nbsp&nbsp

065bb014d168bcac6da99dd8eae73537.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值