硬件平台:TQ3358_coreB_v2
交叉编译器版本:gcc version 4.9.4 (Linaro GCC 4.9-2017.01)
Linux内核在启动时,将RTC的时间读到系统xtime数据结构中,作为系统时间。在系统关闭时,又将系统时间写入RTC时间。
通常地,Linux内核一般只使用UTC时间,因为Linux内核对时区识别没有相应的处理,它只会将上层传入的关于时区的数据结构转换为UTC时间,LCT时间在内核被设置时,都先转化为UTC时间,再写入xtime数据结构中。
UT时间是世界标准时间,而中国的东八区时间则是CST时间。
一,移植ntpdate
网络时间协议Network Time Protocol(NTP) 是一种确保时钟保持准确的方法。如果可以访问互联网,只需安装ntp的客户端软件到互联网上的公共ntp服务器自动修正时间即可。
1.下载ntp源码包:ntp-dev-4.3.91.tar.gz(可下载地址:http://www.ntp.org/downloads.html)
2.解压源码包后,进入解压出来的目录并配置:
(1) 进入目录:cd ntp-dev-4.3.99/
(2)在ntpd/ntp_loopfilter.c中增加下面的宏定义:
#ifndef MOD_NANO
#define MOD_NANO 0x2000
#endif
(3)配置安装路径(目录安装路径为当前路径下的install)及编译器:./configure --prefix=$PWD/install --exec-prefix=$PWD/install --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc