| 订阅 | 在线投稿
分享
 
 
 

Linux 2.6.12内核上加载一个简单的模块

来源:互联网  宽屏版  评论
2008-06-01 02:22:27

运行环境:linux-2.6.12

编译环境:arm-linux-gcc(3.4.1)

运行平台:AT91RM9200

一、编写模块程序testmodule.c

#include <linux/init.h>

#include <linux/kernel.h>

#include <linux/module.h>

static int hello_init(void)

{

printk("Hello! This is the first test module!\n");

return 0;

}

static void hello_exit(void)

{

printk("Module exit! Bye Bye!\n");

return;

}

module_init(hello_init);

module_exit(hello_exit);

MODULE_LICENSE("GPL");

二、编写Makefile

obj-m := testmodule.o

KDIR := /src/linux-2.6.12

PWD := $(shell pwd)

default:

$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

#################################################

注意:"$(MAKE)"前面要空一个"Tab"

KDIR 为内核的路径,这个内核要与AT91RM9200运行的内核先同(编译器也要相同的,要不运行不了)。

三、编译

在linux下执行:make CC=/src/3.4.1/bin/arm-linux-gcc

/*注释:/src/3.4.1/bin/arm-linux-gcc 为交叉编译环境的路径*/

生成testmodule.ko

四、运行

1、将testmodule.ko通过串口或者网口下载到AT91RM9200的板子上

2、执行:chmod +x testmodule.ko修改模块的属性将其设为可执行文件

3、执行:insmod testmodule.ko

Hello! This is the first test module!

执行:rmmod testmodule.ko

Module exit! Bye Bye!

运行环境:linux-2.6.12 编译环境:arm-linux-gcc(3.4.1) 运行平台:AT91RM9200 一、编写模块程序testmodule.c #include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> static int hello_init(void) { printk("Hello! This is the first test module!\n"); return 0; } static void hello_exit(void) { printk("Module exit! Bye Bye!\n"); return; } module_init(hello_init); module_exit(hello_exit); MODULE_LICENSE("GPL"); 二、编写Makefile obj-m := testmodule.o KDIR := /src/linux-2.6.12 PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules ################################################# 注意:"$(MAKE)"前面要空一个"Tab" KDIR 为内核的路径,这个内核要与AT91RM9200运行的内核先同(编译器也要相同的,要不运行不了)。 三、编译 在linux下执行:make CC=/src/3.4.1/bin/arm-linux-gcc /*注释:/src/3.4.1/bin/arm-linux-gcc 为交叉编译环境的路径*/ 生成testmodule.ko 四、运行 1、将testmodule.ko通过串口或者网口下载到AT91RM9200的板子上 2、执行:chmod +x testmodule.ko修改模块的属性将其设为可执行文件 3、执行:insmod testmodule.ko Hello! This is the first test module! 执行:rmmod testmodule.ko Module exit! Bye Bye!
󰈣󰈤
 
 
 
>>返回首页<<
 
 热帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号wangchaonetcn
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
©2005- 王朝网络 版权所有