• 字符设备驱动程序的使用


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

  • 相关阅读:
    unity panel删除drawcall失败导致的残留影像
    c# List的排序
    动画播放一段就禁用
    delegate用法
    ctrl+alt+end 修改桌面密码
    Windows 下curl htpps
    Linux下端口映射工具rinetd
    Linux系统下强制踢掉登录用户
    linux ls 按文件大小排序
    chrome的功能Copy as cURL
  • 原文地址:https://www.cnblogs.com/defen/p/4728753.html
Copyright © 2020-2023  润新知