zoukankan      html  css  js  c++  java
  • platform 平台驱动——设备的写作流程

    说明:在内核源码里会有很多已经实现的驱动,对于我们来说只需要写好设备文件即可,但是我们如何知道驱动需要那些数据,以及有哪些驱动呢?

    解决:

    1.首先在内核源码目录下执行执行菜单配置命令:

      make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-  

      产生菜单如下

    2.然后进入要用到驱动,如我要编译按键驱动,所以在  Device Drivers/ Input device support  /Keyboards/GPIO BUTTON ,选中后编译<*>进内核,然后我们写device数据即可。但是我们怎么知道驱动需要用哪些数据呢?

    3.我们可以在GPIO BUTTON下选择下面的Help,可以查看驱动代码的存放路径,如图:

    4.有上图可以看到驱动文件在源码下的路径为  drivers/input/keyboard/  ,但是下面有很多文件,具体在哪里呢?

    5.在源码目录下打开上面路径下的Makefile文件,命令:vim drivers/input/keyboard/Makefile  ,在里面搜索上面 的宏  KEYBOARD_GPIO,结果如下

    6.其中gpio_keys.c即是按键驱动文件,

    7.进去后查看probe函数和对应的结构体,写device文件。

    8.设备文件加载后,可以通过命令 “cat    /proc/bus/input/device"  查看有没有标准输入事件

    9.通过   "exec   0</dev/tty1"  来在终端进行测试,测试完成后需要重启板子才可以恢复。

  • 相关阅读:
    文件系统
    MySQL中添加唯一约束和联合唯一约束
    Ubuntu(Debian)的aptitude与apt-get的区别和联系
    透明与Z序示例
    Qt Quick分组属性案例
    TextView 设置超过几行后显示省略号
    ionic list item-radio checked
    webkit的基本应用
    信号槽操作案例
    报错:tr was not declared in this scope
  • 原文地址:https://www.cnblogs.com/edan/p/9235378.html
Copyright © 2011-2022 走看看