学号20145332 《信息安全系统设计基础》实验四 驱动程序设计

实验目的

学习在 LINUX 下进行驱动设计的原理。
掌握使用模块方式进行驱动开发调试的过程

实验内容

在PC机上编写简单的虚拟硬件驱动程序并进行调试,实验驱动的各个接口函数的实现, 分析并理解驱动与应用程序的交互过程。

连接arm开发板

将 arm 开发板电源线接好,保持开发板开关处于闭合状态。再分别将串口线、并口线和网线与 pc 机连接好。

建立超级终端

运行WindowsXP中:开始→所有程序→附件→通讯→超级终端(HyperTerminal)。 
新建一个通信终端。要求输入区号、电话号码等信息请随意输入,为所建超级终端取名为 arm,随意为其选一个图标。
在属性对话框中,将波特率设为 115200,数据位设为 8,无奇偶校验,停止位为 1,无数据流控制。将其另存为在桌面。

打开超级终端

打开超级终端,打开 arm 机电源开关。等待一分钟,arm 机的信息会显示在超级终端的窗口中。输入“boot”后会引导kernel,启动linux系统。在应用程序目录下,可以通过“ls”查看。

环境配置

输入ifconfig命令,记录下arm机的ip为:192.168.0.123。修改xp系统与redhat虚拟机的ip,使得它们均与arm机的ip在同一网段。xp系统为192.168.0.78,redhat为192.168.0.121.将三个IP地址ping一下,确保是相互联通的。


在pc机中“开始”、“运行”,输入虚拟机的ip。\192.168.0.121,输入用户名bc,密码123456 然后确定,就可以访问虚拟机的文件了。然后把所需文件解压缩拷贝到共享文件夹bc中。进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立
目录,配置编译环境。
在虚拟机中使用vi修改/root/.bash_profile文件中的PATH变量为PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/(因为该文件为隐藏系统文件,所以使用ls命令不可见),存盘后执行:source /root/.bash_profile,则以后armv4l-unknown-linux-gcc会自动搜索到,可以在终端上输入。

实验步骤

1、阅读和理解源代码
进入/arm2410cl/exp/drivers/01_demo,使用vi编辑器或其他编辑器阅读理解源代码。
2、编译驱动模块及测试程序
上面介绍了在 Makefile 中有两种编译方法,可以在本机上使用 gcc 也可以使用交叉编 译器进行编译
3、测试驱动程序
如果使用 gcc 编译的话,需要通过#mknod /dev/demo c 254 0 命令来建立设备节点,如果使用交叉编译器 的话,不需要建立设备节点
4、编译成功

[root@BC 01_demo]# ./test_demo
write 32 bytes data to /dev/demo
0:   0   1   2   3
1:   4   5   6   7
2:   8   9   10  11
3:   12  13  14  15
4:   16  17  18  19
5:   20  21  22  23
6:   24  25  26  27
7:   28  29  30  31
*****************************************************
Read 32 bytes data from /dev/demo
0:   31  30  29  28
1:   27  26  25  24
2:   23  22  21  11
3:   12  13  14  15
4:   16  17  18  19
5:   20  10   9   8
6:   7    6   5   4
7:   3    2   1   0
*****************************************************
posted @ 2016-11-13 15:52  20145332卢鑫  阅读(232)  评论(0编辑  收藏  举报