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 平台驱动——设备的写作流程的主要内容,如果未能解决你的问题,请参考以下文章
一张图掌握 Linux platform 平台设备驱动框架!建议收藏