Living with you!
欢迎转载
http://blog.youkuaiyun.com/livingpark
Living Park
hello.c:
# include < linux/ init. h>
# include < linux/ kernel. h>
# include < linux/ module. h>
MODULE_LICENSE( "Dual BSD/GPL" ) ;
static int hello_init( void )
{
printk( KERN_ALERT"hello,world/n" ) ;
return 0;
}
static void hello_exit( void )
{
printk( KERN_ALERT"Goodbye,cruel world/n" ) ;
}
module_init( hello_init) ;
module_exit( hello_exit) ;
Makefile:
ifneq ( $ ( KERNELRELEASE) , )
内核的路径,这个内核要与AT91RM9200运行的内核相同
obj- m : = hello. o
else
KERNELDIR = /MyProject/linux-2.6.27/ /* */
PWD : = $ ( shell pwd)
default:
$ ( MAKE) - C $ ( KERNELDIR) M= $ ( PWD) modules
endif
注意:"$(MAKE)"前面要空一个"Tab"
编译:
执行:make CC=/3.4.1/bin/arm-linux-gcc /*你的内核所使用交叉编译器路径*/
生成hello.ko
运行:
1、将hello.ko通过串口或者网口下载到AT91RM9200的板子上
2、执行:chmod +x hello.ko 修改模块的属性将其设为可执行文件
3、执行:insmod hello.ko
参考链接:
http://www.wangchao.net.cn/bbsdetail_1785786.html
http://blog.chinaunix.net/u/24474/showart_217342.html