有时需要将开发板时间与网络时间同步 ,就可使用ntpdate(网络时间协议Network Time Protocol(NTP) 确保时钟保持准确的方法)工具
ntpdate工具是一个安装包文件,需要编译后移植到开发板上使用
下载地址:http://www.ntp.org/downloads.html
1. 编译:
./configure --prefix=$PWD/install --exec-prefix=$PWD/install --host=arm-none-linux-gnueabi --with-yielding-select=yes CC=arm-none-linux-gnueabi-gcc //配置
make && make install //编译安装
参数说明:
--exec-prefix=$PWD/install :指定安装位置
--host=arm-none-linux-gnueabi: 软件运行的系统平台
CC=arm-none-linux-gnueabi-gcc :指定交叉编译器(与开发板上内核使用的一致)
2. 编译完成后在当前的目录下生成install 文件, 在install/bin/ 有 ntpdate(这个是需要移植到开发板上的)
3. 拷贝文件到开发板 nfs 或者其他方式都行,将ntpdate 拷贝到/bin或者/sbin下 修改文件权限为777 ,chmod ntpdate 777
4. 设置时区, 有些开发板默认的可能是UTC(世界标准时间),拷贝虚拟机下的/usr/share/zoneinfo/Asia/Shanghai(Chongqing) 到/etc/ 并改名为 localtime ,时区设置为中国的了
5. date 查看当前的时区是否已经为 Thu Feb 25 09:43:24 CST 2021 (CST:北京时间)
6. 同步网络时间到开发板 ntpdate 0.pool.ntp.org ,(0.pool.ntp.org: 时间服务器)
7. 将时间写入硬件时钟 hwclock -w (安装上时钟电池后掉电了时间就不会掉到初始状态了)
8. 如果开发板是联网的状态,可以将第6步写入到系统应用程序启动后的脚本中,这样每次上电后都会同步一次时间