linux驱动程序安装

linux下的驱动程序安装有模块方式与直接编译进内核。

1.模块方式

linux内核包含的组件很多,把所有的组件都编译进内核文件(zImage或者bzImage)会导致内核过大。使用内核模块可以让内核文件(zImage或者bzImage)本身并不包含某组

件,而是在该组件需要被使用的时候,动态的添加到正在运行的内核。

1.1内核模块的程序结构:

模块加载函数(必需):安装模块时被系统自动调用的函数,通过module_init宏来指定。

模块卸载函数(必需):卸载模块时被系统自动调用的函数,通过module_exit宏来指定。

1.2模块的编译:

通常使用makefile,编译后生成.ko文件。

1.3安装与卸载

加载模块:insmod(insmod *.ko)

卸载模块:rmmod(rmmod *)

查看模块:lsmod

加载模块:modprobe(modprobe *)——可以根据/lib/modules/<$version>/modules.dep文件查看依赖项,并把它们加载到内核。


2.直接编译进内核

2.1修改Kconfig文件

例如加入helloworld模块:


在配置菜单中会出现helloworld选项:


如果选中helloworld,则在.config文件中会出现如下字符串:


2.2修改Makefile文件


obj-$()中的内容要与.config中的字符串对应!




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值