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,从这一点来说,就很有价值了。

相关推荐
TangDuoduo000519 小时前
【Linux SPI驱动开发】
驱动开发
The️20 小时前
Linux驱动开发之Read_Write函数
linux·运维·服务器·驱动开发·ubuntu·交互
FserSuN1 天前
AI编程 - 规范驱动开发(SDD)学习
驱动开发·学习·ai编程
TangDuoduo00052 天前
【Linux I2C设备驱动】
linux·驱动开发
The️2 天前
Linux驱动开发之Open_Close函数
linux·运维·驱动开发·mcu·ubuntu
LCG元2 天前
嵌入式GUI设计:STM32F429+LVGL,智能仪表盘界面开发指南
驱动开发·stm32·嵌入式硬件
小龙报2 天前
【51单片机】 给单片机加 “安全锁”!看门狗 WDT:原理 + 配置 + 复位验证全拆解,让程序稳定不跑飞
驱动开发·stm32·单片机·嵌入式硬件·物联网·51单片机·硬件工程
码农编程录3 天前
【notes12】kbuild,内核模块化,字符设备驱动,设备树,platform总线,设备驱动模型
驱动开发
乔碧萝成都分萝3 天前
二十六、IIO子系统 + SPI子系统 + ICM20608
linux·驱动开发·嵌入式
A星空1233 天前
二、交叉编译工具链(arm-linux-gnueabihf-gcc)安装与验证,搭建 TFTP+NFS 服务,调试开发板网络连通性;
linux·c++·驱动开发·单片机·嵌入式硬件