- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NTPD手册
LINUX环境:
Linux localhost.localdomain 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:55:12 EDT 2007 i686 i686 i386 GNU/Linux
TERM=linux
SHELL=/bin/bash
HISTSIZE=1000
USER=root
CCACHE_DIR=/var/cache/ccache
PATH=/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/arm/3.4.1/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/mnt/hgfs/exchange
CCACHE_UMASK=002
LANG=en_US.UTF-8
HOME=/root
LOGNAME=root
CVS_RSH=ssh
G_BROKEN_FILENAMES=1
_=/bin/env
OLDPWD=/mnt/hgfs
GCC:
Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs
Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-3.4.1/configure --target=arm-linux --host=i686-host_pc-linux-gnu --prefix=/usr/local/arm/3.4.1 --with-headers=/usr/local/arm/3.4.1/arm-linux/include --with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.1
(3.3.2也可以)
配置命令:
./configure --build=i386-pc-linux-gnu --host=arm-linux --target=arm-linux
配置文件:
config.h
PPS API:
timepps.h
NTPD版本:
4.2.4p4
修改后的config.h和Makefile见目录。
NTPD关键路径图:
1、选择refclock
修改config.h,默认未使用的refclock为“/* #undef CLOCK_ */”,如“/*#undef CLOCK_ATOM */”
修改为“#define CLOCK_ATOM 1”,则为启用此refclock。其中需要用到的refclock如下:
CLOCK_NMEA
CLOCK_ONCORE
可以选择性的修改,为了支持PPS,修改如下:
#define HAVE_PPSAPI 1
#define HAVE_TIMEPPS_H 1
并在Makefile中加入timepps.h。
2、ONCORE
(1)1PPS
ONCORE驱动需要用到GPS和1PPS,分别为
#define DEVICE1 /dev/oncore.serial.%d
#define DEVICE2 /dev/oncore.pps.%d
一般%d为0
ONCORE流程为:
由于1PPS时序上总是奇怪出错,所以加上时间判断,晚1秒就加1,具体做法是oncore_msg_BnEnHn中取Hn到达的时间,并作为参数传递给oncore_get_timestamp用于判断。
gettimeofday(tv,0);
oncore_get_timestamp(instance, dt1, dt2,tv);
在oncore_get_timestamp内:
float interval = 0.0;
if (instance-assert) {
tsp = pps_i.assert_timestamp;
interval =tsp-tv_sec - stv-tv_sec;
#ifdef HAVE_STRUCT_TIMESPEC
interval += tsp-tv
您可能关注的文档
最近下载
- 二年级语文上单元归类复习.pdf VIP
- ASME B18.29.1-2010 螺旋线圈螺纹插入-自由运行和螺纹锁定(英寸系列).pdf VIP
- 电力行业检查标准清单(发电部分).docx VIP
- 2025至2030年中国四川省渔业行业发展趋势预测及投资规划研究报告.docx
- 新苏教版六年级科学上册试卷1-5单元测试卷含答案5单元全册打包期中期末复习.docx VIP
- 危大工程与超过一定规模的危大工程清单(住建部2018第31号文).pdf VIP
- 2025小学科学学科教师基本功大赛试题(理论部分附答案).docx VIP
- 钢筋混凝土化粪池22S702.docx VIP
- L23R401 城镇热水管道直埋敷设图集.docx
- GMP文件管理规程(新版).pdf VIP
文档评论(0)