2019-2020-1 20175227张雪莹《信息安全系统设计基础》 实验四 《外设驱动程序设计》
作者:互联网
2019-2020-1 20175227张雪莹《信息安全系统设计基础》
实验四 《外设驱动程序设计》
实验报告封面
- 课程:信息安全系统设计基础 班级:1752班 姓名:张雪莹 学号:20175227
- 指导教师:娄嘉鹏 实验日期:2019年11月25日
- 实验时间:--- 实验序号:四
实验题目:外设驱动程序设计
实验步骤
- 任务一
- 要求:
- 学习资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章
- 提交康奈尔笔记的照片(可以多张)
- 要求:
- 任务二
- 要求:
- 在Ubuntu完成资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章的test试验
- 提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现学号信息)
- 实现:
- 将该章中关于字符设备的代码
test_drv.c
、test.c
、Makefile
、test_drv_load
、test_drv_unload
敲入 - test_drv.c
- test.c
- test_drv_load
- test_drv_unload
- 编译并加载驱动模块
- 编译:
make clean;make
- 加权限加载脚本或以管理员身份加载脚本:
chmod +x ./test_drv_load
,sudo ./test_drv_load
- 编译:
- 编译运行程序
- 编译:
gcc -o test test.c
- 加权限或以管理员身份运行:
chmod +x ./test
,sudo ./test
- 编译:
- 卸载驱动程序
- 加权限加载脚本或以管理员身份加载脚本:
chmod +x ./test_drv_unload
,sudo ./test_drv_unload
- 加权限加载脚本或以管理员身份加载脚本:
- 运行示例:
- 将该章中关于字符设备的代码
- 要求:
- 任务三
- 要求:
- 在实验箱中通过交叉编译完成test实验
- 提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现学号信息)
- 实现:
- 按照实验一的环境配置将PC连接到实验箱,要求是两个虚拟机和实验箱能互相ping通。
- 要求:
遇到的问题及解决方法
- 问题1:makefile时出现
遗漏分隔符
错误提示。 - 问题1解决方法:makefile文件中任何命令之前都必须有一个Tab缩进。
- 问题2:运行load脚本出现错误
insmod: error inserting './test_drv.ko': -1 File exists
- 问题2解决方法:输入
sudo rmmod -f 文件名
强力删除该文件后重启虚拟机。
标签:load,张雪莹,驱动程序,drv,编译,20175227,实验,test,加载 来源: https://www.cnblogs.com/zxy20175227/p/11965324.html