信息安全系统设计基础实验四:外设驱动程序设计

北京电子科技学院(BESTI)

实验报告

课程:信息安全系统设计基础 班级:1353

姓名:芦畅 傅冬菁

学号:20135308 20135311

成绩: 指导教师:娄家鹏 实验日期:2015.11.24

实验密级: 预习程度: 实验时间:15:30~18:00

仪器组次: 必修/选修: 实验序号:4

实验名称:实验四:外设驱动程序设计

实验目的与要求:

1.掌握实时系统应用和驱动程序的编写
2.选择某个接口电路

实验仪器:

名称

型号

数量

嵌入式开发平台

UP-NETARM2410-CL

1

PC机

DELL

1

 实验内容、步骤与体会:

1、前期准备,开发环境的配置同实验一,运行./install.sh

编译代码,挂载调试,成功运行:

2、阅读和理解源代码,进入/bc/01_demo,使用vi 编辑器或其他编辑器阅读理解源代码。

2、编译驱动模块及测试程序

在 Makefile 中有两种编译方法,可以在本机上使用gcc 也可以使用交叉编译器进行编译,这里我们使用交叉编译器进行编译的结果。

因为手动编译代码太为繁琐,我们选择了用make的方法,将Makefile稍微修改后就可以使用。Makefile修改后如上图所示。

之后输入make命令,看到如下图指令:

 

如果编译的时候出现问题,可能是在/usr/src 下没有建立一个linux 连接,可以使用下面的命令:

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

如果使用 gcc 编译的话,需要通过下面的命令来建立设备节点,如果使用交叉编译器
的话,不需要建立设备节点。

#mknod /dev/demo c 254 0

首先要插入驱动模块demo.o,然后可以用lsmod 命令来查看模块是否已经被插入,在
不使用该模块的时候还可以用rmmod 命令来将模块卸载。

编译成功,出现如下结果:

[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
*****************************************************

遇到的问题及解决办法:

1.我们起初运行make没有成功,我们先选择了手动编译代码,然而后来还是没有运行成功,出现

[root@zxt 01_demo]# ./test_demo
####DEMO  device open fail#### 

失败提示。

后来我们问了同学,将Mekefile修改了,再次make,可以成功运行。

2.

[root@zxt src]# ln -sf linux-2.4.20-8 linux

- ln指令的用法是连接,使用格式是ln [options] source dist,这里我们用到的sf参数的含义是:

-f:链接时先将与dist同档名的档案删除

-s:进行软链接。(软链接,又称符号链接,这个文件包含了另一个文件的路径名,特点是可以链接不同文件系统的文件,甚至可以链接不存在的文件。)

 

posted @ 2015-11-28 19:48  bonjourvivi  阅读(217)  评论(0编辑  收藏  举报