自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 资源 (8)
  • 收藏
  • 关注

原创 v4l2_subdev 与 /dev/videoX 的关联

本文分析了Linux V4L2框架中传感器驱动与视频设备的关联机制。核心流程包括:1)传感器驱动通过v4l2_subdev注册,实现控制接口;2)SoC驱动创建video_device,生成用户空间设备节点;3)通过媒体控制器或异步子设备机制建立两者连接。关键是通过v4l2_subdev_call()实现用户操作到I2C控制的转发,形成"用户空间-video_device-v4l2_subdev"的三层控制链,最终完成从软件操作到硬件寄存器配置的完整通路。该机制实现了传感器驱动与平台驱动的解耦,支持灵活的视

2025-06-11 16:57:00 468

原创 Android Wi-Fi 连接失败日志分析

Android Wi-Fi 连接异常分析日志显示设备Wi-Fi连接失败,主要原因包括:1) 设备主动断开连接(CTRL-EVENT-DISCONNECTED reason=3),可能因信号弱或省电模式触发;2) Wi-Fi扫描失败(errorCode: -7),可能受系统限制或省电策略影响;3) 网络配置丢失(networkId 1找不到),表明保存的Wi-Fi信息可能被清除;4) 网卡异常(ifindex 13 down),提示Wi-Fi驱动或硬件问题。建议检查信号强度、关闭省电模式,并验证Wi-Fi配

2025-06-10 13:13:16 454

原创 如何使用 IP 地址修改 Android 的 Captive Portal 校验 URL

本文介绍了Android设备的Captive Portal检测机制及修改方法。主要内容包括:1) 通过ADB命令修改检测URL地址,指向自定义服务器;2) 服务器需正确配置HTTP 204响应;3) 提供Nginx、Apache和Python示例配置;4) 可选完全禁用检测或调整检测模式;5) 查看当前配置的方法。该方案适用于解决Wi-Fi自动连接问题,但需确保服务器可访问并正确响应。

2025-06-10 10:51:08 425

原创 Android AIDL Hal最低保证出现的问题

Android AIDL HAL的"乐观假设"设计解析在Android AIDL HAL(如IComposer)中,部分功能直接返回true而非动态查询,这源于协议层面的强制支持要求。与HIDL需运行时检查不同,AIDL通过版本号约束基础功能(如可变刷新率、帧调度等),确保厂商必须实现。这种设计减少了Binder通信开销,用静态决策替代动态检查,提升性能。Google通过CTS认证和版本协商机制保障兼容性——若厂商虚报支持将导致认证失败。关键功能(如亮度控制)因Android版本要求而默认可用。该优化

2025-05-29 09:58:59 938

原创 Android SurfaceFlinger核心工作机制

SurfaceFlinger是Android图形系统的核心服务,负责管理图形缓冲区合成及显示输出。其核心工作流程包括:1) 通过main()函数初始化并注册系统服务;2) 采用分层架构与硬件交互,优先使用HWC硬件合成,失败时回退GPU混合模式;3) 通过HAL抽象层实现硬件厂商适配,支持DRM/KMS驱动交互。关键设计包括动态硬件能力查询、分层解耦架构和性能优化策略。调试时可查看HWC版本或强制GPU合成分析问题。整体设计在保证兼容性的同时最大化硬件加速能力。

2025-05-29 09:26:01 788

原创 Systemd服务重启策略详解:on-failure与相关配置

Systemd作为现代Linux系统的初始化系统,提供了强大的服务监控和自动重启功能。

2025-05-23 16:50:13 460

原创 Linux 磁盘管理、分区和文件系统检查

本文介绍了三个关键命令及其在排查和修复SD卡或eMMC存储设备问题中的应用。首先,gdisk -l /dev/mmcblk0用于查看分区表,确认分区布局、类型和文件系统。其次,cat /etc/fstab用于检查系统自动挂载的磁盘配置,确保分区正确挂载。最后,fsck /dev/mmcblk0p7用于检查和修复文件系统错误,如超级块损坏或文件系统不一致。

2025-05-23 14:39:07 468

原创 PCIe EP/RC 核心功能解释

本文介绍了 PCIe 设备中几种关键技术的功能与应用,包括 BAR 访问、DMA 传输、MSI 中断、EP 卡中断事件以及 ELBI 中断。BAR 用于主机与设备之间的寄存器访问,DMA 实现高效数据传输,MSI 提供低延迟中断通知,EP 卡中断事件处理设备内部状态,ELBI 则用于设备内部模块通信。文章还通过数据采集卡的示例展示了这些技术的协同工作流程,并对比了它们的特点与适用场景,如数据采集、GPU/FPGA 加速和网络适配器等。这些技术共同提升了 PCIe 设备的性能与效率。

2025-05-20 18:02:26 977

原创 [特殊字符] 10个Linux系统急救神技:死机、卡顿、崩溃?一招全搞定!

列出了所有可用的 SysRq 功能键及其作用。SysRq 是 Linux 内核提供的“魔法键”组合(通常通过。触发),用于在系统崩溃、死锁或调试时执行底层操作。触发了 Linux 内核的。

2025-04-30 15:45:30 411

