Chinaunix首页 | 论坛 | 博客
  • 博客访问: 853691
  • 博文数量: 286
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1980
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-04 16:41
文章分类

全部博文(286)

文章存档

2020年(2)

2018年(5)

2017年(95)

2016年(69)

2015年(15)

2014年(100)

我的朋友

分类: 嵌入式

2014-09-09 20:57:58

 Linux移植开发指南学习笔记(五) 激活RTC驱动 (Fedora9)

未激活RTC驱动时
[root@FriendlyARM /]# date
Thu Jan  1 08:34:33 CST 1970                //UNIX TIME的纪元时间

1 、在初始化文件中加入RTC设备结构 
Linux-2.6.32.2 内核对2440的RTC 驱动已经十分完善了,但并未在mach-mini2440.c
中的设备集中加入它,因此并没有被激活,在mach-mini2440.c中加入RTC 结构体如下红色字体:

static struct platform_device *mini2440_devices[] __initdata = { 
        &s3c_device_usb, 
         &s3c_device_rtc, 
        &s3c_device_lcd, 
        &s3c_device_wdt, 
        &s3c_device_i2c0, 
        &s3c_device_iis, 
        &mini2440_device_eth, 
        &s3c_device_nand, 
}; 

2 、在内核中配置RTC 
    接下来重新配置内核,以加入RTC 的驱动支持,依次选择如下菜单项: 
Device Drivers  ---> 
  <*> Real Time Clock  ---> 
可以看到这里缺省配置已经选择了RTC 相关的选项,这里特别要注意的是该配置菜单最下方的<*>      Samsung S3C series SoC RTC 选项支持,因为这里才是内核中真正的2440之RTC 驱动配置项。

编译下载,下载不成功时,反复试,直到下载成功。

测试
[root@FriendlyARM /]# ls /dev/rt* -l
crw-r--r--    1 root     root     254,   0 Jan  1 08:00 /dev/rtc
lrwxrwxrwx    1 root     root            3 Jan  1 08:00 /dev/rtc0 -> rtc
激活RTC驱动成功

Linux中更改时间的方法一般使用 date 命令,为了把 S3C2440 内部带的时钟与linux系统时钟同步,一般使用hwclock 命令,下面是它们的使用方法: 
(1)  date -s 09092052014 # 设置时间为 2014-09-09 20:52 
(2) hwclock -w  #把刚刚设置的时间存入S3C2440 内部的RTC 
(3). 开机时使用  hwclock -s   命令可以恢复 linux 系统时钟为RTC,  一般把该语句放入
/etc/init.d/rcS   文件自动执行。 
注意:我们提供的系统已经把hwclock –s 命令写入 rcS 文件。

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