欢迎来到天天文库
浏览记录
ID:20232014
大小:467.00 KB
页数:6页
时间:2018-10-11
《实验7,驱动程序编写,驱动程序一hello world》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验7驱动程序的编写一、实验目的:学习利用编写驱动程序,加载驱动模块、显示驱动模块,卸载驱动模块。二、实验内容前面学习了bootloader kernel filesystem,进行过内核的移植,根文件系统的制作,现在进行驱动程序的编写。#suroot切换root权限密码123456进入实验七目录#mkdir–p/home/poplar/qi(如果没有此目录,建立目录)#cd/home/poplar/qi编写hello.c#gedithello.chello.c#include#include2、el.h>MODULE_LICENSE("GPL");intinsmod_module(void){printk("Hello,World");return0;}voidrmmod_module(void){printk("Goodbye]");}module_init(insmod_module);module_exit(rmmod_module);书写Makefile#geditMakefileKERNELDIR?=/lib/modules/2.6.32-24-generic/build/PWD:=$(shellpwd)CC=$(CR3、OSS_COMPILE)gccobj-m:=hello.omodules:$(MAKE)-C$(KERNELDIR)M=$(PWD)modules(注意$(MAKE)前使用Tab缩进)#make编译编译成功后会得到很多个文件,其中有我们所要的hello.ko通过insmod 可以加载模块到我们的系统上。#insmod ./hello.ko接着执行#lsmod4、grephello查看驱动,并记录显示内容确实找到了我们编译出来的模块hello.ko显示驱动程序的输出,输出的结果保存到/var/log/messages文件中。#tail–f/var/l5、og/messages显示Hello,World。记录显示的数据然后卸载rmmodhello.ko
2、el.h>MODULE_LICENSE("GPL");intinsmod_module(void){printk("Hello,World");return0;}voidrmmod_module(void){printk("Goodbye]");}module_init(insmod_module);module_exit(rmmod_module);书写Makefile#geditMakefileKERNELDIR?=/lib/modules/2.6.32-24-generic/build/PWD:=$(shellpwd)CC=$(CR
3、OSS_COMPILE)gccobj-m:=hello.omodules:$(MAKE)-C$(KERNELDIR)M=$(PWD)modules(注意$(MAKE)前使用Tab缩进)#make编译编译成功后会得到很多个文件,其中有我们所要的hello.ko通过insmod 可以加载模块到我们的系统上。#insmod ./hello.ko接着执行#lsmod
4、grephello查看驱动,并记录显示内容确实找到了我们编译出来的模块hello.ko显示驱动程序的输出,输出的结果保存到/var/log/messages文件中。#tail–f/var/l
5、og/messages显示Hello,World。记录显示的数据然后卸载rmmodhello.ko
此文档下载收益归作者所有