Chinaunix首页 | 论坛 | 博客
  • 博客访问: 418800
  • 博文数量: 93
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 1052
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-19 11:01
文章分类

全部博文(93)

文章存档

2011年(1)

2009年(26)

2008年(66)

我的朋友

分类: LINUX

2008-11-22 16:24:53

在 Linux 系統中的時鐘,可分為硬體時鐘及系統時鐘。硬體時鐘可以依賴輔助電源(電池)持續累計時間;而系統時鐘則每次重新啟動就會重置,所以一般 Linux 在開機時會做個和硬體時鐘同步的動作(hwclock -s),但是在 Embedded Linux 中是要手動操作的。

首先必須正確驅動 S3C2410RTC(Real-Time Clock) 模組才能使用 hwclock 指令,Linux 2.6.10 版本之後應該都有內建驅動,不過在 2.6.14.7 版本中有些問題,會跑出 Segmentation fault 訊息,需要作以下修改。

1. 重新編譯 Kernel 選項
# make menuconfig
在 Device Drivers —> Character devices —>
< > Enhanced Real Time Clock Support (不要選擇)
[*] S3C2410 RTC Driver

2. 修改 arch/arm/mach-s3c2410/mach-smdk2410.c
在 struct platform_device *smdk2410_devices[] 當中加入 &s3c_device_rtc,,這個結構已經在 arch/arm/mach-s3c2410/devs.c 定義,應該是忘記加了,修改好後再編譯即完成。

3. 確認驅動載入
Driver 有正確載入開機應該會有
S3C2410 RTC, (c) 2004 Simtec Electronics
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
並且有 /dev/misc/rtc 裝置

4. 使用 hwclock
先利用 date 指令調整好系統時間,再用 hwclock -w 寫入硬體時鐘,往後開機只要自動執行用 hwclock -s 即可抓到正確的時間囉!

5.假设您要设置的时间是 2008年1月3日18时24分
方法一:
date 010318242008(月日时分年)(完整书写)
方法二:
1》先设置日期
date -s 20080103
2》设置时间
date -s 18:24
+++++++++++++++++++++++++++++
如果要同时更改BIOS时间
在执行
hwclock -w

阅读(1622) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~