关于鸿蒙camera外设的驱动编写疑问
鸿蒙外设开发,如camera。
浏览过源码,无论是hisilicon还是其他平台的代码,都没有开放驱动源码,都是以.so或.a的形式存在OpenHarmonyOS的仓库上。
目前在v3.1 release上也只开放到camera的adapter、devicemanager之类的上层部分。
其他厂家的驱动代码在别的系统上,如Linux,均有开放驱动代码,偏在harmony和Android这类的系统均是库。
各厂家不开放驱动源码也不影响驱动开发,然而harmony本身连个虚拟设备的驱动示例都不提供,想移植到别的平台上难度极大。
那么在v3.1上的其他厂家是如何实现这部分驱动的呢?是需要有合作关系才能拿到这部分的资料?
鸿蒙 camera 驱动
赞
收藏 0
回答 1
待解决
相关问题
OpenHarmony 3.0 LTS camera驱动
4447浏览 • 0回复 待解决
关于ohos rk3568(dayu200) hdf wifi驱动的疑问
7071浏览 • 2回复 待解决
OpenHarmony camera sensor调试疑问
2266浏览 • 0回复 待解决
关于鸿蒙应用开发的疑问?
5704浏览 • 1回复 待解决
HarmonyOS关于RichText的疑问
1326浏览 • 1回复 待解决
HarmonyOS 关于deliveryWithInstall的疑问
1138浏览 • 1回复 待解决
HarmonyOS 关于手动签名的疑问
1050浏览 • 1回复 待解决
HarmonyOS 关于混淆的疑问?
563浏览 • 1回复 待解决
HarmonyOS 动态navigation @state等装饰器编写位置疑问
311浏览 • 1回复 待解决
HarmonyOS 关于NavPathStack疑问
477浏览 • 1回复 待解决
关于Wearable开发的几个疑问
7891浏览 • 2回复 待解决
HarmonyOS 关于AvPlayer中usage的问题疑问
510浏览 • 1回复 待解决
关于DependentLayout布局的一点疑问
6125浏览 • 1回复 待解决
HarmonyOS 关于ArkTS UI样式文件的疑问
821浏览 • 1回复 待解决
HarmonyOS 关于半模态转场的疑问
465浏览 • 1回复 待解决
HarmonyOS 关于DES加解密的疑问
475浏览 • 1回复 待解决
请教一下关于Ticktimer 的疑问?
3895浏览 • 1回复 待解决
关于智能穿戴应用开发的几个疑问?
11127浏览 • 2回复 待解决
关于鸿蒙分布式数据库key疑问
6196浏览 • 1回复 待解决
HarmonyOS 关于RdbStore的操作的一些疑问
457浏览 • 1回复 待解决
HarmonyOS 关于RN的react-native-harmony不同版本的疑问
541浏览 • 1回复 待解决
HarmonyOS 关于新版API StyledString的一些疑问
474浏览 • 1回复 待解决
HarmonyOS 关于企业内应用分发的相关疑问
517浏览 • 1回复 待解决
HDF层驱动和linux原生驱动
4262浏览 • 1回复 待解决
HarmonyOS 关于自定义dialog使用范围的疑问
778浏览 • 1回复 待解决
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/
看看这里面的代码和动态链接库是怎么编译和使用的。