0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ntp的移植心得分享

電子設計 ? 來源:網(wǎng)絡整理 ? 作者:工程師1 ? 2018-05-29 15:27 ? 次閱讀

最近做了一下ntp的移植,把心得和大家共享一下,雖然網(wǎng)上有很多關于ntp的移植文件,但是都很簡單,好像沒有遇到任何的問題,可是我卻遇到了不少啊。

第一步:設定交叉編譯器的路徑

初學者經常漏掉的一步,萬一沒設定就是以主機的gcc在編,變成主機執(zhí)行了。

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

注:網(wǎng)上的參考文件還有--enable-all-clocks --enable-parse-clocks參數(shù),但我沒加,也沒覺得有什么問題。

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’

檢查源文件可發(fā)現(xiàn)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啊,奇怪,仔細一查發(fā)現(xiàn)另一個文件里定義了#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下把需要的文件拷到開發(fā)板上吧

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

在開發(fā)板的etc下新建ntp.conf文件,并寫入

restrict 127.0.0.1

restrict 192.168.1.0 mask 255.255.0.0 nomodify notrap //根據(jù)自己的實際情況更改

server 127.127.1.0 //以本機作為時間服務器

fudge 127.127.1.0 stratum 5 //優(yōu)先級為5

其實關鍵就是server 127.127.1.0(不要錯寫成127.0.0.1了)這一句,其他的都可以不寫,直接使用默認值。

然后執(zhí)行ntpd,ntpd服務就起來了。

注:實際需要等待幾分鐘,ntpd服務才真正起來,所以不要太著急了

在另一塊板子上執(zhí)行ntpdata serverIP,就能實現(xiàn)時間同步了。

注:如果你的板子已經起了ntpd,再運行ntpdata是會有錯誤提示ntpdate[2006]: the NTP socket is in use, exiting

另外:我在第一次處理的時候不小心把3.4.1編譯生成的ntpd考到4.2.4的板卡上,執(zhí)行時出現(xiàn)-sh:ntpd not found的錯誤,所以如果出現(xiàn)相同的錯誤請確認你所使用的交叉編譯器和你板卡上的arm-linux-gcc是否統(tǒng)一。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)板
    +關注

    關注

    25

    文章

    4844

    瀏覽量

    96872
  • 編譯器
    +關注

    關注

    1

    文章

    1608

    瀏覽量

    48979
  • NTP
    NTP
    +關注

    關注

    1

    文章

    154

    瀏覽量

    13864
