- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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]#
您可能关注的文档
- 岩石与地貌练习题..doc
- 岩石力学复习题(自己弄到的,就4页)..doc
- 岩石力学重点(太原理工大学采矿0903)..doc
- 岩石分类和命名方案..doc
- 岩石基坑支护设计方案..doc
- 岩石强度评价理论发展现状述评..doc
- 岩石的成因和分类地质构造和地史概念..doc
- 岩石的抗拉强度实验..doc
- 岩石矿物成分及组成..doc
- 岩石边坡植被溷凝土护坡绿化技术规程..doc
- 新时代高校教师评价改革的 四个难点问题及其应对策略.docx
- 龙江“四大精神”融入大中小学思政课一体化建设的思考.docx
- 中国特色财经人才自主培养的动因、逻辑与进路.docx
- 疫情影响下大学生负面情绪和心理危机内生态干预系统构建研究.docx
- 校地协同机制下实践育人共同体的实践探索.docx
- 数字经济时代经管类学生数据思维训练与数据能力培养研究.docx
- 课程思政的逻辑由来、认识误区与实践要点.docx
- “躺平”文化对当代大学生奋斗精神的冲击与对策研究.docx
- 马克思主义理论研究和建设工程教材《当代西方哲学思潮评析》的试用情况和推广建议.docx
- 基于翻转课堂的应用型本科高校西方经济学课程教学改革研究.docx
最近下载
- 【产品手册】黑石Blackstone_业务宣传册Brochure_bxmix-brochure_市场.docx
- 诊断报告伪造.pptx
- {安全生产管理}港口安全知识培训PPT43页.pdf VIP
- 设备安装调试方案.docx VIP
- 宪法学(第二版)(马克思主义理论研究和建设工程重点教材)课件第8章“一国两制”与特别行政区制度.pptx
- 2024届衡阳市高三统一考试(一模)英语试卷(含答案).docx
- 2023中国婴童护肤白皮书.doc VIP
- 高中地理人教版(2019)选择性必修一 知识梳理.pdf
- 学习贯彻党的二十届三中全会精神测试题(含答案).docx VIP
- 中层干部测评表.doc VIP
文档评论(0)