0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ntp的移植心得分享

电子设计 来源:网络整理 作者:工程师1 2018-05-29 15:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近做了一下ntp的移植,把心得和大家共享一下,虽然网上有很多关于ntp的移植文件,但是都很简单,好像没有遇到任何的问题,可是我却遇到了不少啊。

第一步:设定交叉编译器的路径

初学者经常漏掉的一步,万一没设定就是以主机的gcc在编,变成主机执行了。

export PATH=:$PATH:/home/jlass/***

***就是你们自己的交叉编译器的路径

第二步:编译ntp

下载源文件,解压后进入文件夹,新建一个source文件夹(我个人的习惯而已)

注:以3.4.1个arm-linux-gcc是可以直接编译通过的,可是我的arm-linux-gcc是我自己用4.2.4版本编的,有一些问题。

。/configure --prefix=http://www.eda-china.com/home/jlass/marwell/rootfs/ntp-4.2.4p4/source/ --exec-prefix=http://www.eda-china.com/home/jlass/marwell/rootfs/ntp-4.2.4p4/source/ --host=arm-linux

注:网上的参考文件还有--enable-all-clocks --enable-parse-clocks参数,但我没加,也没觉得有什么问题。

make

错误一:

/home/jlass/marwell/rootfs/ntp-4.2.4p4/libntp/。/。。/libisc/ifiter_ioctl.c:487: undefined reference to `index‘

/home/jlass/marwell/rootfs/ntp-4.2.4p4/libntp/。/。。/libisc/ifiter_ioctl.c:487: undefined reference to `index’

检查源文件可发现index应该是某种算法,可是这个版本的gcc可能没有了。

查看gcc中的string.h文件能看到# define index(s,c) strchr((s), (c))字段

我觉得strchr的算法和index应该是一样的,所以在ifiter_ioctl.c中用strchr替代了index。

注:这里我偷懒了,应该有能好的解决方法

错误二:

tickadj.c:185:22: error: sys/var.h: No such file or directory

查看gcc的include/sys/目录下有个socketvar.h文件名字最接近了,直接把tickadj.c中的# include 改成# include

注:估计直接//注释掉应该也可以

错误三:

tickadj.c:436: error: ‘txc’ undeclared (first use in this function)

查看436行,tick = PRESET_TICK;没看到txc啊,奇怪,仔细一查发现另一个文件里定义了#define PRESET_TICK txc.tick

在查看看tickadj.c文件的开头有

#ifdef HAVE___ADJTIMEX/* Linux */

#include

struct timex txc;

估计是这个版本的gcc没定义HAVE___ADJTIMEX引起的,不管了,把

#include

struct timex txc;

放到最上面去。

总算是编译通过了。

make install

第三步:安装ntp

去source/bin下把需要的文件拷到开发板上吧

注:source/lib下没有文件,不需要拷。

在开发板的etc下新建ntp.conf文件,并写入

restrict 127.0.0.1

restrict 192.168.1.0 mask 255.255.0.0 nomodify notrap //根据自己的实际情况更改

server 127.127.1.0 //以本机作为时间服务器

fudge 127.127.1.0 stratum 5 //优先级为5

其实关键就是server 127.127.1.0(不要错写成127.0.0.1了)这一句,其他的都可以不写,直接使用默认值。

然后执行ntpd,ntpd服务就起来了。

注:实际需要等待几分钟,ntpd服务才真正起来,所以不要太着急了

在另一块板子上执行ntpdata serverIP,就能实现时间同步了。

注:如果你的板子已经起了ntpd,再运行ntpdata是会有错误提示ntpdate[2006]: the NTP socket is in use, exiting

