2019-2020-1 20175307 20175308 20175319 实验四 外设驱动程序设计

2019-2020-1 20175307 20175308 20175319 实验四 外设驱动程序设计

小组成员

20175307高士淳
20175308杨元
20175319江野

实验步骤

1

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

2

  • 实验要求
    在Ubuntu完成资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章的test试验
    提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现学号信息)
  • 实验代码
  • 实验步骤
    • 编译并加载驱动模块
    make clean;make
    ./test_drv_load
    
    • 编译并运行测试程序
    gcc –o test test.c
    ./test
    
    • 卸载驱动程序
    ./test_drv_unload
    
    • 通过dmesg命令可以查看内核打印的信息
    dmesg|tail –n 10
    ……
    The major of the test device is 250 
    This is open operation 
    This is release operation 
    Test device uninstalled 
    
    • 通过grep命令确认驱动程序已经被卸载
  • 实验结果截图



3

  • 实验要求
    在实验箱中通过交叉编译完成test实验
    提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现学号信息)
  • 实验步骤
    • 将实验箱与电脑相连,参照实验一 开发环境的熟悉的步骤操作,确保目标机(超级终端)和宿主机(虚拟机Ubuntu)能互相ping通(实验箱IP为192.168.0.232,Ubantu的IP为192.168.0.230)
    • 参照实验一 开发环境的熟悉,用交叉编译器arm-none-linux-gnuenbi-gcc编译程序,挂载共享目录,通过NFS把宿主机中的程序运行目录映射到目标机中,运行程序

实验过程中遇到的问题及解决方案

  • 加载模块时提示insmod: error inserting '***.ko': -1 File exists
    解决方案:使用lsmod |grep test_dev查看是否已存在此模块,如果存在,则卸载rmmod test_dev或者直接重启虚拟机即可解决
posted @ 2019-12-01 14:42  20175319江野  阅读(136)  评论(0编辑  收藏  举报