Camera(TODO)

发布时间:2026/10/2 3:53:09

Camera(TODO) 可以而且我反而建议你现在就开始学 Camera。你手上的这两个板子其实非常适合形成一条路线RK3568 → 学 Linux Camera / V4L2 / Media Controller / Sensor / MIPI CSI → 魔方派3 → 学 Qualcomm Camera / Android Camera HAL3 / ISP / 3A如果你的最终目标还是之前说的高通 Camera BSP 岗位那么我会明确建议RK3568 用来打基础高通魔方派3用来学真正的 Qualcomm Camera。不要二选一。为什么 RK3568 很适合现在开始RK3568 的 Camera 硬件链路相对容易观察和理解。它有 VICAP、MIPI CSI-2、ISP 等模块目前 Linux 社区的rkcif驱动也已经把 RK3568 的 MIPI CSI-2 receiver 和 VICAP 暴露成 V4L2/Media Controller 体系。(Infradead Lists)你可以直接从这条链路学Sensor │ │ MIPI CSI-2 ↓ MIPI D-PHY │ ↓ CSI-2 RX │ ↓ VICAP / CIF │ ↓ ISP │ ↓ DMA │ ↓ DDR │ ↓ V4L2然后用media-ctl -p v4l2-ctl --all v4l2-ctl --list-formats-ext去观察整个 pipeline。Rockchip 的rkisp1本身就是基于V4L2 Media Controller的典型 ISP 驱动这一套概念非常值得你掌握。(Rockchip 开源社区)但真正重点是你的魔方派3你说的高通魔方派3应该就是RUBIK Pi 3。它采用Qualcomm QCS6490有Spectra ISP而且板子提供2×4-lane MIPI CSI官方还支持 Android 13。(GitHub)这对你来说价值更大因为你未来真正想吃透的是Qualcomm Camera BSP │ ├── Sensor Driver ├── CSIPHY ├── CSID ├── ISP ├── IFE ├── BPS ├── ICP ├── 3A │ ├── AE │ ├── AWB │ └── AF │ ├── Camera HAL3 ├── CamX ├── Chi └── Android Camera Framework这才是你以后去面高通 Camera BSP时真正值钱的东西。Qualcomm 的 Android Camera 架构本身就是围绕Camera HAL3和底层 Camera hardware/software stack 来构建的。(高通)所以我给你一个非常明确的学习顺序第一阶段RK3568先不要碰 Android Camera Framework。纯 Linux Camera。① V4L2先搞懂/dev/videoX VIDIOC_QUERYCAP VIDIOC_ENUM_FMT VIDIOC_S_FMT VIDIOC_REQBUFS VIDIOC_QBUF VIDIOC_DQBUF VIDIOC_STREAMON VIDIOC_STREAMOFF你必须能够自己写一个v4l2_capture.c把 Camera RAW/YUV 抓到文件。② Media Controller然后重点学习media-ctl -p搞懂Media Device ├── Entity ├── Pad ├── Link └── Pipeline例如imx219 ↓ CSI2 ↓ rkcif ↓ rkisp ↓ /dev/videoX这个东西非常重要。因为以后到 Qualcomm你会发现虽然名字变了但是Sensor → CSI → ISP → output这个基本思想完全一样。第二阶段Sensor Driver这个阶段我建议你亲自写。找一个便宜的 MIPI Camera比如IMX219IMX415OV5647OV5640然后不要满足于“厂家 SDK 能拍照。”而是自己研究sensor driver ↓ I2C ↓ regmap ↓ power sequence ↓ clock ↓ reset ↓ pwdn ↓ MIPI CSI然后研究probe() remove() s_stream() set_fmt() get_fmt() enum_mbus_code() enum_frame_size() set_ctrl()这一步对你以后转 Qualcomm Camera非常重要。第三阶段3A然后再学AE AWB AF以及Exposure Analog Gain Digital Gain Frame Length Line Length VBlank HBlank Pixel Rate FPS这时候你会真正理解为什么 Camera Driver 里面有那么多奇怪的寄存器。比如30 FPS ↓ Frame Length ↓ Exposure ↓ Analog Gain ↓ Sensor RAW ↓ ISP这部分学通以后再进入 Qualcomm 会轻松很多。第四阶段直接切到魔方派3然后开始Qualcomm Camera BSP这时候你会发现非常有意思。RK3568Sensor ↓ MIPI ↓ V4L2 ↓ ISP ↓ Video NodeQualcommSensor ↓ CSIPHY ↓ CSID ↓ IFE ↓ BPS ↓ ICP ↓ CamX ↓ CHI ↓ HAL3 ↓ Android Framework ↓ Camera App这时候才开始真正进入你的目标领域。两块板子的定位我建议你这样项目RK3568魔方派3V4L2⭐⭐⭐⭐⭐⭐⭐⭐Media Controller⭐⭐⭐⭐⭐⭐⭐⭐Sensor Driver⭐⭐⭐⭐⭐⭐⭐⭐⭐MIPI CSI⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐ISP原理⭐⭐⭐⭐⭐⭐⭐⭐⭐3A⭐⭐⭐⭐⭐⭐⭐⭐⭐Linux Camera⭐⭐⭐⭐⭐⭐⭐⭐⭐Android Camera⭐⭐⭐⭐⭐⭐⭐⭐HAL3⭐⭐⭐⭐⭐⭐⭐Qualcomm Camera BSP⭐⭐⭐⭐⭐⭐适合你当前阶段★★★★★★★★★☆最终目标价值★★★★★★★★★我甚至建议你现在就这样安排第1周RK3568只做Sensor → MIPI → V4L2 → Media Controller → capture第2周研究Sensor Driver自己改分辨率 FPS RAW10 RAW12 曝光 gain第3周研究ISP / 3A / RAW → YUV第4周开始魔方派3Android Camera HAL3然后一路往下Camera App ↓ CameraService ↓ CameraProvider ↓ HAL3 ↓ CamX ↓ CHI ↓ ISP ↓ CSID ↓ CSIPHY ↓ Sensor最终你要达到的水平不是“我会调 Camera。”而是看到一张照片以后你能够从Android Camera App ↓ HAL3 ↓ CamX/CHI ↓ IFE ↓ CSID ↓ CSI PHY ↓ MIPI ↓ Sensor一路追到硬件寄存器和 DTS。这才是 Qualcomm Camera BSP 真正有竞争力的能力。而且你现在RK3568 已经跑通了这其实是非常好的起点。我建议不要再折腾别的平台了就用 RK3568 正式开始 Camera等 V4L2/Media Controller/Sensor 这一套吃透马上切魔方派3。如果你愿意我下一步可以直接给你安排一套“RK3568 Camera 30天实战学习路线”每天一个实验最终做到自己写 Sensor Driver → MIPI → ISP → 抓 RAW → 分析 3A → 再迁移到 Qualcomm。可以。考虑到你的目标不是单纯“会调用 Camera”而是以后要做Qualcomm Camera BSP / Driver / HAL我建议这 30 天不要走纯理论路线而是采用RK3568 实机实验 → 看源码 → 改驱动/DTS → 抓数据 → 出问题自己定位 → 最后迁移到 Qualcomm 魔方派330 天路线第一阶段V4L2 基础 —— Day 15目标不碰 Android先把 Linux Camera pipeline 搞懂。天数实验Day 1v4l2-ctl、media-ctl、查看/dev/video*Day 2media-ctl -p搞懂 Entity / Pad / LinkDay 3v4l2-ctl --list-formats-ext理解 RAW/YUVDay 4用v4l2-ctl抓一帧/连续视频Day 5自己写最简单的v4l2_capture.c最终你应该能解释/dev/video0 │ ├── V4L2 │ └── Media Controller │ ┌─────┴─────┐ │ │ Sensor ISP第二阶段Media Controller MIPI —— Day 610这是非常重要的一阶段。Day 6研究 RK3568media-ctl -p把所有 Entity 画出来。你自己画一张Sensor │ │ MIPI CSI-2 ↓ CSI2 │ ↓ CIF │ ↓ ISP │ ↓ VideoDay 7研究media-ctl --links media-ctl --print-dot理解EntityPadSinkSourceLinkFormatDay 8研究 MIPI CSI-2Clock Lane Data Lane 0 Data Lane 1 ...搞懂lane 数量lane rateRAW10 / RAW12CSI-2 packetVCDTDay 9用逻辑分析/示波器不一定能直接看懂 MIPI但重点研究Sensor register ↓ MIPI output ↓ CSI receiver然后看 kernel log。Day 10故意制造错误。例如修改lane number pixel format resolution link frequency然后观察为什么没有 frame 为什么 CRC error 为什么 timeout 为什么 format 不匹配这一阶段非常重要。第三阶段Sensor Driver —— Day 1117这是你真正开始进入Camera BSP的地方。最好选一个常见 SensorIMX219 / OV5647如果你手头没有 MIPI Sensor我建议先买一个 IMX219。Day 11找到 Sensor driverfind drivers/media -iname *imx219*阅读probe() remove()搞清楚I2C GPIO Clock Regulator Reset PWDNDay 12研究 Sensor power sequenceVDD ↓ AVDD ↓ DVDD ↓ Clock ↓ RESET ↓ I2C然后对照 DTS。Day 13重点研究s_stream()搞清楚Camera 为什么执行STREAM ON后才真正开始输出 MIPIDay 14研究set_fmt() get_fmt() enum_mbus_code() enum_frame_size()理解Sensor format ↓ MEDIA_BUS_FMT_SRGGB10_1X10 ↓ CSI ↓ ISPDay 15自己增加一个 Sensor Mode。例如1920×1080 30fps RAW10Day 16修改曝光 gain frame length line length观察实际 FPS。Day 17自己写一个简单的 Sensor controlV4L2_CID_EXPOSURE V4L2_CID_ANALOGUE_GAIN做到用户空间修改参数 → Driver → I2C → Sensor register这一天结束你已经开始真正进入Camera Driver 开发。第四阶段ISP RAW 3A —— Day 1823这里开始进入 Camera 最有意思的部分。Day 18搞懂RAW ↓ Black Level ↓ Lens Shading ↓ Demosaic ↓ AWB ↓ Color Correction ↓ Gamma ↓ YUVDay 19抓 RAW。例如v4l2-ctl --stream-mmap然后把 RAW dump 出来。用 Python/OpenCV 分析。Day 20自己写一个最简单的RAW10 → RGB这样你会真正理解 BayerR G R G G B G B R G R G G B G BDay 21学习 AEBrightness ↓ AE ↓ Exposure Analog Gain ↓ Sensor重点搞懂为什么提高 gain 会增加噪声。Day 22学习 AWBR Gain G Gain B Gain理解为什么室内照片偏黄/偏蓝。Day 23学习 AFLens Position ↓ Sharpness ↓ AF Algorithm如果 Sensor 没有 AF就用理论模拟。第五阶段进入 Qualcomm —— Day 2430这时候再上你的魔方派3 / QCS6490。不要一上来就看 Camera HAL。先搞DTS ↓ Sensor ↓ CSIPHY ↓ CSID ↓ ISPDay 24确认 Camera 硬件adb shell dmesg | grep -i camera dmesg | grep -i csi dmesg | grep -i isp然后adb shell ls /dev/video* adb shell ls /dev/media*Day 25研究 Qualcomm DTS。重点找camera camss csiphy csid ife sensor cci建立对应关系。Day 26研究CCI / I2C你会发现这和 RK3568 Sensor Driver 的 I2C 本质是一样的。Day 27开始研究Camera HAL3理解Application ↓ Camera2 API ↓ CameraService ↓ Camera Provider ↓ HAL3Day 28研究 QualcommCamX CHI重点不是马上看懂所有源码而是建立HAL3 ↓ CamX ↓ CHI ↓ Pipeline ↓ ISPDay 29拿一个 Camera request 跟踪Camera2 request ↓ HAL3 ↓ CamX ↓ ISP ↓ Sensor exposure ↓ Frame ↓ HAL ↓ Application这是以后面试非常有价值的能力。Day 30做一个完整实验最终做修改 Sensor 参数 → Camera 拍摄 → 修改曝光 → 修改 FPS → 抓 RAW → 分析 ISP → 从 Android Camera2 一路追到 Sensor然后你自己画这张图Android │ Camera2 API │ CameraService │ HAL3 │ CamX │ CHI │ IFE │ CSID │ CSIPHY │ MIPI CSI │ Sensor │ I2C │ Sensor这套路线有一个非常大的好处你不会变成那种“我做过 Qualcomm Camera但只是会改几个 XML / tuning 文件。”而是会建立Sensor → MIPI → CSI → ISP → V4L2 → HAL3 → Android整个体系。这对于你之前准备的Qualcomm Camera BSP 面试也非常对路。我建议你现在就从 Day 1 开始先不要买任何东西也不要急着上魔方派3。你现在的 RK3568 已经跑通第一步直接在板子上执行v4l2-ctl --list-devicesmedia-ctl -pv4l2-ctl --list-formats-ext -d /dev/video0然后把这三个命令的输出贴给我。我可以直接根据你这块RK3568 当前实际 Camera pipeline带你做Day 1 实验而不是按照一套通用教程空讲。
延伸阅读

