博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
platform 平台驱动——设备的写作流程
阅读量:5278 次
发布时间:2019-06-14

本文共 723 字,大约阅读时间需要 2 分钟。

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

解决:

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"  来在终端进行测试,测试完成后需要重启板子才可以恢复。

转载于:https://www.cnblogs.com/edan/p/9235378.html

你可能感兴趣的文章
SWIFT国际资金清算系统
查看>>
Sping注解:注解和含义
查看>>
站立会议第四天
查看>>
如何快速掌握一门技术
查看>>
利用AMPScript获取Uber用户数据的访问权限
查看>>
vagrant 同时设置多个同步目录
查看>>
python接口自动化28-requests-html爬虫框架
查看>>
生成随机数的模板
查看>>
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>
UVa 11059 最大乘积
查看>>
数组分割问题求两个子数组的和差值的小
查看>>
composer 报 zlib_decode(): data error
查看>>
hdu 3938 并查集
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>
python之GIL release (I/O open(file) socket time.sleep)
查看>>
软件开发与模型
查看>>
161017、SQL必备知识点
查看>>
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>