嵌入式操作系统实验9-1..doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式操作系统实验9-1.

实验报告 课程名称: 嵌入式操作系统实验9 实验名称: 驱动程序的加载、卸载与虚拟字符设备驱动程序设计 学生姓名: 专业: 学号: 同组学生姓名: 指导老师: 成绩: 一、实验目的 本实验主要是在宿主机环境,实现一个简单的驱动模块,并可以加载、卸载等操作。掌握在Linux环境下设备的分类及设备文件的查看,理解主设备号与次设备号的概念,掌握驱动程序编译方法,理解驱动程序模块加载的概念、卸载、查看驱动模块的方法。掌握设备驱动程序设计流程及驱动程序相关的数据结构,理解字符设备驱动程序的设计原理,掌握Linux 驱动程序的加载方法。 二、实验内容 1. 查看设备号。 2.编写程序代码。 3.模块方法编译。 4.模块加载与卸载。 5.虚拟字符驱动程序设计。 6.驱动程序的模块编译。 7.设备节点的申请。 8.驱动程序测试。 三、实验设备 PC机、Linux操作系统。 四、实验步骤 任务1:驱动程序的加载与卸载 1.在Linux操作系统终端应用命令:ls -l /dev |more 2.在RedHat Linux 9的/home文件夹下,新建文件夹driver,用vi编辑下面的驱动程序 #include linux/module.h MODULE_LICENSE(Dual BSD/GPL); #include linux/init.h static int __init hello_init(void) { printk(Hello,world!\n); return 0; } static void __exit hello_exit(void) { printk(Goodbye,cruel world!\n); } module_init(hello_init); module_exit(hello_exit); 3.应用模块加载的方式编译hello.c [root@localhost driver]#gcc -O2 -DMODULE -D__KERNEL__ -c hello.c 4.加载驱动程序hello.o [root@localhost driver]#insmod hello.o (此处添加hello.o文件信息示意图) [root@localhost driver]# insmod hello.o hello.o: kernel-module version mismatch hello.o was compiled for kernel version 2.4.20 while this kernel is version 2.4.20-8. 注意:假如出现以下信息: hello.o: kernel-module version mismatch hello.o was compiled for kernel version 2.4.20 while this kernel is version 2.4.20-8. 解决方法: [root@localhost root]# vim /usr/include/linux/version.h 修改” #define UTS_RELEASE 2.4.20” 为” #define UTS_RELEASE 2.4.20-8” 再次编译,再次加载 [root@localhost driver]#gcc -O2 -DMODULE -D__KERNEL__ -c hello.c (写出编译时的显示信息) [root@localhost driver]# gcc -O2 -DMODULE -D__KERNEL__ -c hello.c [root@localhost driver]# insmod hello.o hello.o: kernel-module version mismatch hello.o was compiled for kernel version 2.4.20 while this kernel is version 2.4.20-8. 5.使用命令lsmod查看 Linux系统中,使用命令lsmod查看驱动模块加载的情况与它们的关系。 [root@localhost driver]# lsmod (写出应用命令lsmod后的显示信息) [root@localhost driver]#

文档评论(0)

sa1fs5g1xc1I + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档