So Easy-Ntp嵌入式软件移植
一、导语和准备工作
Ntp是一种对时的软件,对客户端来说我们只要输入ntpdate IP,如ntpdate
192.168.1.254(192.168.1.254是ntp服务器,window电脑激活自带ntp服务器即可,Linux输入apt-get
install ntp安装ntp服务器软件)。
1、我们需要一个宿主机,一般是Linux的虚拟机也可以是真正的Linux机器。我们还需要一个ntp源程序包,俗称ntp软件安装包。
还需要一个交叉编译环境,我的开发板是周立功的IMX257。
CC是arm-none-linux-gnueabi-gcc。
二、软件移植理解
软件移植原理很简单,初学者可能觉得比较难,都要移植了我会不会啊!其实想一想我们移植最简单的程序helloword,源程序helloword.c(类比成ntp-4.26P5.tar.gz),
通过arm-none-linux-gnueabi-gcc helloword.c -o helloword。然后放到目标板进行运行。Ntp也是如此。
三、开始移植
1、解压缩包,压缩包附件有,也可官网下载
- 进入安装程序
cd ntp-4.2.6p5/
- 在/home/目录下新建ntp文件夹(用来保存编译生成的软件即要移植到嵌入会板子的软件)然后运行下面命令
./configure --host=arm-linux CC=arm-none-linux-gnueabi-gcc --prefix=/home/ntp
--host表示编译后的软件要运行在arm-linux环境上
CC表示要是用的交叉编译器,根据目标板的不同选择不同的编译器,我的IMX257的编译器是arm-none-linux-gnueabi-gcc
--prefix=/home/ntp表示要软件生成在/home/ntp目录下
- Make
- sudo make install
在/home/ntp/目录下可以看到4个目录
将bin/下面所有的文件拷贝到嵌入式开发板的环境目录下。系统就可以设别了这个软件了,例如拷贝嵌入式/bin/下
五、运行ntp客户端
运行成功(客户端)
Window电脑时间(服务器)(需要开启这个ntp服务,不会百度)
怎么时间不对呢,是不是查了8个小时,(分钟是我剪辑图的时候,时间额外走的,不要在意)。
个小时,所以需要设置时区
@1、设置时区为CST时间
)把redhat或者ubuntu系统目录/usr/share/zoneinfo/Asia中的文件Shanghai拷贝到开发板目录/etc中并且改名为localtime之后,用命令reboot重启即可,如下:
@2、如果想将从网络上获取到的系统时间写入硬件时钟中,则使用命令
hwclock -w
开机的时候,在机器启动代码上加入hwclock -s(不然硬件时间对了,系统软件时间有不对了)
PS:如果想和window电脑对时,开启windows
ntp服务器,如何开启参考下面博客
http://blog.sina.com.cn/s/blog_671c54fe0102v4wy.html。
保障客户端和服务器的IP地址,网关。都在一个网段,单纯IP在一个网段可能会失败。
Ntp服务器没有用到,没有测试
So Easy-Ntp嵌入式软件移植的更多相关文章
- 【React Native开发】React Native移植原生Android项目(4)
),React Native技术交流4群(458982758),请不要反复加群!欢迎各位大牛,React Native技术爱好者加入交流!同一时候博客左側欢迎微信扫描关注订阅号,移动技术干货,精彩文章 ...
- Cstyle的札记,Freertos内核具体解释,第0篇
Freertos是一个硬实时内核,支持众多的微处理器架构,我们能够从它的官网(www.freertos.ort)下载它的sourcecode,同一时候也能够看出它支持了几十种的微处理器架构,这 ...
- 嵌入式ntp服务器的移植
一.交叉编译 1.官网下载http://www.ntp.org/点击download选项页 我的版本是ntp-4.2.6p5.tar.gz 2.解压 tar -zxvf ntp-4.2.6p5.tar ...
- u-boot移植 II
下面是韦老师的uboot移植攻略: A. 开发板的相关拷贝与修改 1. 在board文件夹下面, 将原来的smdk2410复制为100ask24x0目录, 并将smdk2410.c改名为100ask2 ...
- Android shell 下 busybox,clear,tcpdump、、众多命令的移植
http://my.oschina.net/mopidick/blog/167372 作为一名Android开发者,经常需要进入Android 的shell终端运行一些命令.但是我们发现Android ...
- Cocos2D-X2.2.3学习笔记9(处理重力感应事件,移植到Android加入两次返回退出游戏效果)
这节我们来学习Cocos2d-x的最后一节.怎样处理重力感应事件.移植到Android后加入再按一次返回键退出游戏等.我这里用的Android.IOS不会也没设备呃 效果图不好弄,由于是要移植到真机上 ...
- ubuntu OPENCV移植
Installing OpenCV 2.4.1 in Ubuntu 12.04 LTS 这是转载国外一篇文章 移植PC上的OPENCV http://www.samontab.com/web/20 ...
- windows ntp安装及调试
Setting up NTP on Windows It's very helpful that Meinberg have provided an installer for the highly- ...
- arm-linux移植MT7601Uusb无线网卡(小度wifi,360随身WIFI 2代)
前段时间移植过RT3070.RT5370 http://blog.csdn.net/ofaith12345/article/details/24138399 发现各种arm移植都大同小异,所以就不要纠 ...
随机推荐
- JSON - Qt 对 JSON的处理
1.关于JSON的介绍参考www.json.org Qt提供处理JSON数据的支持.QJSonObject类用于封装JSON object:QJsonDocument类提供读写JSON文档的方法:QJ ...
- 新手学js的效果图1---( 淘宝等商城货物查看特效)
本人结合之前所学一起写了,多个特效,只是新手自己瞎鼓捣的,思路清晰,具体实现的货物放大镜等,替换当中的img地址就可以查看特效 <!DOCTYPE html> <html lang= ...
- es6的解构赋值学习(1)
相对es5的简单的"="赋值来说,es6增加了一种新的赋值模式--解构赋值,按照它的规则,可以从数组和对象中提取值来对变量进行赋值,个人觉得方便了很多,但是这个模式有点恶心人,相比 ...
- HFun.快速开发平台(二)=》自定义列表实例(请求参数的处理)
上编描述了自定义列表的基本实现功能,本此记录列表的请求过程. 个人比较喜欢对参数进行对象化,方便后续人维护及查看,先上代码: /************************************ ...
- ASP.NET Web API 基本操作(CRUD)
上一篇介绍了ASP.NET Web API的基本知识和原理,这一篇我们通过一个更直观的实例,对产品进行CRUD操作(Create/Read/Update/Delete)来继续了解一下它的基本应用. 创 ...
- visual studio 2012 链接Mysql 5.1
首先在nuGet 下载MySql.Data.Entity 安装 mysql for visual studio http://www.mysql.com/why-mysql/windows/visua ...
- 监听器如何获取Spring配置文件(加载生成Spring容器)
Spring容器是生成Bean的工厂,我们在做项目的时候,会用到监听器去获取spring的配置文件,然后从中拿出我们需要的bean出来,比如做网站首页,假设商品的后台业务逻辑都做好了,我们需要创建一个 ...
- iOS回顾笔记(04) -- UIScrollView的基本使用详解
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- ARZhu的数论初步
数论 2017年3月4日02:11:35 gcd 1. 原理: gcd( a, b ) = gcd( b, a - b ) -> gcd( a, b ) = gcd( b, b % a ) 2. ...
- Java设计模式之《观察者模式》及应用场景
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6513651.html 观察者模式,又可以称之为发布-订阅模式,观察者,顾名思义,就是一个监 ...