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)是程序的源代码和生成文件的目录