Linux Camera驱动开发(用树莓派学习camera驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

现在是一个ai的时代,不管是图片,还是文字、语音,几乎所有的东西都要和ai沾上边。就拿图像来说,大家想的都是用gpu、npu、cpu从图像中来获取信息,但是怎么获取高质量的图片,大家却不是很关心。而这一点,其实是十分重要的。所以对图像感兴趣的同学,不妨多学学lense、sensor、驱动、isp这些,这样就会对图像有更深的认识。

1、大部分驱动都和特定的平台相关

很多驱动,比如csi2、mipi、isp的配置,都是和平台相关的。这就意味着,如果我们要驱动好sensor,不仅要配置好sensor,还得把csi2这部分内容准备好。但这些平台相关的代码,很多都是要签署nda的,而且大多数它是面向b端客户的,对一般的开发者并不友好。

2、树莓派的platform驱动

相比较形形色色的soc,树莓派的驱动算是比较开放的。sensor端的代码,位于drivers/media/i2c,这一点不必多说。而platform平台端的代码,位于drivers/media/platform/raspberrypi,可以很容易找到。另外,网上关于树莓派的资料很多,对于初步入门的同学来说,这一点就非常方便。

3、树莓派的sensor驱动流程

树莓派的sensor驱动,和其他sensor一样,没有什么差别,主要的差别是platform驱动。csi2+mipi配置好,并且初始化好sensor之后,就可以从sensor拿到frame。这个时候,raspberry下面的pisp-fe就发挥用处了,它的作用就是把图片送到isp硬件。

**目前isp硬件这部分,大家可以看成是固化的算法,具体的内容都是不可见的,但是后期可以用json文件来进行标定。**等isp处理好之后,就会在pisp_be.c里面,拿到结果,并且送给上面的用户侧接口。这就是树莓派sensor处理的主要流程。

4、树莓派isp标定

和商业soc相比较,树莓派没有专业的isp上位机标定软件,基本上只能通过手工修改json文件的方法,去一点、一点优化frame效果。不像海思,或者是其他国外的soc,他们都有很完善的标定软件和标定流程,这一点树莓派只是解决有无,不解决好坏。

5、和mipi屏幕一起学习

除了csi mipi接口之外,树莓派还支持mipi屏幕。虽然lane的数量不多,但是4~5寸的应用还是可以部署的,这一点来说再加一点lvgl的应用,就可以做不少事情。

6、没有集成npu是一个遗憾

如之前所说,现在的ai特别流行,但是ai本身运行除了model之外,还需要npu加速,这一点树莓配没有优势。虽然官方也发布了AI HAT+,性价比和其他soc相比较,还是差不少。不过作为学习者来说,它可以帮助我们比较容易地掌握sensor和screen,从这一点来说,就很有价值了。

相关推荐
芯片设计-曾工2 天前
当精准脉冲遇上清晰视界——CH2205E模块与YL1621的“黄金搭档“
驱动开发·stm32·单片机·51单片机·硬件工程
平凡的小蚂蚁3 天前
Exynos4412-POP-7inLCD裸机开发完整教程(STM32 库风格)
驱动开发·stm32·单片机·嵌入式硬件·嵌入式·硬件工程
小此方3 天前
Re:Linux系统篇(五十二)线程篇 · 五:直击 Linux 内核底层:TCB 与 LWP 一体两面全解析(附自定义线程封装)
linux·运维·驱动开发
胡八一4 天前
虚拟串口com0com安装教程
驱动开发·stm32·单片机
智者知已应修善业4 天前
【三位数字显示计时定时器设计-同步方式】2025-6-30
驱动开发·经验分享·笔记·硬件架构·硬件工程
zhangfeng11334 天前
AI编程范式:从Vibe Coding(氛围编程)向SDD规范驱动开发演进全解析
人工智能·驱动开发·ai编程
JNX_SEMI4 天前
Hi5000Q/H 6.5~75V宽输入——与H5227A完全对等,无缝适配现有电源方案-聚能芯-智芯官方授权一级代理
驱动开发·单片机·嵌入式硬件·物联网·硬件工程
芯片设计-曾工5 天前
远乐YL1628 SSOP28驱动芯片详解
驱动开发·单片机·51单片机·硬件工程
zhangfeng11336 天前
CodeBuddy 是否支持 SDD(Spec-Driven Development 规范驱动开发
人工智能·驱动开发
dok126 天前
Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》 (11)kmalloc 动态内存分配和struct file中的私有数据
linux·驱动开发·算法