openharmony摄像头驱动到应用浏览显示 第0章 导读学习指南
·
本文为《开源鸿蒙相机:驱动到应用预览显示》系列发布版。
当前章节:第0章 导读学习指南
代码基线:~/work/ohos5.1/nt_backclip_vendor(基于 OpenHarmony 5.1.0 Release 移植)
发布说明:使用ai codex移植调试开源鸿蒙摄像头的任务全流程在链接https://github.com/chenlong3388/codex_fix_OpenHarmony_Camera
第0章 导读学习指南
本章目标
本章合并了原“总目录”和“导读地图”两部分内容,只做三件事:
- 给你一张全书导航图,知道先读什么、卡住时跳哪里。
- 给你一把判断尺子,先区分控制链和显示链。
- 给你统一术语,避免后面章节出现“同词不同义”。
正文目录(重构后)
- 第0章 导读学习指南
- 第1章 主链调用总览(图表)
- 第2章 驱动与硬件基线
- 第3章 能力注入与流桥接(HDF/HDI/VDI)
- 第4章 会话编排与门禁(Framework/Service)
- 第5章 输出创建与显示绑定(ArkTS/HAP)
- 第6章 函数级链路走读(驱动到显示)
- 第7章 异常挂点与主链归因
- 第8章 调试方法与证据模板
- 第9章 实战演练与复盘
先给你一把阅读尺子
- 这个问题在控制链还是显示链?
- 这个参数是读取点有问题,还是生效点有问题?
- 这个信号是会话门禁失败,还是缓冲显示失败?
一页地图(双主线)
[硬件与驱动基线]
DTS/defconfig/driver/HCS/IQ
|
v
[控制链]
ArkTS请求 -> Framework门禁 -> Service会话编排
-> HDI/VDI建流 -> V4L2产帧
|
v
[显示链]
previewOutput -> surface绑定 -> BufferQueue投递 -> 屏幕显示
|
v
[可观测信号]
控制链: getSupportedCameras/createCameraInput/open/commit/start
显示链: createPreviewOutput/repeatStream/QBUF/BufferQueue
术语一致性总表
| 术语 | 统一定义 | 首读章节 |
|---|---|---|
| 控制链 | 从 API 请求到会话启动的执行路径 | 第0章、第1章 |
| 显示链 | 从 preview 输出到屏幕可见画面的路径 | 第0章、第1章 |
| 同窗证据 | 同一时间窗口内跨层日志共现,用于因果判断 | 第4章 |
| 最小动作 | 一轮只做一个可验证动作,避免因果污染 | 第8章、第9章 |
| 三元结论 | 控制链结论 + 显示链结论 + 联合结论 | 第9章 |
阅读顺序建议
- 首读:第0章 -> 第1章 -> 第6章。
- 机制补齐:第3章 -> 第4章 -> 第5章。
- 排障落地:第6章 -> 第8章 -> 第7章 -> 第9章。
知识点依赖与跨章跳转理由矩阵
| 从哪一章出发 | 什么时候跳转 | 应该跳去哪一章 | 跳转理由 |
|---|---|---|---|
| 第1章(主链总览) | 想落到具体函数 | 第6章 | 函数级输入/输出与状态变化点都在第6章 |
| 第2章(硬件基线) | HCS 能力和上层 profile 不一致 | 第3章 | 第3章解释能力注入和解析优先级 |
| 第4章(会话门禁) | start success 但无画面 |
第5章、第7章 | 第5章看输出绑定,第7章看异常归因 |
| 第7章(异常归因) | 想固化成可执行剧本 | 第8章 | 第8章把归因转成命令和回退步骤 |
| 第8章(调试方法) | 想形成可交付复盘 | 第9章 | 第9章给 30 分钟演练与复盘模板 |
信号 -> 判断 -> 动作(导读速查)
| 信号 | 判断 | 动作 |
|---|---|---|
createPreviewOutput failed: 7400101 |
输出创建阶段参数不成立 | 去第5章核对 profile/surface/运行包一致性 |
ValidateOutputProfile ... fail |
mode/profile 门禁不匹配 | 去第4章和第6章核对能力解析与函数门禁 |
repeatStream is nullptr |
输出绑定链可能断裂 | 去第5章、第6章联查 AddOutput/SetCameraApi |
VIDIOC_QUERYBUF/QBUF failed |
缓冲链失败 | 去第2章和第8章做格式/plane/bufferType 收敛 |
本章最小动作
- 从你手头日志里各找一条“控制链信号”和“显示链信号”。
- 用一句话给出三元结论:
现象 -> 根因层位 -> 下一步最小动作。
本章一句话小结
先用双主线地图建立方向感,再按章节分工下钻,能把“看起来都成功但还是黑屏”稳定收敛成可执行问题。
发布后补链
- 上一篇:无(本系列第一篇)
- 下一篇:https://laval.csdn.net/69d8b75f54b52172bc686020.html
全章导航
- 第0章 导读学习指南:https://laval.csdn.net/69d77a0554b52172bc6802aa.html
- 第1章 主链调用总览(图表):https://laval.csdn.net/69d8b75f54b52172bc686020.html
- 第2章 驱动与硬件基线:https://laval.csdn.net/69d8b7fd0a2f6a37c59e6f33.html
- 第3章 能力注入与流桥接(HDF/HDI/VDI):https://laval.csdn.net/69d8b86154b52172bc68609a.html
- 第4章 会话编排与门禁(Framework/Service):https://laval.csdn.net/69d8b8d154b52172bc6860ae.html
- 第5章 输出创建与显示绑定(ArkTS/HAP):https://laval.csdn.net/69d8b91954b52172bc6860be.html
- 第6章 函数级链路走读(驱动到显示):https://laval.csdn.net/69d8b96854b52172bc6860cd.html
- 第7章 异常挂点与主链归因:https://laval.csdn.net/69d8b9d054b52172bc6860dc.html
- 第8章 调试方法与证据模板:https://laval.csdn.net/69d8ba1454b52172bc6860e4.html
- 第9章 实战演练与复盘:https://laval.csdn.net/69d8ba4754b52172bc6860f3.html
更多推荐
所有评论(0)