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

;运行环境:linux-2.6.12 编译环境:arm-linux-gcc(3.4.1) 运行平台:AT91RM9200 一、编写模块程序testmodule.c #include #include #include 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.oKDIR := /src/linux-2.6.12PWD := $(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、执行:chmodx testmodule.ko修改模块的属性将其设为可执行文件 3、执行:insmod testmodule.ko Hello! This is the first test module! 执行:rmmod testmodule.ko Module exit! Bye Bye!

    推荐阅读