s3c2410 RTC驱动框架linux内核源码分析
实在无聊中就将原来的一些东西整理了一下,自己是个记性不好的人,隔断时间整理自己,同时也希望可以方便他人。
----------------------------------------------------------------------------------------------------------------------------------------
/**//*********************************************************************************************************
* @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 //具体的s3c2410上的rtc chip的驱动实现,如果需要在arm平
相关文档:
2009 年 4 月 23 日
本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。
背景
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微 ......
最近做的一些工作需要用到线程池技术,因此参考了一些资料和书籍,如《0bug c/c++商用工程之道》。
为此在linux平台上用纯c写了一个线程池的实现。
在此列出了原代码。
主要用到的数据结构有
1.struct thread_pool_t // thread pool 的实现代码
2.struct thread_pool_token_t &nb ......
下面说到的C语言中的知识,我只是在工作中经常见到或用到,但从未深究为什么,今天才却道原来简简单单下面孕育这无穷的知识点和我的盲点,是该边学习边记录了。
预处理器(Preprocessor)
1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
#define ......
功能最强在的编辑器——vi
功能最强在的编辑器——vi
vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人,
或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必 ......