RTC硬件时钟设置修改【转】

转自:http://os.chinaunix.net/a2008/0526/981/000000981211.shtml

这两天一直在做i2c设备驱动的理解,所以很少更新文章。

由于对于表计来说,RTC硬件时钟是非常重要的,并且其精度设计要求是比较高的,在busybox中,可以通过date命令设置当前的系统时间,然后通过hwclock将当前的系统时间写入硬件时钟中,但是busybox的date命令有一个缺陷,就是不能精确到秒,这是我们设计中所不能忍受的,这里我们感觉到源码开放对于我们来说是多么的有好处。

修改buxybox的coreutils/date.c文件:

static struct tm *date_conv_time(struct tm *tm_time, const char *t_string)

{

int nr;

char *cp;

nr = sscanf(t_string, "%2d%2d%2d%2d%2d%d", &(tm_time->tm_mon),

&(tm_time->tm_mday), &(tm_time->tm_hour), &(tm_time->tm_min),&(tm_time->tm_sec),

&(tm_time->tm_year));

if (nr 6) {

bb_error_msg_and_die(bb_msg_invalid_date, t_string);

}

将上面的函数按照如上修改,则可以精确到秒!

格式是date后跟月日时分年

注意年是4位年,例如:2007年10月26日 10:00:30

date 10261000302007

然后使用hwclock -w将当前的系统时间写入rtc硬件时钟里面!!

时间: 2024-11-09 23:21:45

RTC硬件时钟设置修改【转】的相关文章

【LINUX】操作系统时钟与硬件时钟设置

当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作. man hwclock 写道 The System Time is the time that matters. The Hardware Clock’s basic purpose in a Linux system is to keep timewhen Linux is not running. You initialize the System Time to the time from the Hardwar

我使用过的Linux命令之hwclock - 查询和设置硬件时钟

hwclock命令,与clock命令是同一个命令,主要用来查询和设置硬件时钟(query and set the hardware clock (RTC)).RTC=Real Time Clock,也就是硬件时钟.在Linux中有硬件时钟与系统时钟等两种时钟.硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟.系统时钟则是指kernel中 的时钟.所有Linux相关指令与函数都是读取系统时钟的设定.因为存在两种不同的时钟,那么它们之间就会存在差异.根据不同参数设置,hwcloc

Linux硬件时钟和系统时钟设置

Linux时钟分为系统时钟(System Clock)和硬件时钟(Real Time Clock,简称RTC).系统时钟是指当前Linux Kernel中的时钟:而硬件时钟则是主板上由电池供电的时钟,硬件时钟可以在BIOS中进行设置.当Linux启动时,系统时钟会去读取硬件时钟的设置,然后系统时钟就会独立于硬件时钟运作. Linux关于时间的设置的shell命令有date和hwclock两种: 嵌入式s3c6410 ARM开发板中Linux时间设置: 1. date  -- 用来读取或设置系统时

linux系统时间同步,硬件时钟和系统时间同步,时区的设置

1.时间同步(手动): date -s "2015-07-15 22:13:30" hwclock --systohc   (表示系统时间同步到硬件时钟) hwclock --hctosys (表示硬件时钟同步到系统时间) 2.根据互联网时间同步: 首先查看linux是否有ntp这个软件: rpm -qa | grep ntp 如果没安装继续查找: yum search ntp 然后通过上面查找的信息提示来安装这个ntp: yum install ntp.i386 完成安装后:输入nt

Linux系统时间和硬件时间设置

在Linux中有硬件时钟与系统时钟两种时钟.硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟.系统时钟则是指kernel中的时钟.所有Linux相关指令与函数都是读取系统时钟的设定.因为存在两种不同的时钟,那么它们之间就会存在差异.当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作. 用date命令对系统时间进行设置后,并不会去修改硬件时钟,所以系统重启后,系统时间还算会去读取硬件时间,这就是为何date设置失效到原因. 因此,需要在设置系统时间后,将

linux之路的第一篇之常用系统命令之系统时钟设置详解

系统时钟通常是非常有用的,所以一定要熟记date 用来显示和修改当前系统日期时间,主要用于时间管理,这是系统时间软件时钟date 月日时分年.秒  MMDDhhmm[cc|yy].ss date 121212122013.34 2013年12月12日12分34秒 年和秒可以不指定,默认是当前年和00秒date +%D 显示日期 月日年     +%Y/%y 都可以 只显示年小y显示两位年份     +%T 小时分钟秒     +%F 年月日     +%H 小时     +%M 分钟     +

RTC实时时钟

作者:宋老师,华清远见嵌入式学院讲师. 1.1 RTC介绍 在 一个嵌入式系统中,通常采用RTC 来提供可靠的系统时间,包括时分秒和年月日等,而且要求在系统处于关机状态下它也能够正常工作(通常采用后备电池供电).它的外围也不需要太多的辅助电 路,典型的就是只需要一个高精度的32.768kHz晶体和电阻电容等,如图10-8所示. 图10-8 RTC外接电路 1.2 RTC控制器 实时时钟(RTC)单元可以通过备用电池供电,因此,即使系统电源关闭,它也可以继续工作.RTC 可以通过STRB/LDRB

第43章 RTC—实时时钟

第43章     RTC-实时时钟 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 43.1 RTC简介 RTC-real time clock,实时时钟,主要包含日历.闹钟和自动唤醒这三部分的功能,其中的日历功能我们使用的最多.日历包含两个32bit的时间寄存器,可直接输出时分秒,星期.月.日.年.比起F103系列的RTC只能输出秒中断,剩下的其他时间需要软件来实现,429的

Linux 指令篇:设定硬件时钟--hwclock

功能说明:显示与设定硬件时钟. 语 法:hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test] [--utc][--version][--set --date=<日期与时间>] 补充说明:在Linux中有硬件时钟与系统时钟等两种时钟.硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟.系统时钟则是指kernel中的时钟.当Linux启动时,系统时钟会去读取硬件时钟的设定,之后