移植linux2.6.22到s3c2440遇到drivers/rtc/hctosys.c: unable to open rtc device (rtc0) 错误提示。
解决办法:
从启动信息可以看出没有加载成功 RTC 驱动!
因此在初始化的时候应该加在rtc的驱动,
S3C2440 的 RTC 已经在 2.6.22 .6 kernel 中,但是没有加入 SMDK2440 targetboard ,
所以我们只需要将 RTC 加入初始化的设备列表中。
1. menu config 中 RTC 部分使用默认设置。
2. 修改文件 mach-smdk2440.c ( /linux2.6.22.6/arch/arm/mach-s3c2440/mach-smdk2440.c ),在数组 smdk2440_devices[] 中添加 &s3c_device_rtc.
3. 在 /dev 目录下创建 rtc 设备文件 rtc.
mknod rtc c 10 135
4. 重新编译内核。看看启动信息。
……
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2440-rtc s3c2440-rtc: rtc disabled, re-enabling
s3c2440-rtc s3c2440-rtc: rtc core: registered s3c as rtc0
……
以上信息说明 RTC 设备已经加入内核了。
完事。
来源:oschina
链接:https://my.oschina.net/u/817401/blog/93426