Linux内核模块和Linux fs 与 sysfs 一

 注: 参考整理自《Linux设备驱动开发详解》

 

一 Linux 内核模块 :

    1. 查找系统中加载的模块: lsmod ; 卸载模块命令 : rmmod ;  装载命令: insmod/modprobe(modprobe 会自动分析模块间的依赖关系);

    2. 模块加载函数:利用__init 标识

             static int __init  ***_init(void)

             {

                   ................

              }

              module_init(***_init);

            返回0表示加载成功, 失败则返回一些错误代码,参考<linux/errno.h>

           在加载函数中一般用于初始化硬件,申请资源.....

    3. 模块卸载函数:利用__exit标识

            static void __exit ***_exit(void)

            {

                  .............

            }

            module_exit(***_exit);

      注: 在卸载模块的函数中,一般需要完成以下的几件事情:

          # 若模块加载函数中注册了***,则在模块卸载函数中需注销;

          # 若在模块加载函数中动态申请了内存,则在此亦需要释放;

          # 若在模块加载中申请了一些硬件资源(如:IRQ, DMA channel, I/O ,memory),则在此需释放;

    4. 模块参数 : module_param(参数名, 参数类型, 参数读/写权限)

           注: 可以利用上述的方法在加载模块时传递需要的参数。

     5. 导出符号 : 记录了该符号以及该符号所在的内存地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值