- 博客(18)
- 收藏
- 关注
原创 Pkg-config 知识
pkg-config工具解析.pc文件自动获取库的编译链接信息,简化开发流程。它通过查询.pc文件提供库的版本、头文件路径(-I)、库文件路径(-L)等参数,避免手动指定这些路径。使用时需设置PKG_CONFIG_PATH环境变量指向.pc文件目录,通过pkg-config --cflags --libs命令获取参数。这解决了库文件不在标准路径时需手动指定路径的麻烦,如编译usbutils时的libusb库配置。参考文章详细介绍了pkg-config的使用方法和实际应用场景。
2025-06-12 17:44:09
199
原创 Linux交叉编译USButils lsusb
在Ubuntu 18 x86-64环境下使用NDK交叉编译aarch64安卓嵌入式板程序的步骤:1)安装必要工具并配置NDK r25c环境变量;2)编译libusb-1.26库,注意禁用udev支持;3)编译usbutils-007工具,替换rindex为strrchr解决兼容性问题。最终生成静态链接的lsusb可执行文件,可通过ADB推送到安卓设备使用。主要解决了交叉编译环境配置和函数兼容性问题,测试验证工具功能正常。
2025-06-12 17:40:28
1060
原创 TCS34001 Linux驱动
本示例展示了如何在Linux内核中实现TCS34001环境光传感器的I2C驱动。驱动通过设备树匹配绑定传感器,并在probe函数中初始化传感器寄存器,包括设置积分时间(ATIME)、增益(CONTROL)以及使能寄存器(ENABLE)中的PON和AEN位以启动传感器和ADC。驱动使用I2C SMBus API访问寄存器,并通过delayed_work定时任务每秒读取Clear通道的ADC值,使用pr_info打印亮度值。驱动还实现了remove函数,用于取消定时任务并关闭传感器。该驱动遵循标准Linux I
2025-05-22 11:41:05
220
原创 Android休眠唤醒同步机制
在Android系统中,实现用户态与内核态在系统挂起过程中的同步是一个复杂的问题。由于Linux的挂起流程会冻结用户态进程,用户态无法直接得知内核驱动的挂起状态。本文探讨了几种可能的解决方案
2025-05-22 11:33:43
1061
原创 HDMI CEC 流程解析
1.环境:RK3588 HDMI RX <==== 播放设备 playback。1往右移0位,说明本机logic addr 是0。4. debug节点解析。主要解析收发流程链路。5.opcode解析。
2025-04-18 18:08:54
1087
原创 【UVC 摄像头】Linux camera 用app打开后video节点消失
异常出现的时候,上面的uvc节点下就没有5-1:1.0 的节点了,所以主动将5-1:1.0 5-1:1.1绑定到uvcdriver就可以实现主动挂载video节点了,echo下刚刚的usb设备号,正常的话就会打印uvc found,那video节点也出来了。因为在APP关闭的时候,会偶现uvc driver 不能自动挂载,所以前期一直在APP释放资源的时候优化,但是优化半天,都有这个偶现自动挂载失败的问题。后面尝试着主机主动去挂载,如果退出app的时候释放失败,就我自己去主动挂载,这种办法有效果。
2024-10-18 14:55:13
901
1
原创 【Git应用】git apply 无任何响应
例如patch里面的路径是b/c,但是你的git init 路径是a/b/c,这个时候git apply是没用的。三. 原因分析:看patch、diff 里面的路径,需要跟git仓库(git init)路径对应。打好之后,可以把b里面的.git删去,在a目录下git status查看打的最新补丁就可以。然后基于b里面打git apply,这个时候应该不会出现异常了。基于上面的例子可以在b下 git init新创一个git仓库。二. git apply 无响应,没有打上补丁,也没有报错。
2024-07-17 09:59:46
1010
原创 【Linux驱动】sysfs系统文件修改666权限
在static CLASS_ATTR_RW(modem_status);那么解决办法就是直接将CLASS_ATTR_RW宏拿出来自己自定义。根据源码一点一点分析。查看源码发现,里面只是644权限。应用层反馈,无写权限,后续研究后。#无意中发现的方法#
2024-07-17 09:53:22
653
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人