网络时间协议(ntpdate)

网络时间协议(ntpdate) Freya 2025-01-20 08:53:54 70

1 基本概念

   ntpdate 是一个网络时间协议(NTP)客户端程序,用于同步计算机的系统时间到网络上的时间服务器。它可以让你的系统时钟与互联网上的标准时间服务器保持一致,从而确保系统时间的准确性。ntpdate 通过轮询指定的NTP服务器来获取时间样本,并应用标准的NTP时钟过滤器和选择算法来选择最好的样本,然后据此调整本地系统时间


2 工具编译

2.1 获取工具包

下载软件包并移植到 <SDK_DIR>/open_source/ntp_tools 目录下

  • 方式一:官网下载

openssl-1.1.1h.tar.gz:

https://gitcode.com/open-source-toolkit/3e8dc/overview?utm_source=tools_gitcode&index=top&type=card&&isLogin=1

ntp-4.2.8p11.tar.gz:

https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p11.tar.gz


  • 方式二:从社区获取

工具包路径:【易百纳】XXXXXX_XXXX型开发板_VX.X\03_软件资料\06_二次开发\03_开源移植\ntp_tools

除上述两个工具包外还需从社区获取ntp-4.2.8p11.patch补丁文件易百纳社区

2.2 编译移植

说明:以下编译过程仅适用于Hi3519DV500,若更换其他芯片,请自行更改交叉编译器

步骤一:

解压工具压缩包,创建_install目录

tar xf ntp-4.2.8p11.tar.gz
tar xf openssl-1.1.1h.tar.gz
mkdir _install


步骤二:

编译openssl

cd openssl-1.1.1h/
./Configure linux-elf no-asm no-async --prefix=/ --cross-compile-prefix=aarch64-v01c01-linux-gnu-
make -j 20
make install DESTDIR=$(pwd)/../_install


步骤三:

编译ntpdate

cd ntp-4.2.8p11/
patch -p1 < ../ntp-4.2.8p11.patch
./configure --host=aarch64-v01c01-linux-gnu CC=aarch64-v01c01-linux-gnu-gcc --with-openssl-libdir=$(pwd)/../_install/lib64 --with-openssl-incdir=$(pwd)/../_install/include --prefix=/ --with-yielding-select=yes
make -j 20
make install DESTDIR=$(pwd)/../_install

若出现以下头文件报错问题:

易百纳社区

修改work_thread.c文件,取消引用报错头文件

易百纳社区

编译成功后,ntpdate工具在Hi3519DV500_SDK_V2.0.1.1/open_source/ntp_tools/_install/bin目录下,将工具拷贝到板端/bin或/usr/bin目录下。

易百纳社区


3 使用说明

3.1 基本用法:

  • 同步时间:直接使用 ntpdate 命令可以将系统时间同步到指定的NTP服务器。
    • 例如,ntpdate pool.ntp.org 会将系统时间同步到 pool.ntp.org 这个NTP服务器。
  • 查询模式:使用 -q 选项可以查询NTP服务器时间,但不会实际改变系统时间。
    • 例如,ntpdate -q pool.ntp.org。
  • 使用非特权端口:使用 -u 选项可以使用端口号大于1024的非特权端口与NTP服务器通信。
    • 例如,ntpdate -u pool.ntp.org。
  • 详细输出:使用 -d 选项可以显示详细的调试信息和时间同步过程。
    • 例如,ntpdate -dv pool.ntp.org。


3.2 常用选项:

  • -a:使用Keyid来认证全部数据包。
  • -b:自动调整日期时钟。
  • -d:设置调试方式。
  • -e:设置延迟认证处理的时间秒数。
  • -k:设置包含密钥信息的文件名。
  • -o:设置发送轮询数据包时的NTP版本。
  • -p:设置从每个服务器上获取的样本数目。
  • -q:仅进行查询操作。
  • -s:使用日志服务,而不是用标准输出。
  • -t:设置等待响应的时间。
  • -u:设置端口号发送数据包。
  • -v:显示版本信息


3.3 实例演示:

板端上电后查看原时间易百纳社区

设置板端IP确保板端可联网易百纳社区

同步时间并更新RTC硬件时钟,显示时间+8为当前时间易百纳社区

板端断电一段时间后重启再次查看RTC易百纳社区

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
Freya
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
Freya
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区