最近一个月一直在忙于linux的设备驱动!可以说是收获甚大,不仅能看懂了字符设备的驱动,而且还会自己写出一些基本的字符驱动,个人感觉写字符驱动要点:1,file_operation的编写。2,cdev的分配,注册。3,semaphore,spinlock的应用。 4,循环缓冲队列编写write,read系统调用。5,ioctl分二步走,一、定义幻数,命令。 二、实现命令(参数检测,switch实现) 6,poll只需使用poll_wait将等待队列添加到poll_table中,返回设备的掩码即可
。7,在设备驱动init中一般要初始化等待队列,自旋锁,信号量,还有最最重要的让进程休眠的wait_queue_t的初始化。
接下的重点是platform,虽说了解了大概但是还不是能够熟练的掌握,特别是总线,设备,驱动,热插拔,kobject等一些很重要的模型。
所以最近2个月主攻platform。 |