- 博客(14)
- 收藏
- 关注
原创 v4l2 csi
步骤API作用传感器驱动注册初始化并暴露子设备,等待桥设备绑定桥设备 V4L2 设备初始化创建全局 V4L2 设备实例异步绑定等待传感器 subdev 上线用户空间视频节点创建缓冲区队列等配置 DMA 缓冲区模块注册API注册后的 V4L2 角色Media 实体类型子设备CSI Rx子设备(可能有 sink+src pads)ISP子设备(多个 pad,可能内部有多个 subdev 构成链)视频设备(/dev/videoX)关键点子设备们(sensor, CSI, ISP)只通过。
2026-05-31 15:17:51
323
原创 Cache Line & Mem-Wr-Inval
Cache Linex86 / ARM:大多64 字节每次:读内存 → 至少 64B写内存 → 也是 64BCache line 是 CPU cache 的最小单位“我写的是一整行新数据,CPU cache 的旧副本可以直接作废,不用再读一遍”
2026-05-03 14:56:34
209
原创 Switch驱动测试
PCIe Switch驱动测试需要多层次、多维度虚拟化环境用于早期开发和单元测试真实硬件用于性能验证和兼容性测试自动化框架确保测试可重复、可维护专业工具链(switchtec-user、pciutils等)提供必要支持拓扑发现、配置空间操作、电源管理、热插拔、错误处理、性能基准。通过系统化的测试策略,可以确保PCIe Switch驱动的稳定性、性能和可靠性。
2026-05-03 14:54:53
602
原创 Linux驱动测试
虚拟设备驱动提供硬件接口模拟QEMU等模拟器提供完整系统环境内核测试框架确保代码质量用户空间工具实现故障注入和边界测试关键建议:对于新驱动开发,建议采用KUnit(单元测试)→ 虚拟设备(集成测试)→ QEMU(系统测试)→ 真实硬件(验收测试)的渐进式测试策略,在保证测试覆盖率的同时最大化开发效率。
2026-03-23 17:04:04
367
原创 通过虚拟块设备模拟图像数据源
虚拟化层:ramdisk/loop设备提供硬件无关数据源数据格式化:定义包含元数据的图像格式驱动修改:增加测试模式,从块设备而非硬件读取时序控制:精确模拟硬件时序特性验证系统:自动比较输出与预期结果通过这种方式,可以建立完整的摄像头驱动自动化测试流水线,显著提高测试覆盖率和效率,特别是在回归测试、异常测试、性能测试等方面优势明显。
2026-03-23 16:59:00
216
原创 虚拟串口使用场景
虚拟串口(Virtual Serial Port)是一种通过软件模拟的串行通信接口,它不依赖物理硬件,但在逻辑上与真实串口完全兼容。通过 GUI 创建 COM3 <-> COM4 对。Linux 原生支持的虚拟终端,可模拟串口。Python 串口库,支持虚拟串口操作。Linux 内核模块,提供虚拟串口对。openpty()(C 语言)Windows 虚拟串口工具。创建虚拟串口对或网络映射。
2025-07-27 13:45:04
1146
原创 进程阻塞S/D
现象:若系统中有大量进程因 I/O 阻塞(如数据库查询),虽然单个阻塞进程的 %CPU 为 0,但整体系统可能因 I/O 等待 导致负载升高。| 运行中 | R | >0(如 50.5) | 进程正在使用 CPU。| 可中断睡眠 | S | 0.0 | 等待 I/O 或信号,不占 CPU。| 不可中断睡眠 | D | 0.0 | 等待硬件响应,不占 CPU。
2025-07-26 09:17:05
424
原创 内核输出端口
bash # 查看当前控制台日志级别 cat /proc/sys/kernel/printk # 输出示例:7 4 1 7 # 依次表示:当前控制台级别、默认消息级别、最低允许级别、启动时默认级别 # 临时修改控制台级别(例如仅显示紧急消息) echo 1 > /proc/sys/kernel/printk。- 系统日志文件(如 /var/log/syslog 或 /var/log/messages,取决于发行版)。
2025-07-26 08:41:59
518
原创 HAL_Delay()函数的注意事项
使用 滴答定时器的中断,如果在高于滴答定时器中断的中断函数中使用这个函数,程序将会锁死在。就无法跳出函数内部的 while 循环。中,原因是,滴答定时器无法别调用,很容易造成程序异常,原因是。特别注意,在中断中使用。
2025-04-25 11:04:39
194
原创 阻塞/非阻塞(read/epoll) 进程状态
停止态(T) | `T` | ❌ 非阻塞 | 进程被信号(如 `SIGSTOP`)暂停执行,未主动等待事件,仅因外部干预暂停。| 可中断睡眠(S) | `S` | ✅ 阻塞 | 进程因等待资源(如 I/O、信号量)主动进入睡眠,可被信号中断(如 `SIGKILL`)。| 典型场景 | 同步 I/O 操作(如 `read()` 阻塞等待数据)。
2025-04-07 22:56:07
1086
原创 linux引脚复用
/功能复用 状态 在这个状态下引脚被配成什么功能。//复用(加载驱动时,依赖pinctrl将引脚复用为特定功能,也就是控制器的具体输出pin)//使用引脚时 要先确认引脚复用的功能(pinctrl)+再加上特定的外设对其进行操作。//要在pinctrl下创建。//方向(读写设备节点时,就会使用gpio子系统进行设置方向)—设置值。
2025-04-07 22:24:59
474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