linux内核添加rtc驱动,嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之RTC时钟驱动...

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。

一、移植环境

主  机:VMWare--Fedora 9

开发板:Mini2440--64MB Nand

编译器:arm-linux-gcc-4.3.2

二、移植步骤

1. 查看没有添加对RTC时钟支持的系统。从系统启动信息可以看出RTC设备不能正常打开,系统启动后运行#date命令显示的是原始时间:1970年1月1日

101649_091022153046.png

2. 修改内核代码,添加对RTC时钟的支持。2.6.30.4内核对RTC的驱动已经非常完善了,我们只需要把他设备初始化列表中即可#cd linux-2.6.30.4/

#gedit arch/arm/mach-s3c2440/mach-smdk2440.c

101649_091022154806.png

3. 配置内核选项对RTC的支持

Real Time Clock --->

[*] Set system time from RTC on startup and resume

(rtc0) RTC used to set the system time

[*] /sys/class/rtc/rtcN (sysfs)

[*] /proc/driver/rtc (procfs for rtc0)

[*] /dev/rtcN (character devices)

Samsung S3C series SoC RTC

4. 重新编译内核后下载到开发板上测试。从系统启动信息可以看出RTC设备正常工作,系统启动后运行#date命令显示的就是当前正确的时间

101649_091022153059.png

5. 测试设置系统时间。

101649_091022161421.png

使用命令:date -s 设置时间后用hwclock -w保存到RTC设备中,但是这里出错了,说找不到文件或目录,这是为什么呢?这是因为我们还没有在dev中添加RTC设备节点。我们先查看该设备的主设备号是多少?执行命令:#cat /proc/devices 可以看到rtc的主设备号是254

101649_091022161435.png

现在创建设备节点,再此设置时间和保存,Ok,成功!

101649_091022161448.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值