添加module过程
来源:互联网 发布:2016农行网银 mac 编辑:程序博客网 时间:2024/06/08 19:04
说明: 目标机:联想Y450
操作系统:ubuntu 10.04
内核编号:2.6.32-33-generic
1 创建模块目录,我的目录是/home/wt/work/modules/m1
2 编写Makefile,内容如下:
KERN =/lib/modules/$(shell uname -r)/build #获得目标操作系统配置的路径,通过它来获取编译需要的一切系统信息
SRCS =/$(shell pwd) #获得源程序的路径
obj-m += m1.o
all:
make -C $(KERN) M=$(SRCS) modules #通过-C选项来指定系统目录,通过M来指定模块目录,通过modules来表明来编译模块
clean:
make -C $(KERN) M=$(SRCS) clean
.PHONY: all clean
3 编写模块的源文件,内容如下:
#include <linux/kernel.h>
#include <linux/module.h>
/*这里的__init表示代码放在init段
init段由linux指定,这里的代码会运行一次
以减少系统的开销,下文的__exit同理
*/
void __init init_m1(void)
{
printk("Hello World!\n");
}
void __exit exit_m1(void)
{
printk("Byebye! \n");
}
/*注册,一下的两种注册的方法优先级是比较低的,驱动上常用这种方法*/
module_init(init_m1);
module_exit(exit_m1);
4 make编译,会生成m1.ko文件,这个文件用来加载我们的模块
5 使用insmod m1.ko文件进行加载,使用dmesg命令查看消息
6 使用lsmod来查看当前加载的模块,使用rmmod m1来卸载模块,并使用dmesg来查看它的打印数据
操作系统:ubuntu 10.04
内核编号:2.6.32-33-generic
1 创建模块目录,我的目录是/home/wt/work/modules/m1
2 编写Makefile,内容如下:
KERN =/lib/modules/$(shell uname -r)/build #获得目标操作系统配置的路径,通过它来获取编译需要的一切系统信息
SRCS =/$(shell pwd) #获得源程序的路径
obj-m += m1.o
all:
make -C $(KERN) M=$(SRCS) modules #通过-C选项来指定系统目录,通过M来指定模块目录,通过modules来表明来编译模块
clean:
make -C $(KERN) M=$(SRCS) clean
.PHONY: all clean
3 编写模块的源文件,内容如下:
#include <linux/kernel.h>
#include <linux/module.h>
/*这里的__init表示代码放在init段
init段由linux指定,这里的代码会运行一次
以减少系统的开销,下文的__exit同理
*/
void __init init_m1(void)
{
printk("Hello World!\n");
}
void __exit exit_m1(void)
{
printk("Byebye! \n");
}
/*注册,一下的两种注册的方法优先级是比较低的,驱动上常用这种方法*/
module_init(init_m1);
module_exit(exit_m1);
4 make编译,会生成m1.ko文件,这个文件用来加载我们的模块
5 使用insmod m1.ko文件进行加载,使用dmesg命令查看消息
6 使用lsmod来查看当前加载的模块,使用rmmod m1来卸载模块,并使用dmesg来查看它的打印数据
- 添加module过程
- 添加Module
- 添加module
- Android - Project添加Module
- android module 添加内容
- hello module编译过程
- ubuntu下添加一个module
- android studio 添加Library module
- RunTime初涉(动态添加module)
- HAL MODULE 执行过程分析
- HAL module执行过程分析
- 添加 module 到 python 的 path 中(自动找到module)
- python添加module问题解决no module named XXX
- 在eclipse中添加外部nodejs module
- android studio添加三方类库(module)
- Android studio 添加和移除Module
- Android Studio使用技巧:添加Module依赖
- 为自己的module添加debugfs
- IIS站点/虚拟目录中访问共享目录(UNC)
- php发送电子邮件
- /linux/boot/setup.s
- HttpServletRequest的应用
- Servlet的应用--Referer请求和参数传递
- 添加module过程
- 浏览器传递参数信息
- Tomcat和myeclipse环境搭建
- 简单的linux内核添加代码
- Android核心分析(20)----Android应用程序框架之无边界设计意图
- Centos目录结构
- Linux笔记 (02)
- ServletContext应用介绍:
- servlet一些详细内容