Chinaunix首页 | 论坛 | 博客
  • 博客访问: 771042
  • 博文数量: 370
  • 博客积分: 2334
  • 博客等级: 大尉
  • 技术积分: 3222
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-06 16:56
文章分类

全部博文(370)

文章存档

2013年(2)

2012年(368)

分类:

2012-05-06 17:19:53

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

一、移植环境

  • 主  机:VMWare--Fedora 9
  • 开发板:Mini2440--64MB Nand
  • 编译器:arm-linux-gcc-4.3.2

二、移植步骤

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

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

#cd linux-2.6.30.4/
#gedit arch/arm/mach-s3c2440/mach-smdk2440.c

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命令显示的就是当前正确的时间

5. 测试设置系统时间。

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

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


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