2019-2020-1 20175227张雪莹《信息安全系统设计基础》 实验四 《外设驱动程序设计》

2019-2020-1 20175227张雪莹《信息安全系统设计基础》

实验四 《外设驱动程序设计》

实验报告封面

  • 课程:信息安全系统设计基础 班级:1752班 姓名:张雪莹 学号:20175227
  • 指导教师:娄嘉鹏 实验日期:2019年11月25日
  • 实验时间:--- 实验序号:四
  • 实验题目:外设驱动程序设计

    实验步骤

  • 任务一
    • 要求:
      • 学习资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章
      • 提交康奈尔笔记的照片(可以多张)

2019-2020-1 20175227张雪莹《信息安全系统设计基础》 实验四 《外设驱动程序设计》

2019-2020-1 20175227张雪莹《信息安全系统设计基础》 实验四 《外设驱动程序设计》

  • 任务二
    • 要求:
      • 在Ubuntu完成资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章的test试验
      • 提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现学号信息)
    • 实现:
      • 将该章中关于字符设备的代码test_drv.ctest.cMakefiletest_drv_loadtest_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 ./testsudo ./test
      • 卸载驱动程序
        • 加权限加载脚本或以管理员身份加载脚本:chmod +x ./test_drv_unloadsudo ./test_drv_unload
      • 运行示例:

2019-2020-1 20175227张雪莹《信息安全系统设计基础》 实验四 《外设驱动程序设计》

  • 任务三
    • 要求:
      • 在实验箱中通过交叉编译完成test实验
      • 提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现学号信息)
    • 实现:
      • 按照实验一的环境配置将PC连接到实验箱,要求是两个虚拟机和实验箱能互相ping通。

2019-2020-1 20175227张雪莹《信息安全系统设计基础》 实验四 《外设驱动程序设计》

遇到的问题及解决方法

  • 问题1:makefile时出现遗漏分隔符错误提示。
  • 问题1解决方法:makefile文件中任何命令之前都必须有一个Tab缩进。
  • 问题2:运行load脚本出现错误insmod: error inserting ‘./test_drv.ko‘: -1 File exists
  • 问题2解决方法:输入sudo rmmod -f 文件名强力删除该文件后重启虚拟机。

相关推荐