Linux内核模块了解

驱动开发详解:
  驱动模块概念了解

  了解内核的兄弟都知道,内核中的各个功能可以静态编译到内核

  也可动态的加载,也就是模块机制

  编译到内核中会导致内核很庞大,另外,添加或删除一些功能将

  不得不重新编译内核

  模块机制优点:

  1,本身不编译内核,从而控制内核的大小

  2,加载后就和内核中的其他部分一样

  模块相关操作:

  查看模块:lsmod

  nfsd 190748 17

  lockd 57848 1 nfsd

  nfs_acl 6656 1 nfsd

  auth_rpcgss 33032 1 nfsd

  exportfs 7808 1 nfsd

  sco 12932 2

  bridge 43668 0

  stp 6148 1 bridge

  说明一下,这个命令可以获得系统中加载了的所有模块及模块的

  依赖关系,实际上是读取分析/proc/modules,使用cat /proc/modules

  可以得到相同的结果

  modinfo xxx.ko

  可以查看编译后模块的相差信息

  insmod ./xxx.ko

  rmmod xxx

  模块的编译???

  这个暂时不是很清楚

  也是.c的程序

  先写一个Makefile

  例如:

  obj-m := xxx.o

  编译

  make -C $(Linux内核源代码的路径) M=$(pwd) moudels

  $(pwd) 是程序源码和Makefile的目录


文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 6276