【嵌入式开发】开发板设置系统时间

开发板设置系统时间

  • 环境
    • 查看系统时间
    • 查看硬件时间
    • 设置系统时间
    • 设置RTC时间
  • 其他问题

时钟包括硬件时钟和系统时钟,系统时钟就是linux系统显示的时间,用命令 date可以显示当前系统时间;硬件时钟就是硬件自身的时间了。它们两者没有关系的,但是可以通过命令设置系统时钟和硬件设置,让它们同步。

环境

Linux系统ARM架构开发板、Xshell软件

查看系统时间

date命令查看系统时间
【嵌入式开发】开发板设置系统时间_第1张图片

查看硬件时间

hwclock -u 命令查看硬件时间
在这里插入图片描述

设置系统时间

在linux系统设置系统时钟用命令date [month][day][hour][minute][year].[second],如date 030316282023.00,表示系统时间设置为2023年3月3日16时28分00秒。
在这里插入图片描述重启开发板后系统时间又变为修改前的状态。因为每次开机后系统的时间都是系统原来的时间,比如说2019年2月14日19时35分01秒。

设置RTC时间

硬件时钟RTC时间是通过hwclock命令来设置的,如:先date 030316282023.00,然后用命令hwclock -w,这样RTC时间就跟系统时间一致了。重启后时间不会重置。

同步RTC时间到系统命令hwclock --hctosys -u

其他问题

Q:在ARM-linux系统中,默认使用的UTC时间,所以使用date命令显示时间时,显示的时间比电脑上的显示的时间小8个小时,同时localtime和gmtime获取的时间一样都是UTC时间,比真正的本地时间小8小时;所以需要将默认的UTC时间改为CTS时间。

  1. 将ubuntu虚拟机中/usr/share/zoneinfo/Asia/shanghai复制到arm板子linux系统/etc/下,改名为localtime,覆盖原来的localtime文件。
    2.在启动初始化文件/etc/init.d/rcS文件中添加/sbin/hwclock -s

说明:第1步为修改时区,第2步从RTC调入时间到系统时间中来。
查看系统时间:date
修改系统时间:date -s "2018-10-31 11:15:35" (该处时间设置的应是实际北京时间-8小时)
写入硬件时钟(RTC):hwclock -w
查看硬件时间:hwclock

为了让系统时间和RTC时间同步,可以在文件系统中etc/init.d/rcS添加命令:/sbin/hwclock -s,这样每次开机时系统就会读取RTC的时间,系统时间就与RTC时间同步了。(hwclock有时候可能会在/bin目录下面,具体要看 busybox编译后放在/bin还是/sbin目录下)

你可能感兴趣的:(C语言,linux,arm开发,运维)