原创 深入解析:GCC 默认路径与库文件管理指南

在 Linux 开发中,GCC/G++ 的默认搜索路径决定了编译器如何查找头文件(理解这些路径的规则,能帮助你解决。链接失败、运行时库缺失等问题。

2025-04-30 11:53:48 406

原创 从摄像头到 RAW 数据:MJPEG 捕获与验证

MJPEG(Motion JPEG)是一种常见的视频压缩格式,广泛应用于摄像头、监控系统和嵌入式设备。在某些场景下,我们需要直接从摄像头获取 MJPEG 原始数据,并验证其正确性。命令进行验证,同时拓展相关技术细节。工具捕获 MJPEG 帧,并通过。

2025-04-29 17:36:44 310

原创 不用setWindow=手动造轮子?揭秘Qt坐标系系统的设计哲学

通过这种方式,您会直观感受到逻辑坐标系如何像"虚拟摄像机"一样控制图形的显示范围与比例。

2025-04-28 15:12:45 787

原创 内核调试目录文件详解 Linux /proc/sys/kernel

目录包含了Linux内核运行时参数的设置,这些参数可以动态调整系统行为而无需重新启动系统。

2025-04-28 10:11:11 502

原创 C++ 强制类型转换对比

【代码】C++ 强制类型转换对比。

2025-04-27 14:23:34 306

原创 高频关键字、函数、容器、智能指针和算法例子

通过具体代码实践,能更直观理解这些核心概念!

2025-04-27 14:05:38 338

原创 [特殊字符] Qt信号槽终极指南:传统vs Lambda,谁才是王者?

那么,传统方式与Lambda方式各有什么优缺点?本文全面对比,帮你做出最佳决策!在合适的场景选择最优雅的方式,让代码既简洁又健壮!函数是信号槽机制的核心,而Qt5之后引入了。

2025-04-24 15:17:17 399

原创 创建systemd服务并在显示服务后运行

要增加这个app。

2025-04-24 10:10:20 257

原创 ❌ 你的 Linux 图形性能差?可能选错了显示后端!

新项目优先评估 Wayland,兼容需求通过 XWayland 解决;嵌入式场景可结合 Qt/Wayland 或专用框架。

2025-04-23 13:43:44 725

原创 Qt 容器类使用指南

Qt提供了一系列容器类,类似于STL容器但更紧密集成到Qt框架中。Qt容器与STL容器可以互相转换,根据具体需求选择合适的容器类型。

2025-04-23 09:53:34 343

原创 PCM 参数深度解析:采样率、帧、缓存大小与多通道关系

采样率(rate):定义每秒处理的帧数(48000 Hz),与通道数无关。帧(Frame):是一个包含所有通道采样的最小数据单位,每帧字节数由 channel 数×(每个采样的字节数)决定。:单次数据传输的帧数(1024 帧),也意味着单个周期的时长为 1024/48000 秒(约 21.33 毫秒)。:缓冲区中周期的总数(4),影响整个缓冲区的大小和抗系统调度抖动的能力(总帧数 4096)。数据大小:通过可把帧数转换为字节数,方便内存分配和数据传输;反之。

2025-04-18 17:47:46 1066

原创 Android tinyalsa库函数剖析

检查特定的 PCM 格式(例如 PCM_FORMAT_S16_LE)是否在支持的格式中,返回 1 表示支持,0 表示不支持。通过 ioctl 调用发送控制命令给 PCM 驱动,允许更底层的控制和调整,这是更底层的设备操作接口。返回当前 PCM 流的延迟(以毫秒为单位)。从已打开的 PCM 流中获取当前的配置信息(例如实际启用的通道数、采样率、缓冲区设置等)。修改已经打开的 PCM 流的配置(如果硬件和驱动支持动态调整的话)。打开指定声卡(card)和设备(device)的 PCM 流。

2025-04-18 17:14:22 755

原创 Android模块编译无法找到依赖(shared_libs)

宿主机无对应的库报错,只需编译设备端的执行文件即可,如下修改解决问题,

2025-04-18 11:36:33 228

原创 C++构造函数加不加explicit?90%程序员都踩过的坑!(附最佳实践)

关键字就像一道"安全锁",防止编译器偷偷做你不想要的类型转换。(附:如果你在团队中发现有人乱用隐式转换,可以把这篇文章甩给他~ 😉)你在代码中遇到过最奇葩的隐式转换问题是什么?:代码行为不直观,容易引发隐蔽bug!在C++中,构造函数前的。

2025-04-16 16:05:27 215

原创 揭秘移远EC25 VoLTE:Modem内置IMS,Android层无需实现ims service

当设备插入SIM卡时,基带会根据SIM卡的运营商信息(MCC/MNC)自动加载对应的MBN配置。MBN(Modem Binary Configuration)是高通(Qualcomm)平台用于。移远EC25模块(基于高通芯片)内置了。提供,并预置在设备的。,说明IMS已启用。

2025-04-15 15:55:06 1141

原创 为什么Cat 4手机跑不满100M宽带?工程师揭秘真相

5G时代引入了更复杂的速率分级(如NR UE Category),但通常以。

2025-04-14 16:12:49 602

原创 普通通话CSFB方式(2g/3g)

当模块(或手机)驻留在。

2025-04-12 22:37:14 451

原创 SIM卡电话通话初步认识

SIM卡的核心作用是和,无论是上网还是打电话,都需要通过SIM卡完成运营商的身份验证。

2025-04-12 22:33:52 387

原创 后台进程管理之pstree 和 job

以树状结构显示进程间的父子关系,直观展示进程的层次结构。管理当前 Shell 会话中的后台任务(仅限当前终端)。

2025-04-12 12:15:46 291

原创 C++堆,栈,静态成员及使用准则

【代码】C++堆,栈,静态成员及使用准则。

2025-04-05 08:37:40 275

原创 C++ 极简常用内容

封装数据(成员变量)和行为(成员函数)的自定义类型。:表示实体(如用户、订单)或封装逻辑(如文件操作)。:代码复用(如多种GUI控件共享基类功能)。:通过对象生命周期管理资源(如内存、文件)。:通过基类指针/引用调用派生类的重写函数。:统一接口不同实现(如游戏角色行为差异)。:资源需自动释放(如数据库连接、锁)。:派生类复用基类的属性和方法。:自动管理动态内存,避免泄漏。:编写与类型无关的代码。)或算法(如排序)。

