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 文件。
阅读(734) | 评论(0) | 转发(0) |