linux下S3C2440更改硬件时间芯片自己保存不了,改了重启还是以前的,使用的默认usb口也改不了总是ttyusb0

linux下S3C2440更改硬件时间芯片自己保存不了,改了重启还是以前的,使用的默认usb口也改不了总是ttyusb0,第1张

如果你在命令没有修改到硬件时间, 那说明你的命令没有成功 *** 作到时钟芯片, 你可以看一下目标版的时钟芯片是哪个型号的, 找到对应的datasheet, 看看该芯片采用什么总线接口连接你的s3c2440, 一般时钟芯片都用i2c接口, 那么你可以仿照i2c总线规范写一个 *** 作i2c从设备寄存器的程序, 直接对时钟芯片的寄存器, 比如分钟, 小时, 秒,星期,月, 年等寄存器做修改, 这样硬件时间就会改变了.这是一个可以通用的方法.

至于ttyUSB0, 这个一般是修改不了的, 因为当只有一个USB设备连接到你的系统时, linux默认是将其标记为ttyUSB0的.

你第二个问题是一个正常的现象.

第一个问题你可以这样验证一下:

先用date命令修改一下系统时间, 比如date -s "2013-4-28 10:30:00"

之后用hwclock -w 将系统时间同步为硬件时间,

如果成功后应该没有错误信息报错.

之后再用hwclock -r 读取硬件时间, 如果为刚刚你设定的时间的话, 那么说明你的时钟芯片及驱动没有问题, 而可能是的 *** 作不对.

如果你在使用hwclock 时候, 有这样的报错:

root@juson:~# hwclock -w

hwclock: open() of /dev/rtc failed, errno=2: No such file or directory.

这是因为 hwclock 默认打开/dev/rtc 这个文件, 但是你的linux可能将时钟芯片挂载/dev/rtc0 上,

这样可以:

ln -s /dev/rtc0 /dev/rtc

之后的 *** 作就因该没问题了, 你看下我的记录:

//修改系统时间

root@juson:~# date -s "2013-4-28 10:30:00"

Sun Apr 28 10:30:00 CST 2013

root@juson:~#

//同步为硬件时间

root@juson:~# hwclock -w

hwclock: open() of /dev/rtc failed, errno=2: No such file or directory.

//使用ln 解决这个问题

root@juson:~# ln -s /dev/rtc0 /dev/rtc

root@juson:~#

//再次同步就ok了

root@juson:~# hwclock -w

root@juson:~#

//获取硬件时间

root@juson:~# hwclock -r

Sun Apr 28 10:36:28 2013 -0.617634 seconds

以上就成功地修改了硬件时间.

linux板卡每次上电保存时间可以通过以下方法设置:

1、通过开发板控制台设置开发板的当前系统时间:date,[MMDDhhmm[[CC]YY][.ss]]。

2、将系统时间写入RTC:hwclock-w读出检验一下,写入是否正确:hwclock-r。

3、修改开发板根文件系统中的/etc/init.d/rcS文件,添加一行:hwclock-s或都/sbin/hwclock-s。

4、重新启动开发板,验证系统时间是否争取。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7377952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存