Linux: S3C2410的RTC驱动
----------------------------------------------------------------------------------------------------------------------------------------
/**/
/*
********************************************************************************************************
* @Description:s3c2410的rtc驱动的实现,rtc(real time clock)实时时钟的驱动是个很好的
* 理解如果编写驱动的硬件,它包括了最基本的硬中断,软中断的底层机制;
* s3c2410的RTC驱动的实现个人认为更是对linux设备驱动一个很好的例子,他是通过二层结构来
* 实现的一个驱动,上层是一个arm common的公共层,对上提供标准的通用的RTC操作接口,下层由
* 我们来实现针对自己的chip和自己要提供的功能来实现的一层驱动;
*
* @FileTree:
**********************************************************************************************************
linux-2.6.14.6
|
|--arch
| |
| |--arm
| | |--mach-s3c2410
| | | |-devs.c //包含了对各个部件的resource的分配和定义,在这看rtc的资源;
| | |--common
| | | |-rtctime.c //一个arm平台的通用rtc函数层,它对上隐藏了各种soc的rtc driver的区别;
| | |--kernel
| | | |-time.c //内核的初始化例程time_init()会调用的xxx_cmos_xxx函数的实现;定义了全局自旋锁rtc_lock用来串行化所有CPU对RTC的操作
|
|--drivers
| |--char
| | |-s3c2410-rtc.c &nb
相关文档:
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
#include<linux/config.h>
#include<linux/module.h>
#include<linux/version.h>
#include<linux/init.h>
#include<linux/kernel.h>
#include<linux/errno.h>
#include<linux/sche ......
-------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
//平台powerpc mpc8379e linux 2.6.22
1、先用fdisk 给硬盘分一个区,用作文件系统。参照u-boot-ppc编译说明一文。
2、用mke2fs格式化硬盘的一个分区mke2fs /dev/sd ......
·find path -option [ -print ] [ -exec -ok command ] {} \;
#-print 将查找到的文件输出到标准输出
#-exec command {} \; -----将查到的文件执行command操作,{} 和 \;之间有空格
#-ok 和-exec相同,只不过在操作前要询 ......
我们知道,从CMOS中读出来的系统时间并不是time_t类型,而是类似于struct tm那样,年月日时分秒是分开存储的。
那么,要把它转化为系统便于处理的time_t类型,就需要算法进行转换。
我们都知道我们的公历还是比较复杂的,有大月小月,有闰年非闰年,处理起来会很麻烦。
&n ......
在看LKD(第二版)第六章(中断和中断处理程序)的时候,刚开始接触到中断线号和共享中断线的时候半天愣是没有想明白,原来理解的中断和中断和中断处理程序就是通过中断线号来进行关联,硬件发生中断,然后通过中断线号查找对应的中断处理程序,最后中断处理程序返回,此次中断则处理完毕,没想 ......