Linux驱动笔记(1)

模块退出前的__exit宏表示,这个函数会被链接到.exit.text段,这个段的代码只会在模块被移除的时候执行
module_init宏把akae_init函数别名为init_module的模块入口函数。
module_exit宏表示把akae_exit函数别名为cleanup_module的模块退出函数。
模块中都可以指定这两个宏,也可以都不使用这两个宏,但是如果仅仅调用module_init宏,没有调用module_exit宏,模块插入后将成为【permanent】,不能被移除。
模块参数
使用宏module_param(变量名,变量类型,文件权限)来定义参数
insmod hello.ko count=1000 p="hello world"
可以在insmod命令的参数里指定模块参数的新的值。
可以在/sys/module/模块名/parameters目录中找到一个和模块参数同名的文件,跟踪它的值。
字符设备驱动:
应用程序报错的几种原因:
1.设备文件没有创建
2.设备文件创建时和应用程序中要打开的文件名不一样
3.设备文件是正确的,但是驱动模块没有插入内核
4.设备文件名字是正确的,驱动也插入内核了,但是设备文件的主设备号和驱动的主设备号不匹配
5.设备文件的读写权限不对


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值