更多相关文章

2026/10/2 3:53:09

天津图文广告供应商怎么选?从快印到印刷工艺的避坑实战指南

聊到图文广告供应商这件事,尤其是天津本地的,我真是踩过不少坑才总结出一点心得体会。今天想结合自己这些年做展会物料、门店开业物料、以及日常文件快印的实际经历,把天津图文广告供应商怎么选、怎么用、怎么避坑这些事,一次性捋…

2026/10/2 3:53:09

3948张实拍PCB元件检测数据集:VOC+YOLO双格式落地指南

简介:本资源为面向PCB电路板元件智能检测任务的高质量标注数据集,适用于计算机视觉方向的研究者、算法工程师及嵌入式AI开发者,特别适配目标检测模型(如YOLO系列、Faster R-CNN等)的训练与验证。数据集共3948张高清PCB…

2026/10/2 3:53:09

格式排版改到崩溃?资深导师力荐这几个AI论文软件

想写论文又快又好,关键是用对 AI 工具、走对流程——资深教授普遍推荐:千笔AI(中文全流程首选) 豆包学术版(轻量高效) DeepSeek 学术版(理工 / 长文本) Grammarly Academic&#xff…

2026/10/2 13:38:34

mpstat 命令详解:Linux 多核 CPU 性能监控与排查实战

