Arm9+linux fl2440 驱动移植之RTC(实时时钟)和USB host

---------------------------------------------------------------------------------------------------------------------linux

                                      主机操做系统:centos 6.7
                                      交叉编译器版本:arm-linux-gcc-4.5.4
                                      开发板平台:fl2440
                                      linux内核版本:Linux-3.0
vim

                                      Author:  shaocongshuai <916962705@qq.com>centos

---------------------------------------------------------------------------------------------------------------------ide

1、RTC驱动移植测试

RTC简介:编码

        在一个嵌入式系统中,实时时钟单元能够提供可靠的时钟,包括时、分、秒和年、月、日。即便系统处于关机状态下,它也可以正常工做(一般采用后备电池供电,可以可靠工做十年),其外围也不须要太多的辅助电路,只须要一个高精度的晶振。spa

它具备如下特色:操作系统

•  时钟数据采用BCD编码或二进制表示;.net

•  可以对闰年的年、月、日进行自动处理;翻译

•  具备告警功能,当系统处于关机状态时,能产生告警中断;

•  具备独立的电源输入;

•  提供毫秒级的时钟中断,该中断可用于嵌入式操做系统的内核时钟。

详细介绍:

http://blog.csdn.net/hanmengaidudu/article/details/23964263


1>修改相应的文件

[shaocongshuai@localhost linux-3.0.2]$ vim arch/arm/mach-s3c2410/mach-smdk2410.c
...

89 static struct platform_device *smdk2410_devices[] __initdata = {

 90     &s3c_device_ohci,
 91     &s3c_device_lcd,
 92     &s3c_device_wdt,
 93     &s3c_device_i2c0,
 94     &s3c_device_iis,
 95     &s3c_device_dm9000,
 96     &s3c_device_rtc,

 97 };

...

2>作相应的内核配置

[shaocongshuai@localhost linux-3.0.2]$ make menuconfig

 Device Drivers  --->[*] Real Time Clock  --->

                      --- Real Time Clock 
                      [*]   Set system time from RTC on startup and resume
                     (rtc0)  RTC used to set the system time

                            *** RTC interfaces *** 

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

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

                     [*]   /dev/rtcN (character devices)

                     <*>   Samsung S3C series SoC RTC

3>从新编译内核测试

~ >: date -s "2016-04-24 00:11:00"
Sun Apr 24 00:11:00 UTC 2016
~ >: hwclock -w
~ >: hwclock -r
Sun Apr 24 00:11:15 2016  0.000000 seconds
~ >: hwclock -r
Sun Apr 24 00:11:30 2016  0.000000 seconds

hwclock -w //将系统时钟写入硬件时钟
hwclock -r //看时间是否在变化


2、添加USB host驱动

在这个版本的linux内核,已经对USB驱动进行来很好的支持,仅仅须要修改配置。

Device Drivers  --->

           [*] USB support  --->

                         <*>   Support for Host-side USB 

                         [*]     USB device filesystem (DEPRECATED)

                        [*]     USB device class-devices (DEPRECATED)

                        <*>   OHCI HCD support

                        <*>   USB Mass Storage support

           [*] HID Devices  --->

                      -*-   Generic HID support

                     <*>   USB Human Interface Device (full HID) support

HID是Human Interface Devices的缩写.翻译成中文即为人机交互设备.这里的人机交互设备是一个宏观上面的概念,任何设备,只要符合HID spec,均可以称之为HID设备