platform 平台驱动——设备的写作流程

Posted edan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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文件。

以上是关于platform 平台驱动——设备的写作流程的主要内容,如果未能解决你的问题,请参考以下文章

BSP开发学习2平台设备驱动

BSP开发学习2平台设备驱动

一张图掌握 Linux platform 平台设备驱动框架!建议收藏

一张图掌握 Linux platform 平台设备驱动框架!建议收藏

Linux Platform devices 平台设备驱动

Linux Platform devices 平台设备驱动