zoukankan      html  css  js  c++  java
  • 实验四 外设驱动程序设计(小组)

    小组成员:20135310陈巧然 20135305姚歌

    一.实验目的与要求

    • 掌握实时系统应用和驱动程序的编写
    • 选择某个接口电路(串口、LED、LCD、USB)
    • 平台可选择Windows或Linux

    二.实验内容

    • 在ARM开发平台下,选择某个进行接口电路驱动程序设计

    三.实验步骤

    1、阅读和理解源代码
    进入/arm2410cl/exp/drivers/01_demo,使用vi 编辑器或其他编辑器阅读理解源代码
    2、编译驱动模块及测试程序
    上面介绍了在 Makefile 中有两种编译方法,可以在本机上使用gcc 也可以使用交叉编译器进行编译,这里我们只介绍用交叉编译器进行编译
    注意:如果编译的时候出现问题,可能是在/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
    debug linux linux-2.4 linux-2.4.20-8 redhat

    也可以通过修改makefile文件来解决


    3、测试驱动程序
    如果使用 gcc 编译的话,需要通过下面的命令来建立设备节点,如果使用交叉编译器的话,不需要建立设备节点
    #mknod /dev/demo c 254 0
    首先要插入驱动模块demo.o,然后可以用lsmod 命令来查看模块是否已经被插入,在不使用该模块的时候还可以用rmmod 命令来将模块卸载

    使用测试程序来进行测试,按照上面步骤成功后会出现下面的结果:


    如果模块没有成功插入的话,会出现下面的情况:
    [root@zxt 01_demo]# ./test_demo
    ####DEMO device open fail####
    在驱动模块成功插入后,会在/dev 下面建立一个叫做demo 的设备文件,我们也可以使用cat 命令
    来直接调用read 函数,来测试读过程。
    [root@zxt demo]# cat /dev/demo/0
    device open success!

    四.实验中遇到的问题及解决方法

    • 在实验中直接敲make命令无法使用,只能通过修改makefile文件来解决

    五.实验体会

       这次的Linux实验前期基本步骤同实验一、二相似,都是在配置实验箱的环境下进行的,因为有做实验一、二积累的经验,这次配置就很成功,按实验指导书步骤一步一步来做,很快就解决了。之后基本上掌握了实时系统应用和驱动程序的编写,能够实现在ARM开发平台下,选择某个进行接口电路驱动程序设计,对于ARM开发板的使用有了更深层次的了解。其中实例学习和运行过程中, Makefile有两种编译方法,对于交叉编译方法,显示Error,修改makefile文件后成功。这点在以后的时间里面需要学习更多的相关知识。

  • 相关阅读:
    全角半角转换
    MSN的头像存放路径
    treeview托拽和动态添加节点以及treeview和xml的交互的实现
    一个简单的分页存储过程
    datagrid数据导出到excel文件给客户端下载的几种方法
    大容量数据传输,web.config修改方法
    XSD(XML Schema Definition)学习笔记
    最近想发起一次服务器合租,有米有人有兴趣
    从首页看CCS布局
    关于CS1.1后台管理页面的研究
  • 原文地址:https://www.cnblogs.com/20135305yg/p/4975657.html
Copyright © 2011-2022 走看看