实验四实验报告
北京电子科技学院(BESTI)
实 验 报 告
课程:信息安全系统设计基础 班级: 1352
姓名:黄卫,朱国庆,杨光
学号:20135221,20135237,20135233
成绩: 指导教师:娄嘉鹏 实验日期:2015.11.24
实验密级: 预习程度: 实验时间:15:30-18:00
仪器组次: 必修/选修:必修 实验序号:4
实验名称:内核驱动设计入门-模块方式驱动实验
实验目的与要求:(1)学习在 LINUX 下进行驱动设计的原理
(2)掌握使用模块方式进行驱动开发调试的过程
实验仪器:
名称 |
型号 |
数量 |
arm |
UP-TECH |
1 |
PC机 |
XP |
1 |
虚拟机 |
REDHAT |
1 |
实验内容、步骤与体会:
1、实验过程的理解,实验指导书中知识点的理解。
(1)什么是驱动程序设计,它有何作用?
驱动程序的作用是应用程序与硬件之间的一个中间软件层,驱动程序应该为应用程序展现硬件的所有功能,不应该强加其他的约束,对于硬件使用的权限和限制应该由应用程序层控制。但有时驱动程序的设计是跟所开发的项目相关的,这时就可能在驱动层加入一些与应用相关的的设计考虑,主要是因为在驱动层的效率比应用层高,同事为了项目的需要可能只强化或优化硬件的某个功能,而弱化或关闭其他一些功能;到底需要展现硬件的哪些功能全都由开发者根据需要而定。驱动程序有时会被多个进程同时使用,这时我们要考虑如何处理并发地问题,就需要调用一些内核的函数使用互斥量和锁等机制。
(2)怎样测试驱动程序?
首先要插入驱动模块demo.o,然后可以用lsmod 命令来查看模块是否已经被插入,在不使用该模块的时候还可以用rmmod 命令来将模块卸载。然后运行测试程序,查看和预期结果是否一致。
实验过程中遇到的问题以及解决方案:
1、 make后出现,error127。
环境变量配置出现问题,重新配置后则正常make。
2、修改后makefile仍然编译失败
解决方法:原因在于没有在/usr/src下建立linux连接,可用下列命令建立连接: