Linux内核模块了解驱动器开发详细的解决方案

驱动开发详细解决方案:



驱动模块的概念



知道内核的兄弟知道内核中的所有函数都可以静态编译成内核。



它也可以动态地加载,也就是模块机制。



编译到内核会使内核非常大,添加或删除某些函数将是非常重要的。



要重新编译内核



模块机制的优点:



1,没有编译内核本身来控制内核的大小。



2,加载后,它与内核的其余部分相同。



模块相关操作:



查看模块:lsmod



nfsd 19074817



上锁578481 NFSD



66561 nfs_acl nfsd



330321 auth_rpcgss nfsd



78081 exportfs nfsd



上海129322



桥436680



STP 61481桥



因此,该命令可以获取系统中加载的所有模块和模块。



依赖关系,事实上,阅读了分析,使用了模块。



你可以得到同样的结果



xxx.ko modinfo



您可以看到编译模块的差异信息。



insmod。 / xxx.ko



rmmod XXX



模块编译



目前还不太清楚。



这也是C程序。



先写一个makefile



例如:



obj-m:=XXX啊



编译



让C $(的Linux内核源代码的路径)M = $(PWD)模型



$(PWD)是程序的源代码和生成文件的目录