另外:我在第一次处理的时候不小心把3.4.1编译生成的ntpd考到4.2.4的板卡上,执行时出现-sh:ntpd not found的错误,所以如果出现相同的错误请确认你所使用的交叉编译器和你板卡上的arm-linux-gcc是否统一。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    26

    文章

    6411

    浏览量

    120686
  • 编译器
    +关注

    关注

    1

    文章

    1672

    浏览量

    51900
  • NTP
    NTP
    +关注

    关注

    1

    文章

    265

    浏览量

    15080
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NTP网络校时服务器:安徽京准铸就智慧城市精准数据方案

    NTP网络校时服务器:安徽京准铸就智慧城市精准数据方案
    的头像 发表于 02-26 15:02 312次阅读

    NTP自动校时服务器的典型应用

    在现代信息技术飞速发展的今天,时间同步的精确性已成为许多行业和系统的核心需求。无论是金融交易、电力调度,还是云计算、物联网,时间同步的准确性直接影响到系统的稳定性和数据的可靠性。NTP自动校时服务器
    的头像 发表于 01-27 16:12 4002次阅读
    <b class='flag-5'>NTP</b>自动校时服务器的典型应用

    医院NTP子母钟系统:安徽京准赋能医疗行业精准时序

    医院NTP子母钟系统:安徽京准赋能医疗行业精准时序
    的头像 发表于 01-06 14:53 369次阅读

    NTP自动校时服务器的核心优势介绍

    NTP自动校时服务器是一种基于网络的时间同步设备,它通过与高精度时间源(如GPS、原子钟或国家授时中心)进行通信,获取准确的时间信息,并将其分发到网络中的各个设备。其核心优势在于能够实现毫秒级甚至
    的头像 发表于 11-11 15:28 507次阅读
    <b class='flag-5'>NTP</b>自动校时服务器的核心优势介绍

    NTP时间同步技术:保证网络时间精确无比

    NTP是一种用于计算机和网络设备之间进行时间同步的协议,它能够确保所有设备都使用同一个时间源,从而实现全球范围内的时间精确同步。本文将详细介绍NTP时间同步技术的原理、应用以及优势。首先,我们来了
    的头像 发表于 10-21 14:45 666次阅读
    <b class='flag-5'>NTP</b>时间同步技术:保证网络时间精确无比

    提高RISC-V在Drystone测试中得分的方法

    Drystone 是一种常用的计算机性能基准测试,主要用来测量整数(非浮点)计算性能。 影响 RISC-V 在 Drystone 测试中得分的因素主要有以下几个: 处理器核心设计:处理器核心
    发表于 10-21 13:58

    一文搞懂Air780EPM的NTP通信:LuatOS脚本开发教程

     想在Air780EPM上用LuatOS实现NTP时间同步?这篇教程将用最通俗的方式讲解实现原理与代码实现,让你快速掌握关键技能。 一、NTP通信概述   1.1 NTP 网络时间协议(英语
    的头像 发表于 09-30 18:19 2314次阅读
    一文搞懂Air780EPM的<b class='flag-5'>NTP</b>通信:LuatOS脚本开发教程

    Air780EPM开发板NTP对时教程:LuatOS脚本开发入门指南

    通过简单的LuatOS脚本,Air780EPM即可实现NTP时间同步。本指南从零开始,带你掌握嵌入式设备联网校时的核心方法。 一、NTP通信概述 1.1 NTP 网络时间协议(英语:Network
    的头像 发表于 09-30 16:01 1316次阅读
    Air780EPM开发板<b class='flag-5'>NTP</b>对时教程:LuatOS脚本开发入门指南

    安徽京准:探索NTP网络授时服务器在智慧城市中的应用

    安徽京准:探索NTP网络授时服务器在智慧城市中的应用
    的头像 发表于 09-17 15:47 896次阅读

    重磅!智慧水利背后的NTP时间同步服务器揭秘!

    重磅!智慧水利背后的NTP时间同步服务器揭秘!
    的头像 发表于 09-10 10:41 925次阅读
    重磅!智慧水利背后的<b class='flag-5'>NTP</b>时间同步服务器揭秘!

    NTP网络同步时钟:数字世界的“心跳”

    NTP网络同步时钟是为网络设备提供准确、标准、可靠和多功能的时间服务的解决方案,能提供准确的同步时钟信号,支持标准的NTP和SNTP网络时间同步协议,采用MD5协议和加密方式,有完整的日志记录功能
    的头像 发表于 07-15 10:42 797次阅读
    <b class='flag-5'>NTP</b>网络同步时钟:数字世界的“心跳”

    智慧港口:安徽京准NTP网络授时服务器提升港口运力

    智慧港口:安徽京准NTP网络授时服务器提升港口运力
    的头像 发表于 06-16 15:23 838次阅读

    NTP时间服务器在能源电力系统的应用

    一、NTP时间服务器简介网络时间协议(NTP,NetworkTimeProtocol)是用于计算机网络中的钟同步的协议,旨在使网络中的各个设备时间保持一致。NTP时间服务器通过接收GPS卫星信号或从
    的头像 发表于 06-03 14:49 859次阅读
    <b class='flag-5'>NTP</b>时间服务器在能源电力系统的应用

    NTP时间同步服务器如何工作

    NTP时间同步服务器是济南唯尚电子有限公司拥有北斗GPS双系统网络时间服务器,采用北斗GPS双系统互为备用设计,双系统授时融合,支持SNTP/NTP标准网络时间传输协议,提供高精度的网络授时、串口授时和1PPS信号,满足北斗和GPS授时互为备用的要求,可完全替代GPS授时
    的头像 发表于 05-22 14:37 879次阅读
    <b class='flag-5'>NTP</b>时间同步服务器如何工作

    ntp时钟同步服务器是什么?ntp时钟同步服务器介绍

    时间、时钟、时辰是我们非常熟悉的,但是你们知道如今的时间、时钟都是哪里产生的吗?尤其当今网络设备的普及使用,上面几乎都有时间标识,其实他们都是通过一些设备传递的,比如ntp时钟同步服务器,这就是一种
    的头像 发表于 05-13 15:19 990次阅读
    <b class='flag-5'>ntp</b>时钟同步服务器是什么?<b class='flag-5'>ntp</b>时钟同步服务器介绍