zoukankan      html  css  js  c++  java
  • 字符设备驱动程序的使用

    1.编译、安装驱动
    linux系统中,驱动程序通常采用内核模块的程序结构来进行编码,因此,编译、安装一个驱动程序,其实质就是编译、安装一个内核模块。
    将文件memdev.c makefile 放入虚拟机中,make 得到.ko文件
    cp .ko rootfs
    启动开发板
    insmod *.ko
    2.创建设备文件
    通过字符设备文件,应用程序可以使用相应的字符设备驱动程序来控制字符设备。创建字符设备文件的方法:
    a.使用mkmod命令
    mknod /dev/文件名 c 主设备号(将驱动和设备文件关联) 次设备号
    mknod /dev/memdev0 c 253 0
    b.使用函数在驱动中创建
    应用程序-》通过文件名-》字符设备文件-》通过主设备号-》设备驱动程序
    主设备号 cat proc/device 里面存放了不同设备的主设备号。
    memdev.c 模拟一个设备,导入数据到一个数组中或从数组中输出一个数据。
    3.访问设备
    vim write_mem.c
    #include<stdio.h>
    #include<sys/types.h>
    #include<sys/stat.h>
    #include<fcntl.h>
    int main()
    {
    int fd =0;//
    int src = 2013;
    fd=open("/dev/memdev0",O_RDWR);//以可读可写的方式打开文件,打开之后会返回一个fd,
    write(fd,&src,sizeof(int));向文件中写入数据,首先写入fd,然后写入数据,数据的大小。
    close(fd);
    }
    arm-linux-gcc write_mem.c -o write_mem -g
    发现出现错误,有头文件未能包含。

  • 相关阅读:
    11.1作业
    10.25作业
    10.18作业
    zancun
    10.11作业
    SQL日期格式,转自will哥
    转自pnljs 委托(Func<int,bool>)
    ORM即 对象-关系映射(转自:微冷的雨)
    跨域上传文件(还是没有明白)
    webSocket详解
  • 原文地址:https://www.cnblogs.com/defen/p/4728753.html
Copyright © 2011-2022 走看看