摘要:
1.设备号分为主次设备号,看上去像是两个号码,但在内核中用dev_t()一种结构表示,同时不应该自己去假设赋值设备号,而是使用宏()来取得.MAJOR(dev_t dev); MINOR(dev_t dev);即使你有确定的主,次设备号也要用dev=MKDEV(int major, int minor); 阅读全文
摘要:
笔记以Linux Driver3提供的scull程序(scull目录中的main.c和scull.h)为记录主线,并以该驱动程序中的各种系统调用和函数调用流程为记录顺序。比如,module_init( )和module_exit()为相对应的一对系统调用,一般书籍中都会放在一起讨论,但是本笔记却不会这样,而是在需要调用的时候才会涉及,因此module_init()会放在笔记开始时,也就是刚加载module时讨论,而module_exit( )则会放在笔记结束前,也就是要卸载module时再加以讨论。该笔记的的目的是为了对Linux Device Drvier3中提到的各个知识点作一下整理,理清一下头绪,从而能让我对Linux驱动程序加深整体或者全局上的理解。 阅读全文