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
    发现出现错误,有头文件未能包含。

  • 相关阅读:
    MySql跨服务器备份数据库
    html特殊字符过滤
    PHP简单去掉文件里面的空行和重复行
    汉字转拼音首字母缩写
    php 时间配置
    兼容ie6、ie7和firefox的div控制最小高度又自适高度的设置
    JBoss AS7:Timeout deploying JBoss applications
    中国经纬度范围
    CSS 架构
    linux 下 rpm 安装mysql
  • 原文地址:https://www.cnblogs.com/defen/p/4728753.html
Copyright © 2011-2022 走看看