(二)驱动模块开发过程
来源:互联网 发布:java视频教程数组 编辑:程序博客网 时间:2024/06/16 16:05
驱动模块开发:
1,参数传递
加载ko: insmod hello.ko myname="george" myvalue=33
1,参数传递
加载ko: insmod hello.ko myname="george" myvalue=33
用途: wifi驱动,wifi硬件中内部也运行内部代码,原厂开发,这些代码叫做固件--firmware.bin
装载wifi驱动,必须告诉固件到文件在哪里
insmod rtxxx.ko path=/lib/modules/firmware/xxx.bin
装载wifi驱动,必须告诉固件到文件在哪里
insmod rtxxx.ko path=/lib/modules/firmware/xxx.bin
在代码如何处理参数:
module_param(name, type, perm)
参数1:表示参数到名字,比如myname, myvalue
参数2:参数到类型, charp, int
参数3: /sys/modules/表示文件到权限: 0666
module_param(name, type, perm)
参数1:表示参数到名字,比如myname, myvalue
参数2:参数到类型, charp, int
参数3: /sys/modules/表示文件到权限: 0666
用法:
module_param(myvalue, int, 0666);
module_param(myname, charp, S_IRUGO|S_IWUGO|S_IXUGO);
2,符号导出
#include <linux/module.h>
#include <linux/init.h>
module_param(myvalue, int, 0666);
module_param(myname, charp, S_IRUGO|S_IWUGO|S_IXUGO);
2,符号导出
#include <linux/module.h>
#include <linux/init.h>
//不需要模块加载和卸载到入口声明,直接定义好一些封装的函数
int my_add(int a, int b)
{
return a+b;
}
{
return a+b;
}
EXPORT_SYMBOL(my_add);
int my_sub(int a, int b)
{
return a-b;
}
{
return a-b;
}
EXPORT_SYMBOL(my_sub);
MODULE_LICENSE("GPL");
阅读全文
0 0
- (二)驱动模块开发过程
- linux驱动模块开发(二)----字符设备驱动
- Linux 驱动开发之内核模块开发 (二)—— 内核模块编译 Makefile 入门
- Linux 驱动开发之内核模块开发 (二)—— 内核模块编译 Makefile 入门
- 【嵌入式Linux驱动开发】二、模块
- 单片机项目:驱动VS1003模块(二)
- Linux 下wifi 驱动开发(二)—— WiFi模块浅析
- Linux 下wifi 驱动开发(二)—— WiFi模块浅析
- 【Linux开发】linux设备驱动归纳总结(二):模块的相关基础概念
- Linux 下wifi 驱动开发(二)—— WiFi模块浅析
- Linux 下wifi 驱动开发(二)—— WiFi模块浅析
- Linux 下wifi 驱动开发(二)—— WiFi模块浅析
- Linux 下wifi 驱动开发(二)—— WiFi模块浅析
- Linux驱动开发庖丁解牛之二 ——模块编程
- Nginx模块开发(二)(
- FreeRadius : 模块开发(二)
- linux驱动(二):驱动模块传参
- Windows驱动开发(二)
- LeetCode编程练习
- LeetCode编程练习
- LeetCode编程练习
- superset 出现数据库错误
- (一)驱动开发之环境搭建
- (二)驱动模块开发过程
- 图解Android
- (三)驱动开发字符设备过程
- Springboot+mybatis 搭建并完美整合
- Redis学习01——介绍与搭建环境
- 多线程的一些常见问题
- LeetCode:461 Hamming Distance
- 无穷小放飞互联网是我国之首创
- 17.09.24周结