关于鸿蒙camera外设的驱动编写疑问

鸿蒙外设开发,如camera。

浏览过源码,无论是hisilicon还是其他平台的代码,都没有开放驱动源码,都是以.so或.a的形式存在OpenHarmonyOS的仓库上。

目前在v3.1 release上也只开放到camera的adapter、devicemanager之类的上层部分。

其他厂家的驱动代码在别的系统上,如Linux,均有开放驱动代码,偏在harmony和Android这类的系统均是库。

各厂家不开放驱动源码也不影响驱动开发,然而harmony本身连个虚拟设备的驱动示例都不提供,想移植到别的平台上难度极大。

那么在v3.1上的其他厂家是如何实现这部分驱动的呢?是需要有合作关系才能拿到这部分的资料?

鸿蒙 camera 驱动
2022-07-21 15:58:02
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
liangkz_梁开祝
3

1. 部署在Linux内核的驱动代码,需要遵守GPL协议,必须要开源(厂家想不开源也不行),这部分建议去看 //kernel/linux/patches/ 目录下的相关补丁文件,或者到 //out/...(对应产品)/kernel/目录下看已经打了补丁文件的源代码。这部分驱动按Linux设备驱动开发的套路实现。

 

2. 像摄像头驱动或某些特定硬件设备的驱动,开发商/厂商一般不会开源(除非为了公益目的开源了),因此这部分驱动程序就会以动态链接库的形式部署到用户空间(部署到Linux内核就必须要开源)。

 

3.OHOS提供了与具体的硬件解耦的设备驱动开发框架和设备驱动模型。对于摄像头,基本上就是 //drivers/peripheral/camera/ 目录下的内容了,你想要的驱动示例程序也在这里了。

我想(我没仔细深入分析代码):你要开发自己的摄像头驱动程序时,可以直接参考并使用这里已有的驱动模型即可;如果要实现自己的特色功能并闭源,那就参考并实现自己的 //drivers/peripheral/camera/hal/adapter/目录下的对应模块,生成自己的动态链接库。

可以参考:

LTS3.1/device/soc/hisilicon/common/hal/media/camera/hi3516dv300/linux_standard/

LTS3.1/device/hihope/rk3568/camera/

看看这里面的代码和动态链接库是怎么编译和使用的。

分享
微博
QQ
微信
回复1
2022-08-16 12:22:59
相关问题
关于鸿蒙应用开发疑问?
3794浏览 • 1回复 待解决
OpenHarmony camera sensor调试疑问
327浏览 • 0回复 待解决
OpenHarmony 3.0 LTS camera驱动
2321浏览 • 0回复 待解决
关于Wearable开发几个疑问
5942浏览 • 2回复 待解决
关于DependentLayout布局一点疑问
4049浏览 • 1回复 待解决
关于智能穿戴应用开发几个疑问
8710浏览 • 2回复 待解决
关于鸿蒙分布式数据库key疑问
4182浏览 • 1回复 待解决
请教一下关于Ticktimer 疑问
1663浏览 • 1回复 待解决
鸿蒙版应用上架后疑问
4070浏览 • 1回复 待解决
如何编写打 nginx dockerfile 文件?
2215浏览 • 1回复 待解决
mysql varchar类型疑问
645浏览 • 1回复 待解决
HDF层驱动和linux原生驱动
2043浏览 • 1回复 待解决
如何编写打 nginx dockerfile 文件?
1277浏览 • 1回复 待解决
关于鸿蒙module依赖问题
9749浏览 • 1回复 待解决
camera 获取预览数据
136浏览 • 1回复 待解决
关于鸿蒙OS蓝牙开发问题
3086浏览 • 1回复 待解决
关于鸿蒙OS蓝牙API问题?
4878浏览 • 1回复 待解决
怎么才能让编写工具保持活跃?
122浏览 • 1回复 待解决
BearPi_HM_MicroDAC驱动开发。
1068浏览 • 0回复 待解决