本文为《开源鸿蒙相机:驱动到应用预览显示》系列发布版。
当前章节:第0章 导读学习指南
代码基线:~/work/ohos5.1/nt_backclip_vendor(基于 OpenHarmony 5.1.0 Release 移植)
发布说明:使用ai codex移植调试开源鸿蒙摄像头的任务全流程在链接https://github.com/chenlong3388/codex_fix_OpenHarmony_Camera

第0章 导读学习指南

本章目标

本章合并了原“总目录”和“导读地图”两部分内容,只做三件事:

  1. 给你一张全书导航图,知道先读什么、卡住时跳哪里。
  2. 给你一把判断尺子,先区分控制链和显示链。
  3. 给你统一术语,避免后面章节出现“同词不同义”。

正文目录(重构后)

  1. 第0章 导读学习指南
  2. 第1章 主链调用总览(图表)
  3. 第2章 驱动与硬件基线
  4. 第3章 能力注入与流桥接(HDF/HDI/VDI)
  5. 第4章 会话编排与门禁(Framework/Service)
  6. 第5章 输出创建与显示绑定(ArkTS/HAP)
  7. 第6章 函数级链路走读(驱动到显示)
  8. 第7章 异常挂点与主链归因
  9. 第8章 调试方法与证据模板
  10. 第9章 实战演练与复盘

先给你一把阅读尺子

  1. 这个问题在控制链还是显示链?
  2. 这个参数是读取点有问题,还是生效点有问题?
  3. 这个信号是会话门禁失败,还是缓冲显示失败?

一页地图(双主线)

[硬件与驱动基线]
  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章

阅读顺序建议

  1. 首读:第0章 -> 第1章 -> 第6章。
  2. 机制补齐:第3章 -> 第4章 -> 第5章。
  3. 排障落地:第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 收敛

本章最小动作

  1. 从你手头日志里各找一条“控制链信号”和“显示链信号”。
  2. 用一句话给出三元结论:现象 -> 根因层位 -> 下一步最小动作

本章一句话小结

先用双主线地图建立方向感,再按章节分工下钻,能把“看起来都成功但还是黑屏”稳定收敛成可执行问题。


发布后补链

全章导航

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