Linux系统的很多功能都需要读取时间为基础。比如:日志系统需要时间戳以记录log,为后期的问题排查提供支撑;cron服务需要正确的时间设置以支撑周期性、特定时间点执行某个任务;等等。大多数Linux桌面系统都提供了丰富、友好的时间设置接口,很方便用户进行时间设置,但是在定制化、特殊性很强的嵌入式设备中,时间的设置有时不是那么容易。本文全面剖析linux-arm嵌入式设备的时间设置细节。

硬件时间和系统时间

  • 硬件时间
    硬件时间又称为RTC、CMOS时钟,它由主板电池供电,独立于系统运行,当系统关机、断电时依然维护时间,为系统提供时间基准。
  • 系统时间
    系统时间又称为内核时钟、软件时钟。在系统启动阶段它从硬件时间获得,之后通过timer定时中断的机制独立维护。linux应用、服务均是基于系统时间,而不是硬件时间。

hwclock和date命令

hwclock为硬件时间操作命令,date为系统时间操作命令。
hwclock、date分别显示硬件时间和系统时间。

可以通过date -s设置系统时间。
hwclock -s用于将硬件时间同步给系统时间。

hwclock -w用于将系统时间同步给硬件时间。

Linux rtc驱动

硬件时间的必备条件是需要确保linux内核中Real Time Clock被选中。

rtc加载成功之后在/dev目录中产生相应节点。

网络时间同步

对于具有互联网接入能力的嵌入式设备,系统时间可以从网络时间服务器进行同步,需要ntpdate命令的支持。

下载ntp源码包

下载地址:http://download.csdn.net/detail/messidona11/9734990

解压

tar xvzf ntp-4.2.4p7.tar.gz

配置ntp源码

./configure –prefix=$PWD/install –exec-prefix=$PWD/install –host=arm-linux CC=arm-none-linux-gnueabi-gcc
注意:需要将arm-none-linux-gnueabi-gcc改为你自己的gcc交叉编译器名称

编译

执行make&make install命令后,如果不报错则在_install目录中产生bin、lib、man三个文件夹,其中bin目录中的ntpdate为我们需要的命令。

将ntpdate拷贝到linux-arm设备的环境变量中,使用chmod u+x ntpdate给予执行权限。

通过ntpdate获取网络时间

时区配置方法

  • UTC时间
    Coordinated Universal Time 世界协调时间,又称世界标准时间、世界统一时间。
  • 本地时间
    本地时间=UTC + /- 时区
  • 时区设置方法之一:
    设置环境变量TZ
    export TZ=CST-8
    date -u显示UTC时间,date命令显示本地时间,本地时间为UTC时间根据时区换算得来。

    从上图可以看出本地时间比UTC时间早8小时,CST-8为东八区。
    BTW:可以将时间同步命令加入到crontab中周期性从时间服务器同步。

嵌入式Linux系统时间设置相关推荐

  1. 【Linux 系统时间设置,date 和hwclock】

    Linux下验证rtc驱动是否工作正常,相关的的命令:date和hwclock. 先说明: 1.本贴主要内容来整理自后注所引用的帖子. 2.如下介绍,不涉及如何编写rtc驱动,只简单介绍,驱动实现后, ...

  2. 嵌入式Linux系统时间和RTC时间

    1 概念 1.1 "系统时间"与"硬件时间" Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系 ...

  3. linux下交叉编译date命令,arm移植NTP(同步嵌入式linux系统时间)

    一.说明 网络时间协议Network Time Protocol(NTP) 是一种确保时钟保持准确的方法.如果可以访问互联网,只需安装ntp的客户端软件到互联网上的公共ntp服务器自动修正时间即可 二 ...

  4. 嵌入式Linux 系统的优化策略和方法

    嵌入式Linux 系统启动优化的那些事儿 嵌入式Linux 系统优化的那些儿事之系统启动时间的优化方法.. 嵌入式Linux 系统时间测量工具以及用法 Printk Times – 用于显示每个 pr ...

  5. 嵌入式linux通过程序设置系统时间,嵌入式新手如何设定Linux的时间函数

    一.时间相关说明 格林威治时间表示0时区的标准时间.其他时区的时间和此标准时间均有时间差.UTC(UniversalTime Coordinated)是世界协调时间,是格林威治时间在互联网中的表示方法 ...

  6. linux系统无法设置时间,linux设置系统时间

    设置系统时间 -         date命令:显示系统的时间,可以在直接输入"date"命令来查看系统的时间 -           date+%y/%m/%d -        ...

  7. java linux 时区_java同步/设置Linux系统时间

    java设置/同步Linux系统时间 在网上看了很多,试了很多,不知道是他们的环境不同还是啥原因,很少成功 下面我就把我的测试成功的代码贴出来,让同行们少走弯路,如果实验不成功,可以给我留言 我帮助你 ...

  8. linux系统中防止系统时间,设置系统时间与在Linux中

    设置系统时间的GPS timestamp_t结构与GPS在Linux的设置系统时间与在Linux中 timestamp_t结构 大家好, 我想,一旦我得到一个succesfull GPS锁定(写代码A ...

  9. linux锁定系统时间设置,Linux时间设置系统时间、硬件时间和时间服务

    Linux有两个时间,一个是系统时间,一个是RTC时间(也叫硬件时间). Linux系统启动时,会自动获取硬件时间,设置为系统时间. 一.查询系统时间: 查询系统时间:date 查询/设置硬件时间: ...

最新文章

  1. linux test数字txt,Linux26期 7月4日预习笔记
  2. python自学什么书比较好-19年学习Python有什么好的书籍推荐吗?
  3. opython3l_Python从小白到攻城狮(3)——列表和元组,到底用哪个?
  4. appium+python 操作APP
  5. 让Elasticsearch飞起来!百亿级实时查询优化实战
  6. 全国计算机等级考试题库二级C操作题100套(第57套)
  7. (转)【SpringMvc】如何使用form发送PUT和DELETE请求
  8. 使用AIR运行另外的程序。
  9. Selenium入门11 滚动条控制(通过js)
  10. 阿里云参加ONS EU 2018,飞天洛神亮相网络顶会
  11. 19个强大、有趣、又好玩的 Linux 命令!
  12. linux网络编程之socket:使用fork并发处理多个client的请求
  13. 判断当前js运行的平台环境 取自vue源码
  14. 区块链学习-以太坊学习简介
  15. 模拟image的ajaxPrefilter与ajaxTransport处理
  16. r语言正则表达式_R中的正则表达式
  17. 123 Python程序中的线程操作-协程
  18. Num43 oracle(子查询: 集合查询:处理数据:创建和管理表: 其他数据库对象)...
  19. html颜色自定义器,可自定义颜色的jQuery颜色拾取器插件
  20. 计算机老师一句话,40句感恩教师的一句话

热门文章

  1. AE教程丨毛玻璃动态效果
  2. mt19937 随机数
  3. 关于 SQL Error: 1146, SQLState: 42S02的解决方案
  4. 2022谷粒商城SpringCloud项目环境搭建+项目流程(基础篇)
  5. python php web 大流量_PHP解决网站大数据大流量与高并发
  6. java毕业设计水星家纺网站源码+lw文档+mybatis+系统+mysql数据库+调试
  7. 开源项目-蘑菇博客搭建
  8. hp塔式服务器有哪些型号,HP 服务器各型号 塔式机(国外英文资料).doc
  9. ios手机续航测试软件,iOS14.4.2续航测试:这6款旧iPhone升级续航时间缩短?
  10. python学习之 爬取煎蛋网美女图