首页 > 代码库 > 20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验四 外设驱动程序设计

20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验四 外设驱动程序设计

20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验四 外设驱动程序设计

实验目的与要求

技术分享

实验过程

开发环境的配置

1、连接arm开发板

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

2、建立超级终端

运行windows XP系统下“开始”、“所有程序”、“附件”、“通讯”、“超级终端”。

新建一个通信终端,取名为arm。在属性对话框中,将波特率设为115200,数据位设为8,无奇偶校验,停止位为1,无数据流控制。

技术分享

3、启动实验平台

打开超级终端,打开arm机电源开关。等待一分钟,arm机的信息会显示在超级终端的窗口中。

继续等待,输入ifconfig命令,记录下arm机的ip。

技术分享

4、修改xp系统与redhat虚拟机的ip,使得它们均与arm机的ip在同一网段。修改完IP,重启一下虚拟机,IP才能启作用。重启后在命令行中使用ifconfig确认修改正确

技术分享

5、安装arm编译器。在pc机中“开始”、“运行”,输入虚拟机的ip,输入用户名bc,密码123456然后确定 就可以访问虚拟机的文件了。然后把所需文件解压缩拷贝到共享文件夹bc中。

技术分享

进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境。

6、配置环境变量在虚拟机中使用vi修改/root/.bashprofile文件中的PATH变量为PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/ (因为该文件为隐藏系统文件,所以使用ls命令不可见),存盘后执行:source/root/.bashprofile,则以后armv4l-unknown-linux-gcc 会自动搜索到,可以在终端上输入。

技术分享

理解并实践源代码

  • 将01_demo文件夹拷贝到bc共享文件夹中
  • 进入/01_demo,使用vi编辑器阅读理解源代码

技术分享

编译应用程序

  • 在修改makefile文件后,采用交叉编译器即可进行编译。使用交叉编译器不需要建立设备节点

    [root@BC 01_demo]#make

  • 也可以使用gcc进行编译,通过下面的命令来建立设备节点 [root@BC src]#mknod /dev/demo c 254 0

测试驱动程序

  • 插入驱动模块demo.o,可以用lsmod 命令来查看模块是否已经被插入,在不使用该模块的时候还可以用rmmod 命令来将模块卸载
  • 然后运行测试程序,和预期结果一致

技术分享

遇到的问题及解决方法

这次的实验就一个问题,那就是修改makefile里面的内容!(根据实验指导书上的内容来改)

技术分享

如果修改之后再次编译还是不能成功。那是因为在/uer/src下没有建立一个linux连接,于是使用以下命令:

[root@BC 01_demo]#cd /usr/src/
[root@BC src]#ln –sf linux-2.4.20-8 linux
[root@BC src]#ls

?建立linux连接后,可以成功编译!

心得体会

实验一的内容是搭配环境,然后运行一个简单的hello world程序。我们这次实验在实验一的基础上,做起来比较快,整个过程也没什么大问题,要说值得注意的地方,就是makefile那里,要静下心来,跟着实验指导书一步一步走。我觉得就目前来说的话,要把一个实验做出来,不难。难点是理解每个实验步骤的原理! 我们小组在这方面需要加强~!再接再厉~

20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验四 外设驱动程序设计