移植linux到2440上发现没有时钟信息,解决方法如下:
1、在linux kernel里面用make menuconfig打开配置画面,进Device Drivers选项
找到Real Time Clock画面,按下space键选择为“*”,再进入这个选项
选中Samsung S3C series SoC RTC
在Exit退出后保存
2、修改文件 mach-smdk2440.c ( /linux2.6.22.6/arch/arm/mach-s3c2440/mach-smdk2440.c ),在数组 smdk2440_devices[] 中添加 &s3c_device_rtc,然后make生成zImage文件下载到2440中。
3、在文件系统的/etc/init.d中的rcS文件里面加入RTC驱动节点
mknod /dev/rtc c 10 135 &
chmod 777 /dev/rtc &
还加上/sbin/hwclock -s,开机读取CPU的RTC时钟到linux系统
4、重新涮机后,设定时间
date -s [YYYY.]MM.DD-hh:mm[:ss]
date -s 2011.12.07-9:40:30
使用hwclock命令更新CPU RTC时钟
hwclock -w
*****************************************************
hwclock 参数
Options:
-r Show hardware clock time
-s Set system time from hardware clock
-w Set hardware clock to system time
-u Hardware clock is in UTC
-l Hardware clock is in local time
-f FILE Use specified device (e.g. /dev/rtc2)
*****************************************************