linux 嵌入式软硬件时钟 怎么同步

linux 嵌入式软硬件时钟 怎么同步,第1张

硬件时间

开机时Linux会从硬件的rtc的时钟芯片中获取一次硬件时间,然后以此为基础来运行系统时间。

settimeofday 相当于date shell命令,紧紧能设置系统时间。

如果想设置硬件时间,需要一个hwclock -w shell原理的函数来写硬件的rtc。

扒一扒 busybox的 hwclock.c源码(http://www.codeforge.cn/read/97203/hwclock.c__html)

可以知道这么抄写功能源码:

[cpp] view plain copy

static void write_rtc(time_t t, int utc)

{

int rtc

struct tm tm

if (( rtc = open ( "/dev/rtc", O_WRONLY )) <0 )

{

if (( rtc = open ( "/dev/misc/rtc", O_WRONLY )) <0 )

bb_perror_msg_and_die ( "Could not access RTC

1、查看系统时间

#date

可以看到时区为EST(美国东部标准时间),正常显示应该是CST(中国标准时间)。

2、查看系统时区

#date -R

可以看到输出为

Fri, 21 Nov 2014 00:54:08 -0500

时区为-5

正常时区应该显示为+8(东八区)

3、确保网络通畅,DNS正常解析,尝试同步互联网时间

#ntpdate cn.pool.ntp.org

4、查看系统时区配置文件

#cat /etc/sysconfig/clock


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8801040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-21
下一篇 2023-04-21

发表评论

登录后才能评论

评论列表(0条)

保存