以下内容已经在Iot-6ULX/EVB-6ULX平台上验证通过,Iot-6ULX/EVB-6ULX介绍如下:
11. RTC测试
IoT-6ULx核心板上集成了外部硬件RTC。CoM-T6UL核心板上没有集成外部的RTC模块,可以选择使用CPU内置的RTC功能或者在底板上进行设计。
EVB-6ULx底板上搭载了一路纽扣电池接口,用于接入带线的纽扣电池。配套IoT-6ULx核心板时,可以使用核心板上集成的RTC;配套CoM-T6UL核心板时,则只能选择使用CPU内置的RTC。
注意:IoT-6ULx核心板的RTC的维持电源(纽扣电池供电),是通过核心板的Pin59输入,而CoM-T6UL核心板的Pin59连接的是GND信号。所以EVB-6ULx底板在该引脚连接处做了跳线选择设计,通过跳线来选择纽扣电池的电源是否连接到核心模块的Pin59。并联的0欧R24电阻预留,不焊接。
核心模块Pin59兼容设计
表4-2 核心模块选择说明
核心模块 | 跳线座位号 | 短接方式 |
CoM-T6UL | J5 | 悬空 |
IoT-6ULx | 短接 |
Linux系统分两个时钟,一个是system time(软件时钟),一个是hardware clock(硬件时钟)。使用date和hwclock命令可分别查看和设定系统时间和硬件时间。系统时钟掉电即会消失,RTC时钟在有电池的情况下会长期运行。系统时钟会在系统重启时与RTC时钟同步。
说明:测试前需要先安装3V纽扣电池。
12.1 板载IoT-6ULx核心板RTC测试
查看系统时钟,使用date指令,指令如下:
root@embfly ~# date //查看系统时钟
查看系统时钟
查看硬件时钟(RTC0),使用hwclock指令,指令如下:
root@embfly ~# hwclock -r -f /dev/rtc0 //查看外部RTC的时钟
查看外部RTC时钟
设置系统时钟,通过date指令查看系统时钟是否设置正确。
root@embfly ~# date 121312032019.21 //设置系统时钟为2019年12月13日12时03分21秒
root@embfly ~# date //查看系统时钟
设置系统时钟
将系统时钟写入硬件时钟,通过hwclock指令查看系统时钟是否设置正确。
root@embfly ~# hwclock -w -f /dev/rtc0 //将系统时钟写入外部RTC
root@embfly ~# hwclock -r -f /dev/rtc0 //查看外部RTC的时钟
设置外部RTC时钟
将开发板电源断开,纽扣电池不要拆下来,等待5s以上重新上电,查看外部RTC是否能保存,时钟是否正常走时。
root@embfly ~# date //查看系统时钟
root@embfly ~# hwclock -r /dev/rtc0 //查看外部RTC的时钟
查看时钟是否能保存
从终端信息可以看到,外部RTC可以保存,走时正常,且系统时钟在系统启动时能够同步外部RTC的时钟。
4.12.2 板载CoM-T6UL核心板RTC测试
暂不支持板载CoM-T6UL核心板的RTC测试。