20155308 2017-2018-1 《信息安全系统设计基础》实验四外设驱动程序设计
20155308 2017-2018-1 《信息安全系统设计基础》实验四外设驱动程序设计
外设驱动程序设计-1
实验要求
学习资源中全课中的“hqyj.嵌入式Linux应用程序开
发标准教程.pdf”中的第十一章
提交康奈尔笔记的照片(可以多张)
外设驱动程序设计-2
实验要求
在Ubuntu完成资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章的test试验
提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现学号信息)
实验过程
首先我在VirtualBox环境下进行实验,然后总是出现权限不够的提示,总是提示找不到命令。通过加权限等方法也不可以。
然后通过同学的提示,说我们的VirtualBox环境比较新,无法支持这个实验,所以实验环境换到VMware Workstation软件下进行实验。
但是也会出现权限不够的提示:
然后我们上网寻找了一个修改权限的方法:
- 命令格式:
chmod [-cfvR] [--help] [--version] mode file - 命令功能:
用于改变文件或目录的访问权限,用它控制文件或目录的访问权限。 - 命令参数:
必要参数:
-c 当发生改变时,报告处理信息
-f 错误信息不输出
-R 处理指定目录以及其子目录下的所有文件
-v 运行时显示详细处理信息
选择参数:
--reference=<目录或者文件> 设置成具有指定目录或者文件具有相同的权限
--version 显示版本信息
<权限范围>+<权限设置> 使权限范围内的目录或者文件具有指定的权限
<权限范围>-<权限设置> 删除权限范围的目录或者文件的指定权限
<权限范围>=<权限设置> 设置权限范围内的目录或者文件的权限为指定的值
权限范围:
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组
权限代号:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
s :特殊权限
在每次运行文件之前,输入
chmod +x .....
再运行程序,就可以成功了
实验过程如下:
- 清除并执行makefile文件
make clean;make
- 给脚本加可执行权限
chmod +x test_drv_load
- 给脚本加可执行权限
chmod +x test_drv_unload
- 给脚本加可执行权限
chmod +x test_drv.ko
- 得到root权限
su
- 加载模块
./test_drv_load
- 编译
gcc test.c -o test
- 运行
./test
- 卸载模块
./test_drv_unload
外设驱动程序设计-3
在实验箱中通过交叉编译完成test实验
提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现学号信息)
本次实验电脑和实验箱没有办法ping通,就没有办法实现。
体悟和感想
本次实验是先学习老师给的资料,然后再进行的实验。笔记是通过康奈尔笔记的方法进行记录,然后实验的总体步骤还是比较简单的,但是在实验过程中还是会出现很多问题,然后不断解决。感觉学习到了很多东西。