2025-04-04 10:13:52 599

原创 C++ 继承方式使用场景(极简版)

【代码】C++ 继承方式使用场景(极简版)

2025-04-03 20:16:56 321

原创 VNC服务端比对 (vncserver vs x11vnc)

【代码】VNC服务端比对 (vncserver vs x11vnc)

2025-04-03 14:48:16 336

原创 Qt Creator中修改UI文件的控件后,代码中无法通过ui指针访问到对应的控件

【代码】Qt Creator中修改UI文件的控件后,代码中无法通过ui指针访问到对应的控件。

2025-04-03 09:37:33 201

原创 xrandr 和 modetest的区别,以及常用适用范围

xrandr和modetest都是 Linux 下用于管理显示设备的工具,但它们的工作层级和使用场景有所不同。以下是它们的区别、常见用途以及何时选择使用哪一个。xrandrxrandr主要用于xrandr。

2025-03-31 09:55:23 352

原创 PHY、GMAC 与 RGMII 接口的时钟详解

RGMII 是 GMII 的简化版本,主要用于千兆以太网通信。

2025-03-26 17:00:30 1101

原创 QDate与QDateTime区别

QDateTime 和 QDate 是 Qt 框架中用于处理日期和时间的两个核心类,它们的区别主要体现在。根据需求选择合适的类:若只需日期,优先用。附加时间部分(默认时间可能为。需要时间或时区时,必须用。

2025-03-25 17:36:25 316

原创 C++字符串传参方式及QString对比

在 C++ 中传递字符串参数有多种方式,不同方式在性能、内存管理和用法上有所区别。以下是常见方式及其对比,同时结合。是 Qt 的字符串类,采用。

2025-03-24 15:27:10 464

原创 Qt Qtoolbox 项border下折效果取消

【代码】Qt Qtoolbox 项border下折效果取消。

2025-03-21 13:35:38 154

原创 linux sh脚本关于返回字符串调试问题(adb shell)

当adb shell获取回来的信息时常要做一些比较,但是经常会出现打印出来是一致的,但是匹配确实失败,是由于隐藏字符导致,字符串的比较,调试阶段建议增加。如上增加od -c可知。

2025-03-17 09:01:16 289

原创 linux 前后台应用切换

命令行来将前台进程转到后台,或者让一个后台进程再次转到后台。

2025-02-27 13:47:15 161

i.MX 6ULL Applications Processor Reference Manual.pdf

i.MX 6ULL 参考手册i.MX 6ULL 参考手册i.MX 6ULL 参考手册i.MX 6ULL 参考手册i.MX 6ULL 参考手册i.MX 6ULL 参考手册i.MX 6ULL 参考手册i.MX 6ULL 参考手册i.MX 6ULL 参考手册i.MX 6ULL 参考手册i.MX 6ULL 参考手册i.MX 6ULL 参考手册

2020-03-14

东荣VLASV(新型东荣伺服器).pdf

东荣VLASV(新型东荣伺服器)说明书,完整版,清晰明了东荣VLASV(新型东荣伺服器)说明书,完整版,清晰明了东荣VLASV(新型东荣伺服器)说明书,完整版,清晰明了

2020-03-28

简单电压比较器-迟滞比较器-窗口比较器.ppt

简单电压比较器-迟滞比较器-窗口比较器大全

2019-12-03

CAN(FlexCAN).rar

CAN(FlexCAN)中文详细说明

2020-03-14

UCGUI最新3.90版源码

UCGUI最新3.90版源码,UCGUI3.90版源码简介.txt

2019-03-14

2440mainflash-keil

2440裸机程序,编译环境未keil5,实现裸机操作ARM9

2019-04-24

Allwinner A64 User Manual v1.0.pdf

全志A64 用户手册全志A64 用户手册全志A64 用户手册全志A64 用户手册全志A64 用户手册

2019-12-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除