收藏 人收藏

    評論

    相關推薦

    京準電鐘科普:NTP網(wǎng)絡時間服務器技術概念

    京準電鐘科普:NTP網(wǎng)絡時間服務器技術概念
    的頭像 發(fā)表于 10-14 09:39 ?121次閱讀
    京準電鐘科普:<b class='flag-5'>NTP</b>網(wǎng)絡時間服務器技術概念

    安徽京準 NTP網(wǎng)絡校時器 NTP服務器 電廠應用方案

    【安徽京準】NTP網(wǎng)絡校時器(NTP服務器)電廠應用方案
    的頭像 發(fā)表于 08-08 09:27 ?194次閱讀
    安徽京準 <b class='flag-5'>NTP</b>網(wǎng)絡校時器 <b class='flag-5'>NTP</b>服務器 電廠應用方案

    NTP服務器知識課堂 網(wǎng)絡時間同步系統(tǒng)的校時方式

    時鐘的幾種校時方式:GPS/北斗、NTP、WiFi、電腦校時軟件。 ? 1、NTP網(wǎng)絡校時: ①NTP的校時方式是設備主動上傳的方式。設備帶有標準的NTP協(xié)議。 ②
    的頭像 發(fā)表于 07-30 14:23 ?252次閱讀
    <b class='flag-5'>NTP</b>服務器知識課堂 網(wǎng)絡時間同步系統(tǒng)的校時方式

    解讀網(wǎng)絡時間協(xié)議NTP,帶你領略NTP的魅力!

    ? 時間是我們日常生活的重要組成部分,而在數(shù)字時代,時間同步也在計算機和網(wǎng)絡系統(tǒng)中扮演著至關重要的角色。網(wǎng)絡時間協(xié)議(Network Time Protocol,NTP)是一種用于確保網(wǎng)絡中各個設備
    的頭像 發(fā)表于 06-27 16:52 ?472次閱讀
    解讀網(wǎng)絡時間協(xié)議<b class='flag-5'>NTP</b>,帶你領略<b class='flag-5'>NTP</b>的魅力!

    用AT+CIPSNTPCFG=1,8,\"cn.ntp.org.cn\",\"ntp.sjtu.edu.cn\"更新不了時間怎么處理?

    我發(fā)現(xiàn)有時候用:AT+CIPSNTPCFG=1,8,\"cn.ntp.org.cn\",\"ntp.sjtu.edu.cn\",更新不了時間,已連接WiFi成功的。
    發(fā)表于 06-27 08:28

    京準電鐘 | NTP網(wǎng)絡時間同步協(xié)議原理及其應用介紹

    京準電鐘 NTP網(wǎng)絡時間同步協(xié)議原理及其應用介紹
    的頭像 發(fā)表于 06-12 15:22 ?410次閱讀
    京準電鐘 | <b class='flag-5'>NTP</b>網(wǎng)絡時間同步協(xié)議原理及其應用介紹

    RK3568 Android11讓系統(tǒng)ntp校準時間生效,需要設置些什么

    代碼修改了/frameworks/base/core/res/res/values/config.xml的參數(shù)(可見附件截圖) 10.2.126.57120000100035ntp設置時間操作如下
    發(fā)表于 06-04 19:17

    分享 | PTP、NTP時間同步服務器的部署與搭建過程

    分享 | PTP、NTP時間同步服務器的部署與搭建過程
    的頭像 發(fā)表于 05-15 10:01 ?793次閱讀
    分享 | PTP、<b class='flag-5'>NTP</b>時間同步服務器的部署與搭建過程

    數(shù)字功放-NTP8928規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《數(shù)字功放-NTP8928規(guī)格書.pdf》資料免費下載
    發(fā)表于 02-21 14:31 ?6次下載

    ntp的同步原理是什么

    NTP(Network Time Protocol,網(wǎng)絡時間協(xié)議)是一種用于同步計算機系統(tǒng)時間的協(xié)議。那么ntp的同步原理是什么呢? ntp最典型的授時方式是Client/Server方式,如下
    的頭像 發(fā)表于 01-19 17:24 ?1364次閱讀
    <b class='flag-5'>ntp</b>的同步原理是什么

    NTP服務器介紹

    NTP服務器 產品介紹: NTP服務器是—款基于CPLD的高精度時頻同步設備。該設備接收GPS、北斗衛(wèi)星信號,或母鐘信號,通過踉蹤鎖定外部信號馴服內部晶振,采用智能時間優(yōu)化算法,為用戶提供精確、穩(wěn)定
    的頭像 發(fā)表于 01-17 09:30 ?661次閱讀
    <b class='flag-5'>NTP</b>服務器介紹

    Linux上怎么配置NTP時間同步呢?

    Linux上怎么配置NTP時間同步呢? NTP是一種用于同步計算機系統(tǒng)時鐘的網(wǎng)絡協(xié)議。在Linux系統(tǒng)中,配置NTP時間同步可以保證系統(tǒng)與網(wǎng)絡時間服務器的時間一致性,使系統(tǒng)中各個進程的時間保持一致
    的頭像 發(fā)表于 01-16 16:03 ?2604次閱讀

    docker部署NTP時間服務器chrony

    chrony是網(wǎng)絡時間協(xié)議 (NTP) 的通用實現(xiàn)。它可以將系統(tǒng)時鐘與 NTP 服務器、參考時鐘(例如 GPS 接收器)以及使用手表和鍵盤的手動輸入同步。
    的頭像 發(fā)表于 01-10 09:22 ?717次閱讀

    ntp的實現(xiàn)原理是什么

    ntp實現(xiàn)原理 我們看一下為啥說ntp從實現(xiàn)時間同步的角度來說是很簡單的。在pc上,以windows為例,手動關閉打開一下自動更新時間,會觸發(fā)一次ntp時間同步。 這個時候,我們可以拿到ntp
    的頭像 發(fā)表于 10-27 14:21 ?1133次閱讀
    <b class='flag-5'>ntp</b>的實現(xiàn)原理是什么

    ntp同步原理和時鐘層級

    NTP ntp時鐘層級 ntp允許客戶端從服務器請求和接收時間,而服務器又從權威時鐘源(例如原子鐘、GPS)接收精確的協(xié)調世界時UTC。 ntp以層級來組織模型結構,層級中的每層被稱為
    的頭像 發(fā)表于 10-27 14:14 ?2020次閱讀
    <b class='flag-5'>ntp</b>同步原理和時鐘層級