文档教程 【免费下载链接】linux-command Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux 项目地址: https://gitcode.com/GitHub_Trending/linux/linux-command 点击查看 免费下载 本篇技术指南以 mpstat 命令…

2026/10/2 13:38:34

2 种方式免费解锁 WeMod Pro:无限时长与 AI 攻略完整指南

2 种方式免费解锁 WeMod Pro:无限时长与 AI 攻略完整指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer WeMod 的 Pro 订阅不便宜&…

2026/10/2 8:16:46

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/1 17:09:46

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/2 0:02:57

PWN入门:从栈溢出原理到ROP链实战

1. 这不是“学PWN”,是重新理解你每天敲的每一行C代码我第一次在CTF赛场上写出能控制程序流的exp时,手抖得连gdb的c命令都输错三次。那道题只有23行C代码,一个gets()调用,一个printf(),一个return——它甚至没开NX&…

2026/10/2 0:02:57

Windows下cudaMallocHost显存占用之谜:WDDM与TCC模式差异及优化方案

1. 一个反直觉的显存占用现象第一次在 Windows 上看到cudaMallocHost把显存吃掉的时候,我的反应是打开任务管理器反复确认了三遍。明明调用的是主机端锁页内存分配,按 CUDA 文档的说法,这块内存应该落在系统 RAM 里,跟 GPU 的显存…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