DRV_07_UInput分析_用户态创建input_dev
发布时间 - 2025-06-25 00:00:00 点击率:次资料下载
coding无法使用浏览器打开,必须用git工具下载:
代码语言:javascript代码运行次数:0运行复制git clone https://e.coding.net/weidongshan/linux视频观看/doc_and_source_for_drivers.git
百问网驱动大全
UInput分析_用户态创建input_dev参考资料:
1. 概念uinput是一个内核模块(驱动),它允许应用程序模拟输入设备(input_dev)。 应用程序通过访问/dev/uinput或/dev/input/uinput:
框图如下:
在Ubuntu中执行:
代码语言:javascript代码运行次数:0运行复制export ARCH=armexport CROSS_COMPILE=arm-linux-gnueabihf-export PATH=$PATH:/home/book/100ask_imx6ull-qemu/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin3.2 配置内核
配置内核:执行make menuconfig
-> Device Drivers -> Input device support -> Generic input layer -> Miscellaneous devices3.3 编译驱动代码语言:javascript代码运行次数:0运行复制User level driver support
book@100ask:~/100ask_imx6ull-qemu$ cd linux-4.9.88book@100ask:~/100ask_imx6ull-qemu/linux-4.9.88$ make modules
成功的话,可以得到:
代码语言:javascript代码运行次数:0运行复制drivers/input/misc/uinput.ko
复制到如下目录:
代码语言:javascript代码运行次数:0运行复制$ cp drivers/input/misc/uinput.ko ~/nfs_rootfs/3.4 编译测试程序
把代码04_uinput上传到Ubuntu,设置好交叉编译工具链后,在04_uinput目录下执行make命令即可。
$ make$ cp uinput_test ~/nfs_rootfs/3.5 启动QEMU
在Ubuntu中执行:
代码语言:javascript代码运行次数:0运行复制$ cd ubuntu-18.04_imx6ul_qemu_system$ ./qemu-imx6ull-gui.sh3.6 挂载NFS、实验
在QEMU中执行:
代码语言:javascript代码运行次数:0运行复制$ mount -t nfs -o nolock,vers=3 10.0.2.2:/home/book/nfs_rootfs /mnt$ insmod /mnt/uinput.ko$ ls -l /dev/uinput // 确认设备节点// 后台运行uinput_test/mnt/uinput_test &// 看到提示这个提示时: Will sleep 60s, in this time you should run ts_calibreate// 运行校准程序// 注意:如果有真实的触摸屏驱动,需要指定使用虚拟的设备节点// 方法示例: export TSLIB_TSDEVICE=/dev/input/event3ts_calibrate// 看到提示这个提示时: Will sleep 60s, in this time you should run ts_test// 运行测试程序ts_test4. 结合应用程序分析uinput
ibrate
// 看到提示这个提示时: Will sleep 60s, in this time you should run ts_test // 运行测试程序 ts_test
代码语言:javascript代码运行次数:0运行复制### 4. 结合应用程序分析uinput
# ubuntu
# linux
# git
# 浏览器
# 工具
# ai
# JavaScript
# 事件
# this
# input
# 应用程序
# 是一个
# 会把
# 让它
# 工具下载
# 参考资料
# 可以得到
# 资料下载
# 给它
# 创建一个
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
太平洋网站制作公司,网络用语太平洋是什么意思?
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
Laravel如何处理和验证JSON类型的数据库字段
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
利用 Google AI 进行 YouTube 视频 SEO 描述优化
EditPlus中的正则表达式 实战(2)
Laravel distinct去重查询_Laravel Eloquent去重方法
Linux系统命令中tree命令详解
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
如何用好域名打造高点击率的自主建站?
详解CentOS6.5 安装 MySQL5.1.71的方法
如何用虚拟主机快速搭建网站?详细步骤解析
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
如何快速查询网站的真实建站时间?
三星网站视频制作教程下载,三星w23网页如何全屏?
移动端脚本框架Hammer.js
中山网站推广排名,中山信息港登录入口?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
JS实现鼠标移上去显示图片或微信二维码
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
如何为不同团队 ID 动态生成多个非值班状态按钮
SQL查询语句优化的实用方法总结
LinuxShell函数封装方法_脚本复用设计思路【教程】
Laravel如何实现本地化和多语言支持?(i18n教程)
如何快速搭建二级域名独立网站?
如何快速重置建站主机并恢复默认配置?
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
html5的keygen标签为什么废弃_替代方案说明【解答】
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
Laravel如何实现API版本控制_Laravel版本化API设计方案
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
微信h5制作网站有哪些,免费微信H5页面制作工具?
如何彻底卸载建站之星软件?
js实现点击每个li节点,都弹出其文本值及修改
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
制作公司内部网站有哪些,内网如何建网站?
利用JavaScript实现拖拽改变元素大小
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
Android okhttputils现在进度显示实例代码
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
个人摄影网站制作流程,摄影爱好者都去什么网站?
高端云建站费用究竟需要多少预算?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
下一篇:蓝莓表面通常覆盖着一层白霜这是
下一篇:蓝莓表面通常覆盖着一层白霜这是


/doc_and_source_for_drivers.git