zoukankan      html  css  js  c++  java
  • 信息安全系统设计基础实验四:外设驱动程序设计

    北京电子科技学院(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:进行软链接。(软链接,又称符号链接,这个文件包含了另一个文件的路径名,特点是可以链接不同文件系统的文件,甚至可以链接不存在的文件。)

     

  • 相关阅读:
    219. Contains Duplicate II
    189. Rotate Array
    169. Majority Element
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    119. Pascal's Triangle II
    118. Pascal's Triangle
    88. Merge Sorted Array
    53. Maximum Subarray
    CodeForces 359D Pair of Numbers (暴力)
  • 原文地址:https://www.cnblogs.com/bonjourvivi/p/5003333.html
Copyright © 2011-2022 走看看