12内核上如何加载一个简单的模块?
nux2.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、执行:chmod +x testmodule。ko修改模块的属性将其设为可执行文件 3、执行:insmod testmodule。ko Hello! This is the first test module! 执行:rmmod testmodule。
ko Module exit! Bye Bye!。
答:前两天,我也遇到这种问题,开始不知道怎么回事,最后我把pps网络电视重新装了一下,然后又升级了一次,重启后这个故障就消失了。详情>>
问:同事ip:10.101.107.28 我的IP:10.101.104.23我们在...
答:你们公司是WINDOWS域环境吗,如果是的话,你在网上邻居里应该能看到对方的主机。让她把文件夹共享出来就可以。 如果不是WINDOWS域,那得看你们是不是在一个...详情>>
问:数据结构顺序表的建立,可定义顺序表 #define maxnum elemtyp...
答:打开VC ,然后点击新建,出来界面之后选择Win32 Console Application并输入工程的名称和选择项目的位置,然后出现“一个空工程”,在点击“...详情>>