网站首页 Cn029.Com - 西安网吧在线℡

Cn029.Com - 西安网吧在线℡ 西北地区网吧行业门户站点www.cn029.com,本站为您提供网吧维护,每日更新最新网吧技术,政策法规.为您提供各类网管软件,网吧软件,游戏更新软件,承接西部地区网吧维护,希望与您共同讨论网吧经营管理的经验!

投递文章  投稿指南 RSS订阅 西安网吧在线通告:
搜索: 您的位置西安网吧在线Linux-Ux新手入门 → 文章内容

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

  作者:黄盈鑫   来源:赛迪网   更新时间:2008-6-21 22:09:04   【 】  评论:0

运行环境: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.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、执行:chmod +x testmodule.ko修改模块的属性将其设为可执行文件

3、执行:insmod testmodule.ko

Hello! This is the first test module!

执行:rmmod testmodule.ko

Module exit! Bye Bye!

(责任编辑:云子)

Tags: Li 模块  
责任编辑:Cn029.Com
  • 请文明参与讨论,禁止漫骂攻击。 用户名:新注册) 验证码: 验证码,看不清楚?请点击刷新验证码

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    评论总数:0条,平均得分:0[ 查看全部 ] 网友评论
    最新资讯
    关于我们 - 联系我们 - 广告服务 - 法律声明 - RSS订阅 - 网站地图 - 返回顶部