Linux 2.6.12内核上加载一个简单的模块
浏览:17日期:2022-07-30
;运行环境: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!
标签:
Linux系统
相关文章:1. 东芝将发布20TB MG10系列机械硬盘 容量增加了11.1%2. 英特尔确认W790芯片组 将支持新一代至强工作站处理器3. i5-12400超频测试 成功让主板达到了5.24GHz4. 戴尔XPS 8950旗舰设计台式机上架 首次搭载水冷散热5. 华硕无畏Pro15 2022锐龙版/无畏Pro14锐龙版轻薄本预售6. 英特尔锐炫A770/A750独显价格与i7-12700K处理器类似7. AMD发布锐龙7000系列台式机处理器:基于“Zen 4”架构8. 小米Redmi Book Pro 14/15 2022锐龙版笔记本开售9. 微软Surface Studio3曝光 芯片支持2.4Ghz和5Ghz10. U盘写保护格式化不了怎么操作?有写保护的u盘怎么格式化?

