欢迎来到天天文库
浏览记录
ID:27747204
大小:110.38 KB
页数:13页
时间:2018-12-05
《linux操作系统-中断》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、新乡營淀针真机与信息工超嗲觉实验报告课程名称操作系统原理专业计算机科学与技术班级3班学号2013052701xx姓名XXX实验成绩任课教师XXX2013年12月3日实验名称中断姓名XXX成绩实验地点A14-322实验时间2013年12月30、实验目的与要求实验目的:进一步熟悉linin^P断的执行过程实验要求:认真二、操作步骤1、编写intr.c文件代码,代码如下:#include#include#include#includestaticint
2、irq;/*模块参数•中断号*/staticchar^interface;/*模块参数-设备名staticintcount=0;/*统计插入模块期间发生的中断次数moduk_param(interface,charp,0644);module_parani(irq,int,0644);staticirqreturn_tintr_handler(intirq,void*dev_id)*//*注册中断服务程序,注staticlonginterval=0;if(count==0){interval=jiffies;interval=jiffies-interval;/*计算两次中
3、断之间的间隔,时间单位为节拍printk(•’Theintervalbetweentwointerruptsis%ldn,interval);interval=jiffies;count++;returnIRQ_NONE;staticint_initintr_init(void){if(request_irq(irq,&intr一handler,IRQF_SHARED,interface,&irq)){意内核版本不同,共享标志可能有所不同*/printk(KERN_ERR’•FailstoregisterIRQ%dn,irq);return-EIO;}printk(
4、"%sRequestonIRQ%dsucceededXn",interface,irq);return0;}staticvoid_exitintr_exit(void){printk(’’The%dinterruptshappenedonirq%dn,count,irq);free_irq(irq,&irq);/*释放中断线*/printk(”FreeingIRQ%d",irq);return;module_init(intr_init);module_exit(intr_exit);MODULE_LICENSE(”GPLM);2.编写Makefile文件代码代码如下:
5、obj-m:=intr.oCURRENT.PATH:=$(shellpwd)LINUX_KERNEL:=$(shelluname-r)#Linux内核源代码的当前版本LINUX_KERNEL_PATH:=/lib/modules/$(shelluname-r)/build#Linux内核源代码的绝对路径all:make-C$(LINUX_KERNEL_PATH)M=$(CURRENT_PATH)modules#编译模块clean:make-C$(LINUX_KERNEL_PATH)M=$(CURRENT_PATH)clean#清理三、实验结果1.在模块文件intrt.c和M
6、akefile当前打开终端,输入make命令之后,所在的文件会编译出其他文件[root@localhost桌面]#Is123hellomod.c〜intr.ko.unsignedMakefileresult〜2.c〜intr.cintr.mod.cMakefile〜toolsa.c〜intr.c〜intr.mod.omodules.order第二个实验a.txt〜intr.kointr.oModuk.symvers第一个实验2.在运行插入模块insrnod之后,出现执行插入模块操作后,再次查看模块列表就会看到hellomod模块存在。[root@bogon桌面】#insmo
7、dintr.kointerface=ethOirq=9[root@bogon桌面]#lsmodModuleintrvfatfatusb_storagefuseebtable_natebtablesSizeUsedby1186085750470491vfat39108056800214690151761ebtable_natipt.MASQUERADE182233.执行卸载模块命令后就会发现intr模块从模块列表中消失。[root@bogon桌面]#rmmodintr[root@bogon桌面】#lsmodModul
此文档下载收益归作者所有