CN115734070A - 一种车载摄像头系统的驱动方法及装置 - Google Patents
一种车载摄像头系统的驱动方法及装置 Download PDFInfo
- Publication number
- CN115734070A CN115734070A CN202211501758.4A CN202211501758A CN115734070A CN 115734070 A CN115734070 A CN 115734070A CN 202211501758 A CN202211501758 A CN 202211501758A CN 115734070 A CN115734070 A CN 115734070A
- Authority
- CN
- China
- Prior art keywords
- deserializer
- camera
- driver
- serializer
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Studio Devices (AREA)
Abstract
本申请公开了一种车载摄像头系统的驱动方法及装置。其方法包括:接收用户输入第一摄像头模组的标识的第一操作,第一摄像头模组与第一解串器通过第一通道通信连接;响应于第一操作,在第一解串器对应的驱动模块文件中确定与标识匹配的第一目标加串器驱动程序和第一目标摄像头驱动程序,驱动模块文件包括第一解串器的驱动程序以及与第一解串器通信连接的多个加串器的驱动程序和多个摄像头的驱动程序,在接收第一操作时将驱动模块文件加载到车辆操作系统的内核中,内核中不包括车载摄像头系统的固化驱动程序;加载第一解串器的驱动程序、第一目标加串器驱动程序和第一目标摄像头驱动程序,以驱动第一解串器和第一摄像头模组传输图像。
Description
技术领域
本申请属于摄像头技术领域,尤其涉及一种车载摄像头系统的驱动方法及装置。
背景技术
车载摄像头可以提供车厢内外环境的监控,为车辆行驶提供安全保障。车载摄像头系统的硬件组成包括中央处理器、解串器和摄像头模组,其中,摄像头模组中又包括加串器和摄像头。车载摄像头系统的软件中包含解串器驱动、加串器驱动及摄像头驱动三部分,分别驱动各硬件模块工作。加串器与摄像头都会以从设备的形式注册到解串器驱动中,通过解串器分别驱动加串器与摄像头,解串器驱动可以通过读取设定好的设备树信息来加载相应的加串器驱动和摄像头驱动,每一版驱动对应的四个摄像头是同样的型号及硬件参数,想要更换摄像头需要重新编译系统镜像替换所适配的新摄像头驱动,中断系统运行更新整个系统软件。
目前的解串器驱动同时只能支持一款摄像头的驱动,但是一款解串器可匹配的加串器有多种,加串器又可以匹配多种摄像头,因此解串器也就是可以支持多款摄像头模组,这样想更换摄像头要变更解串器驱动和设备树配置,灵活性差。无法做到同一系统上支持多款摄像头,想要适配不同的摄像头需要编译多个系统镜像运行在不同的设备上,兼容性弱,软件系统开销大、维护成本高。
发明内容
本申请实施例提供一种车载摄像头系统的驱动方法及装置,车载摄像头系统的解串器驱动程序可以同时支持多款摄像头运行,从而增强车载摄像头系统的兼容性。
第一方面,本申请实施例提供一种车载摄像头系统的驱动方法,所述车载摄像头系统包括:至少一个解串器和与所述解串器通过通道通信连接的至少一路摄像头模组,所述摄像头模组包括加串器和摄像头;所述方法包括:
接收用户输入第一摄像头模组的标识的第一操作,所述第一摄像头模组与第一解串器通过第一通道通信连接;所述第一解串器为所述至少一个解串器中的任意一个;
响应于所述第一操作,在所述第一解串器对应的驱动模块文件中确定与所述标识匹配的第一目标加串器驱动程序和第一目标摄像头驱动程序,所述驱动模块文件包括所述第一解串器的驱动程序以及与所述第一解串器通信连接的多个加串器的驱动程序和多个摄像头的驱动程序,在接收所述第一操作时将所述驱动模块文件加载到车辆操作系统的内核中,所述内核中不包括所述车载摄像头系统的固化驱动程序;
加载所述第一解串器的驱动程序、所述第一目标加串器驱动程序和所述第一目标摄像头驱动程序,以驱动所述第一解串器和所述第一摄像头模组传输图像。
第二方面,本申请实施例提供了一种车载摄像头系统的驱动装置,所述车载摄像头系统包括:至少一个解串器和与所述解串器通过通道通信连接的至少一路摄像头模组,所述摄像头模组包括加串器和摄像头;所述装置包括:
接收模块,用于接收用户输入第一摄像头模组的标识的第一操作,所述第一摄像头模组与第一解串器通过第一通道通信连接;所述第一解串器为所述至少一个解串器中的任意一个;
确定模块,用于响应于所述第一操作,在所述第一解串器对应的驱动模块文件中确定与所述标识匹配的第一目标加串器驱动程序和第一目标摄像头驱动程序,所述驱动模块文件包括所述第一解串器的驱动程序以及与所述第一解串器通信连接的多个加串器的驱动程序和多个摄像头的驱动程序,在接收所述第一操作时将所述驱动模块文件加载到车辆操作系统的内核中,所述内核中不包括所述车载摄像头系统的固化驱动程序;
驱动模块,用于加载所述第一解串器的驱动程序、所述第一目标加串器驱动程序和所述第一目标摄像头驱动程序,以驱动所述第一解串器和所述第一摄像头模组传输图像。
第三方面,本申请实施例提供了一种电子设备,设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如上任意一项所述的车载摄像头系统的驱动方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令;所述计算机程序指令被处理器执行时实现如上任意一项所述的车载摄像头系统的驱动方法。
第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如上任意一项所述的车载摄像头系统的驱动方法。
第六方面,本申请实施例提供了一种车辆,所述车辆包括:电子设备,所述电子设备用于实现如上任意一项所述的车载摄像头系统的驱动方法。
本申请实施例的车载摄像头系统的驱动方法及装置,响应于用户输入第一摄像头模组的标识的第一操作,在第一解串器对应的驱动模块文件中确定与标识匹配的第一目标加串器驱动程序和第一目标摄像头驱动程序,并加载第一解串器的驱动程序、第一目标加串器驱动程序和第一目标摄像头驱动程序,以驱动第一解串器和第一摄像头模组传输图像。由于驱动模块文件包括第一解串器的驱动程序以及与第一解串器通信连接的多个加串器的驱动程序和多个摄像头的驱动程序,且在接收第一操作时可以将驱动模块文件加载到车辆操作系统的内核中,此时内核中不包括车载摄像头系统的固化驱动程序,如此,本申请实施例,车载摄像头系统的解串器驱动程序可以同时支持多款摄像头模组运行,从而增强车载摄像头系统的兼容性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的现有车载摄像头系统的硬件设计框图;
图2是本申请实施例提供的现有车载摄像头系统的软件关系图;
图3是本申请实施例提供的车载摄像头系统的驱动方法的流程示意图;
图4是本申请实施例提供的车载摄像头系统的驱动方法的一个实施例的结构框架图;
图5是本申请实施例提供的车载摄像头系统的驱动装置的结构示意图;
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
车载摄像头可以提供车厢内外环境的监控,为车辆行驶提供安全保障。如图1所示,车载摄像头系统的硬件组成包括中央处理器、解串器和摄像头模组,其中,摄像头模组中又包括加串器和摄像头。通过解串器的芯片与中央处理器(central processing unit,CPU)和摄像头模组进行通信,传递CPU的指令给摄像头模组,解包摄像头模组传输的图像数据并发送给CPU,解串器对于CPU和摄像头模组来说十分重要,它的驱动程序就是车载摄像头系统软件的核心。
车载摄像头系统的软件中包含解串器驱动、加串器驱动及摄像头驱动三部分,分别驱动各硬件模块工作,它们的软件关系图如图2所示。加串器与摄像头都会以从设备的形式注册到解串器驱动中,通过解串器分别驱动加串器与摄像头,解串器驱动可以通过读取设定好的设备树信息来加载相应的加串器驱动和摄像头驱动,每一版驱动对应的四个摄像头是同样的型号及硬件参数,想要更换摄像头需要重新编译系统镜像替换所适配的新摄像头驱动,中断系统运行更新整个系统软件。
目前的解串器驱动同时只能支持一款摄像头的驱动,但是一款解串器可匹配的加串器有多种,加串器又可以匹配多种摄像头,也就是可以支持多款摄像头,这样想更换摄像头要变更解串器驱动和设备树配置,灵活性差。无法做到同一系统上支持多款摄像头,想要适配不同的摄像头需要编译多个系统镜像运行在不同的设备上,兼容性弱,软件系统开销大、维护成本高。
同时现有车载摄像头系统中摄像头模组是可插拔的,车辆操作系统会在系统启动阶段来识别插入摄像头模组后,匹配相应驱动程序加载。如果启动时没有摄像头模组插入,则无法完成驱动加载,后面再插入,这样摄像头模组是无法正常工作的,导致车载摄像头系统的驱动程序加载不智能且不灵活。
为了解决现有技术问题,本申请实施例提供了一种车载摄像头系统的驱动方法及装置,应用于车载摄像头系统中,其中,车载摄像头系统包括:至少一个解串器和与解串器通过通道通信连接的至少一路摄像头模组,摄像头模组包括加串器和摄像头。下面首先对本申请实施例所提供的车载摄像头系统的驱动方法进行介绍。
图3示出了本申请一个实施例提供的车载摄像头系统的驱动方法的流程示意图。如图3所示,本申请实施例提供的一种车载摄像头系统的驱动方法,可以包括步骤S301至步骤S303。
S301、接收用户输入第一摄像头模组的标识的第一操作,第一摄像头模组与第一解串器通过第一通道通信连接。
S302、响应于第一操作,在第一解串器对应的驱动模块文件中确定与标识匹配的第一目标加串器驱动程序和第一目标摄像头驱动程序。
S303、加载第一解串器的驱动程序、第一目标加串器驱动程序和第一目标摄像头驱动程序,以驱动第一解串器和第一摄像头模组传输图像。
本申请实施例的车载摄像头系统的驱动方法,响应于用户输入第一摄像头模组的标识的第一操作,在第一解串器对应的驱动模块文件中确定与标识匹配的第一目标加串器驱动程序和第一目标摄像头驱动程序,并加载第一解串器的驱动程序、第一目标加串器驱动程序和第一目标摄像头驱动程序,以驱动第一解串器和第一摄像头模组传输图像。由于驱动模块文件包括第一解串器的驱动程序以及与第一解串器通信连接的多个加串器的驱动程序和多个摄像头的驱动程序,且在接收第一操作时可以将驱动模块文件加载到车辆操作系统的内核中,此时内核中不包括车载摄像头系统的固化驱动程序,如此,本申请实施例,车载摄像头系统的解串器驱动程序可以同时支持多款摄像头模组运行,从而增强车载摄像头系统的兼容性。
在S301中,上述第一解串器为车载摄像头系统至少一个解串器中的任意一个。
上述接收用户输入第一摄像头模组的标识的第一操作,可以是通过接口,接收用户输入与第一解串器通过第一通道通信连接的第一摄像头模组的标识的第一操作。例如用户输入camera0=a的第一操作,其中,camera0为第一通道上的摄像头模组,表示通道的尾标不仅限于0,还可以是1/2/3等,取决于第一解串器上通道的数量;a表示第一摄像头模组的标识,可以用于匹配对应的加串器与摄像头。
在一些实施例中,上述第一摄像头模组为已装载到车载摄像头系统或待装载到车载摄像头系统的摄像头模组。
本实施例中,根据用户输入第一摄像头模组的标识,去匹配对应的第一目标加串器驱动程序和第一目标摄像头驱动程序,取消了车载摄像头系统的驱动程序对设备树的依赖,第一摄像头模组既可以为已装载到车载摄像头系统,也可以是待装载到车载摄像头系统的摄像头模组,从而提高了车载摄像头系统驱动加载的灵活性。
作为本申请的一种实现方式,为了实现各解串器的驱动程序与各解串器对应的多个加串器的驱动程序和多个摄像头的驱动程序的整合,在S302之前,上述方法还可以包括以下步骤:
获取各解串器的驱动程序及各解串器对应的多个加串器的驱动程序和多个摄像头的驱动程序;
根据各解串器的驱动程序及各解串器对应的多个加串器的驱动程序和多个摄像头的驱动程序,建立各解串器的中间代码文件,中间代码文件包括表征解串器与各摄像头模组的标识及各摄像头模组的标识对应的加串器的驱动程序和摄像头的驱动程序的关联关系;
模块化编译各中间代码文件,得到各解串器的驱动模块文件。
本实施例中,构建各解串器与各摄像头模组的标识及各摄像头模组的标识对应的加串器的驱动程序和摄像头的驱动程序的关联关系,建立包含关联关系的各解串器的中间代码文件,并进行模块化编译,以实现各解串器的驱动程序与各解串器对应的多个加串器的驱动程序和多个摄像头的驱动程序的整合和可模块化加载,取消车载摄像头系统驱动对设备树的依赖。
在一些实施例中,上述根据各解串器的驱动程序及各解串器对应的多个加串器的驱动程序和多个摄像头的驱动程序,建立各解串器的中间代码文件,中间代码文件包括表征解串器与各摄像头模组的标识及各摄像头模组的标识对应的加串器的驱动程序和摄像头的驱动程序的关联关系,具体可以包括:
根据解串器的数量,建立各解串器的实例化文件,实例化文件用于调用对应的解串器的核心头文件,以实现各解串器的驱动程序的功能,核心头文件包括解串器的驱动程序对应的主体功能代码;
根据各摄像头模组的标识、各加串器类型标识和各摄像头类型标识,在各解串器对应的主体功能代码中设置结构体,结构体用于表征各摄像头模组的标识、各加串器类型标识和各摄像头类型标识之间的对应关系;
根据各加串器类型标识、各加串器类型标识对应的驱动入口函数、各摄像头类型标识和各摄像头类型标识对应的驱动入口函数,在核心头文件中建立结构体数组,结构体数组用于表征各加串器类型标识与各加串器驱动程序之间的对应关系和各摄像头类型标识与各摄像头驱动程序之间的对应关系;
结构体包括加串器子结构体和摄像头子结构体,加串器子结构体用于根据结构体数组关联与加串器类型标识对应的加串器驱动程序,摄像头子结构体用于根据结构体数组关联与摄像头类型标识对应的摄像头驱动程序;
根据各解串器的实例化文件、以及与各解串器对应的多个加串器的驱动程序和多个摄像头的驱动程序,建立各解串器的中间代码文件,中间代码文件包括表征解串器与各摄像头模组的标识及各摄像头模组的标识对应的加串器的驱动程序和摄像头的驱动程序的关联关系。
示例性地,如图4所示,将各解串器驱动的主体功能代码放入对应的一个核心头文件,建立一个或多个解串器实例化文件,取决于硬件上解串器的数量。解串器实例化文件是解串器驱动的入口,包含核心头文件,调用核心头文件中的方法。例如,解串器1和解串器2为A类型解串器,对应的是A解串器核心头文件,解串器3为B类型解串器,对应的是B解串器核心头文件。
在主体功能代码中设置一个结构体struct camera_info,用于保存摄像头模组标识,该结构体中有const char*ser_type,const char*ims_type,分别用于保存加串器类型标识和摄像头类型标识。该结构体中还有加串器子结构体const struct ser_ops和摄像头子结构体const struct ims_ops,分别用于关联加串器驱动程序和摄像头驱动程序。在核心头文件中建立一个结构体数组,该结构体数组中保存着各摄像头类型标识和加串器类型标识及对应的驱动入口函数,从而实现结构体数组记录加串器类型标识和摄像头类型标识与对应的驱动程序之间的关系。与此同时还要通过makefile进行修改进行编译关联,建立摄像头的中间代码文件objs,同样,objs的数量取决于硬件上解串器的数量,即有多少解串器就建立多少objs,每个objs中包含了对应解串器的实例化文件和多个加串器的驱动程序与多个摄像头的驱动程序。
在一些实施例中,为了车辆操作系统的内核不去编译固化驱动程序,在上述模块化编译各中间代码文件,得到各解串器的驱动模块文件之前,上述方法还可以包括:
将车辆操作系统的内核中车载摄像头系统的固化驱动程序剥离。
上述固化驱动程序为车辆操作系统的内核中出厂固化的所有解串器驱动程序、加串器驱动程序及摄像头驱动程序。
示例性地,在内核的defconfig文件中将固化驱动程序的配置宏注释掉,以让内核不去编译原有相关驱动程序。
本实施例中,将车辆操作系统的内核中车载摄像头系统的固化驱动程序剥离,使车辆操作系统的内核不去编译固化驱动程序,以便后续解串器的驱动模块文件可模块化加载与卸载。
在一些实施例中,上述模块化编译各中间代码文件,得到各解串器的驱动模块文件,具体可以包括:
通过驱动宏控制各中间代码文件模块化编译,得到各解串器的驱动模块文件ko。
示例性地,新建一个驱动宏,将所有新建的objs编译都通过这一个宏控制,并将这个宏在defconfig中设置为m,这样通过车辆操作系统的编译体系,定义为m的内核文件会被编译成module,就可以使中间代码文件objs模块化编译为驱动模块文件ko,从内核镜像中分离并放入车辆操作系统中。
在S302中,上述驱动模块文件包括第一解串器的驱动程序以及与第一解串器通信连接的多个加串器的驱动程序和多个摄像头的驱动程序。
上述在接收第一操作时将驱动模块文件加载到车辆操作系统的内核中,可以是通过接口接收加载驱动模块文件的指令insmod,模块化驱动模块文件名为camera.ko,执行指令insmod camera.ko驱动模块文件就会被装载到内核中。
上述内核中不包括车载摄像头系统的固化驱动程序。
在一些实施例中,上述步骤S302,具体可以包括:
响应于第一操作,在第一解串器对应的驱动模块文件的结构体中,确定与标识匹配的目标加串器类型标识和目标摄像头类型标识;
在第一解串器对应的驱动模块文件的结构体数组中,确定与目标加串器类型标识匹配的第一目标加串器驱动程序和目标摄像头类型标识匹配的第一目标摄像头驱动程序。
示例性地,核心头文件中有一段代码逻辑,可以根据第一摄像头模组的标识,在结构体中ser_type和ims_type传入的加串器类型标识和摄像头类型标识,并轮询查找结构体数组,配备对应的驱动程序关联到ser_ops和ims_ops中,从而确定与第一解串器匹配的第一目标加串器驱动程序和第一目标摄像头驱动程序。
作为本申请的另一种实现方式,为了使车辆操作系统可以采集到需要的图像特征参数的图像,在S303之前,方法还可以包括:
接收用户输入第一摄像头模组的图像特征参数的第二操作。
在一些实施例中,在S303中,具体可以包括:
加载第一解串器的驱动程序、第一目标加串器驱动程序和第一目标摄像头驱动程序,以驱动第一解串器和第一摄像头模组基于第一摄像头模组的图像特征参数进行图像传输。
上述接收用户输入第一摄像头模组的图像特征参数的第二操作,可以是在第一解串器的实例化文件中定义好module_param变量,设置图像特征参数,包括分辨率的宽width、高height和帧率fps,图像特征参数还可以为第一解串器的驱动程序、第一目标加串器驱动程序和第一目标摄像头驱动程序匹配逻辑提供参数。例如,第一摄像头模组的图像特征参数为width0=640height0=320fps0=15。
上述驱动第一解串器和第一摄像头模组基于第一摄像头模组的图像特征参数进行图像传输,可以是将分辨率宽640高320帧率15赋值给车辆操作系统。
本实施例中,通过接收用户输入摄像头模组的图像特征参数的操作,以驱动对应解串器和摄像头模组基于图像特征参数进行图像传输,实现使车辆操作系统可以采集到需要的图像特征参数的图像。
作为本申请的另一种实现方式,为了实现不中断或停止系统的运行,且能随时更换摄像头模组,在S303之后,方法还可以包括:
卸载第一解串器的驱动模块文件;
接收用户输入第二摄像头模组的标识的第三操作,第二摄像头模组与第一解串器通过第一通道通信连接;
响应于第三操作,在第一解串器对应的驱动模块文件中确定与第二摄像头模组的标识匹配的第二目标加串器驱动程序和第二目标摄像头驱动程序;
加载第一解串器的驱动程序、第二目标加串器驱动程序及第二目标摄像头驱动程序,以驱动第一解串器和第二摄像头模组传输图像。
上述卸载第一解串器的驱动模块文件,可以是通过卸载接口rmmod,执行rmmodcamera.ko从内核中卸载掉第一解串器的车载摄像头系统的驱动。
卸载第一解串器的驱动模块文件后,再根据第二摄像头模组的标识,加载第一解串器的驱动程序、第二目标加串器驱动程序及第二目标摄像头驱动程序,以驱动第一解串器和第二摄像头模组传输图像。示例性地,第二摄像头模组的标识为c,执行insmodcamera.ko camera0=c,完成第一解串器的驱动程序、第二目标加串器驱动程序及第二目标摄像头驱动程序的加载,插入第二摄像头模组c即可正常被驱动了。这样既保证了不中断或停止系统的运行又能随时更换不同的摄像头。
在一些实施例中,在上述加载第一解串器的驱动程序、第二目标加串器驱动程序及第二目标摄像头驱动程序,以驱动第一解串器和第二摄像头模组传输图像之前,方法还可以包括:
接收用户输入第二摄像头模组的图像特征参数的第四操作。
上述加载第一解串器的驱动程序、第二目标加串器驱动程序及第二目标摄像头驱动程序,以驱动第一解串器和第二摄像头模组传输图像,具体可以包括:
加载第一解串器的驱动程序和与第二摄像头模组的标识匹配的加串器驱动程序及摄像头驱动程序,以驱动第一解串器和第二摄像头模组基于第二摄像头模组的图像特征参数进行图像传输。
基于上述实施例提供的车载摄像头系统的驱动方法,相应地,本申请还提供了车载摄像头系统的驱动装置的具体实现方式。请参见以下实施例。
请参见图5,本申请实施例提供的车载摄像头系统的驱动装置500,可以包括:第一接收模块501、确定模块502和驱动模块503。
第一接收模块501,用于接收用户输入第一摄像头模组的标识的第一操作,第一摄像头模组与第一解串器通过第一通道通信连接;第一解串器为至少一个解串器中的任意一个;
确定模块502,用于响应于第一操作,在第一解串器对应的驱动模块文件中确定与标识匹配的第一目标加串器驱动程序和第一目标摄像头驱动程序,驱动模块文件包括第一解串器的驱动程序以及与第一解串器通信连接的多个加串器的驱动程序和多个摄像头的驱动程序,在接收第一操作时将驱动模块文件加载到车辆操作系统的内核中,内核中不包括车载摄像头系统的固化驱动程序;
驱动模块503,用于加载第一解串器的驱动程序、第一目标加串器驱动程序和第一目标摄像头驱动程序,以驱动第一解串器和第一摄像头模组传输图像。
在一些实施例中,上述第一摄像头模组为已装载到车载摄像头系统或待装载到车载摄像头系统的摄像头模组。
作为本申请的一种实现方式,为了实现各解串器的驱动程序与各解串器对应的多个加串器的驱动程序和多个摄像头的驱动程序的整合,装置还包括:
获取模块,用于获取各解串器的驱动程序及各解串器对应的多个加串器的驱动程序和多个摄像头的驱动程序;
建立模块,用于根据各解串器的驱动程序及各解串器对应的多个加串器的驱动程序和多个摄像头的驱动程序,建立各解串器的中间代码文件,中间代码文件包括表征解串器与各摄像头模组的标识及各摄像头模组的标识对应的加串器的驱动程序和摄像头的驱动程序的关联关系;
编译模块,用于模块化编译各中间代码文件,得到各解串器的驱动模块文件。
在一些实施例中,上述建立模块,具体可以包括:
第一建立单元,用于根据解串器的数量,建立各解串器的实例化文件,实例化文件用于调用对应的解串器的核心头文件,以实现各解串器的驱动程序的功能,核心头文件包括解串器的驱动程序对应的主体功能代码;
第一设置单元,用于根据各摄像头模组的标识、各加串器类型标识和各摄像头类型标识,在各解串器对应的主体功能代码中设置结构体,结构体用于表征各摄像头模组的标识、各加串器类型标识和各摄像头类型标识之间的对应关系;
第二建立单元,用于根据各加串器类型标识、各加串器类型标识对应的驱动入口函数、各摄像头类型标识和各摄像头类型标识对应的驱动入口函数,在核心头文件中建立结构体数组,结构体数组用于表征各加串器类型标识与各加串器驱动程序之间的对应关系和各摄像头类型标识与各摄像头驱动程序之间的对应关系;结构体包括加串器子结构体和摄像头子结构体,加串器子结构体用于根据结构体数组关联与加串器类型标识对应的加串器驱动程序,摄像头子结构体用于根据结构体数组关联与摄像头类型标识对应的摄像头驱动程序;
第三建立单元,用于根据各解串器的实例化文件、以及与各解串器对应的多个加串器的驱动程序和多个摄像头的驱动程序,建立各解串器的中间代码文件,中间代码文件包括表征解串器与各摄像头模组的标识及各摄像头模组的标识对应的加串器的驱动程序和摄像头的驱动程序的关联关系。
在一些实施例中,为了车辆操作系统的内核不去编译固化驱动程序,上述装置还可以包括:
剥离模块,用于将车辆操作系统的内核中车载摄像头系统的固化驱动程序剥离。
在一些实施例中,上述编译模块,具体用于通过驱动宏控制各中间代码文件模块化编译,得到各解串器的驱动模块文件。
在一些实施例中,上述确定模块502,具体可以包括:
第一确定单元,用于响应于第一操作,在第一解串器对应的驱动模块文件的结构体中,确定与标识匹配的目标加串器类型标识和目标摄像头类型标识;
第二确定单元,用于在第一解串器对应的驱动模块文件的结构体数组中,确定与目标加串器类型标识匹配的第一目标加串器驱动程序和目标摄像头类型标识匹配的第一目标摄像头驱动程序。
作为本申请的另一种实现方式,为了使车辆操作系统可以采集到需要的图像特征参数的图像,上述装置还可以包括:
第二接收模块,用于接收用户输入第一摄像头模组的图像特征参数的第二操作;
驱动模块503,还用于加载第一解串器的驱动程序、第一目标加串器驱动程序和第一目标摄像头驱动程序,以驱动第一解串器和第一摄像头模组基于第一摄像头模组的图像特征参数进行图像传输。
作为本申请的另一种实现方式,为了实现不中断或停止系统的运行,且能随时更换摄像头模组,装置还包括:
卸载模块,用于卸载第一解串器的驱动模块文件;
第一接收模块501,还用于接收用户输入第二摄像头模组的标识的第三操作,第二摄像头模组与第一解串器通过第一通道通信连接;
确定模块502,还用于响应于第三操作,在第一解串器对应的驱动模块文件中确定与第二摄像头模组的标识匹配的第二目标加串器驱动程序和第二目标摄像头驱动程序;
驱动模块503,还用于加载第一解串器的驱动程序、第二目标加串器驱动程序及第二目标摄像头驱动程序,以驱动第一解串器和第二摄像头模组传输图像。
在一些实施例中,第二接收模块,还用于接收用户输入第二摄像头模组的图像特征参数的第四操作;
驱动模块503,还用于加载第一解串器的驱动程序和与第二摄像头模组的标识匹配的加串器驱动程序及摄像头驱动程序,以驱动第一解串器和第二摄像头模组基于第二摄像头模组的图像特征参数进行图像传输。
图6示出了本申请实施例提供的电子设备的硬件结构示意图。
在电子设备可以包括处理器601以及存储有计算机程序指令的存储器602。
具体地,上述处理器601可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。
在特定实施例中,存储器602可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述实施例中的任意一种车载摄像头系统的驱动方法。
在一个示例中,电子设备还可包括通信接口603和总线610。其中,如图6所示,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。
通信接口603,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线610包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该电子设备可以执行本申请实施例中的车载摄像头系统的驱动方法,从而实现结合图3和图5描述的车载摄像头系统的驱动方法和装置。
另外,结合上述实施例中的车载摄像头系统的驱动方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种车载摄像头系统的驱动方法。
结合上述实施例中的车载摄像头系统的驱动方法,本申请实施例还提供了一种计算机程序产品,该计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行上述实施例中任意一项车载摄像头系统的驱动方法。
结合上述实施例中的车载摄像头系统的驱动方法,本申请实施例还提供了一种车辆,该车辆包括:电子设备,该电子设备用于实现如上述实施例中任意一项车载摄像头系统的驱动方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种车载摄像头系统的驱动方法,其特征在于,所述车载摄像头系统包括:至少一个解串器和与所述解串器通过通道通信连接的至少一路摄像头模组,所述摄像头模组包括加串器和摄像头;所述方法包括:
接收用户输入第一摄像头模组的标识的第一操作,所述第一摄像头模组与第一解串器通过第一通道通信连接;所述第一解串器为所述至少一个解串器中的任意一个;
响应于所述第一操作,在所述第一解串器对应的驱动模块文件中确定与所述标识匹配的第一目标加串器驱动程序和第一目标摄像头驱动程序,所述驱动模块文件包括所述第一解串器的驱动程序以及与所述第一解串器通信连接的多个加串器的驱动程序和多个摄像头的驱动程序,在接收所述第一操作时将所述驱动模块文件加载到车辆操作系统的内核中,所述内核中不包括所述车载摄像头系统的固化驱动程序;
加载所述第一解串器的驱动程序、所述第一目标加串器驱动程序和所述第一目标摄像头驱动程序,以驱动所述第一解串器和所述第一摄像头模组传输图像。
2.根据权利要求1所述的方法,其特征在于,所述第一摄像头模组为已装载到车载摄像头系统或待装载到车载摄像头系统的摄像头模组。
3.根据权利要求1所述的方法,其特征在于,在所述响应于所述第一操作,在所述第一解串器对应的驱动模块文件中确定与所述标识匹配的第一目标加串器驱动程序和第一目标摄像头驱动程序之前,所述方法还包括:
获取各所述解串器的驱动程序及各所述解串器对应的多个所述加串器的驱动程序和多个所述摄像头的驱动程序;
根据各所述解串器的驱动程序及各所述解串器对应的多个所述加串器的驱动程序和多个所述摄像头的驱动程序,建立各所述解串器的中间代码文件,所述中间代码文件包括表征所述解串器与各所述摄像头模组的标识及各所述摄像头模组的标识对应的加串器的驱动程序和摄像头的驱动程序的关联关系;
模块化编译各所述中间代码文件,得到各所述解串器的驱动模块文件。
4.根据权利要求3所述的方法,其特征在于,所述根据各所述解串器的驱动程序及各所述解串器对应的多个所述加串器的驱动程序和多个所述摄像头的驱动程序,建立各所述解串器的中间代码文件,所述中间代码文件包括表征所述解串器与各所述摄像头模组的标识及各所述摄像头模组的标识对应的加串器的驱动程序和摄像头的驱动程序的关联关系,包括:
根据所述解串器的数量,建立各所述解串器的实例化文件,所述实例化文件用于调用对应的所述解串器的核心头文件,以实现各所述解串器的驱动程序的功能,所述核心头文件包括所述解串器的驱动程序对应的主体功能代码;
根据各摄像头模组的标识、各加串器类型标识和各摄像头类型标识,在各所述解串器对应的主体功能代码中设置结构体,所述结构体用于表征各所述摄像头模组的标识、各所述加串器类型标识和各所述摄像头类型标识之间的对应关系;
根据各所述加串器类型标识、各所述加串器类型标识对应的驱动入口函数、各所述摄像头类型标识和各所述摄像头类型标识对应的驱动入口函数,在所述核心头文件中建立结构体数组,所述结构体数组用于表征各所述加串器类型标识与各所述加串器驱动程序之间的对应关系和各所述摄像头类型标识与各摄像头驱动程序之间的对应关系;
所述结构体包括加串器子结构体和摄像头子结构体,所述加串器子结构体用于根据所述结构体数组关联与所述加串器类型标识对应的加串器驱动程序,所述摄像头子结构体用于根据所述结构体数组关联与所述摄像头类型标识对应的摄像头驱动程序;
根据各所述解串器的实例化文件、以及与各所述解串器对应的多个所述加串器的驱动程序和多个所述摄像头的驱动程序,建立各所述解串器的中间代码文件,所述中间代码文件包括表征所述解串器与各所述摄像头模组的标识及各所述摄像头模组的标识对应的加串器的驱动程序和摄像头的驱动程序的关联关系。
5.根据权利要求3所述的方法,其特征在于,在所述模块化编译各所述中间代码文件,得到各所述解串器的驱动模块文件之前,所述方法还包括:
将所述车辆操作系统的内核中所述车载摄像头系统的固化驱动程序剥离。
6.根据权利要求3所述的方法,其特征在于,所述模块化编译各所述中间代码文件,得到各所述解串器的驱动模块文件,包括:
通过驱动宏控制各所述中间代码文件模块化编译,得到各所述解串器的驱动模块文件。
7.根据权利要求3所述的方法,其特征在于,所述响应于所述第一操作,在所述第一解串器对应的驱动模块文件中确定与所述标识匹配的第一目标加串器驱动程序和第一目标摄像头驱动程序,包括:
响应于所述第一操作,在所述第一解串器对应的驱动模块文件的结构体中,确定与所述标识匹配的目标加串器类型标识和目标摄像头类型标识;
在所述第一解串器对应的驱动模块文件的结构体数组中,确定与所述目标加串器类型标识匹配的第一目标加串器驱动程序和所述目标摄像头类型标识匹配的第一目标摄像头驱动程序。
8.根据权利要求1所述的方法,其特征在于,在所述加载所述第一解串器的驱动程序、所述第一目标加串器驱动程序和所述第一目标摄像头驱动程序,以驱动所述第一解串器和所述第一摄像头模组传输图像之前,所述方法还包括:
接收所述用户输入所述第一摄像头模组的图像特征参数的第二操作;
所述加载所述第一解串器的驱动程序、所述第一目标加串器驱动程序和所述第一目标摄像头驱动程序,以驱动所述第一解串器和所述第一摄像头模组传输图像,包括:
加载所述第一解串器的驱动程序、所述第一目标加串器驱动程序和所述第一目标摄像头驱动程序,以驱动所述第一解串器和所述第一摄像头模组基于所述第一摄像头模组的图像特征参数进行图像传输。
9.根据权利要求1所述的方法,其特征在于,所述加载所述第一解串器的驱动程序、所述第一目标加串器驱动程序和所述第一目标摄像头驱动程序,以驱动所述第一解串器和所述第一摄像头模组传输图像之后,所述方法还包括:
卸载所述第一解串器的驱动模块文件;
接收所述用户输入第二摄像头模组的标识的第三操作,所述第二摄像头模组与第一解串器通过第一通道通信连接;
响应于所述第三操作,在所述第一解串器对应的驱动模块文件中确定与所述第二摄像头模组的标识匹配的第二目标加串器驱动程序和第二目标摄像头驱动程序;
加载所述第一解串器的驱动程序、所述第二目标加串器驱动程序及所述第二目标摄像头驱动程序,以驱动所述第一解串器和所述第二摄像头模组传输图像。
10.一种车载摄像头系统的驱动装置,其特征在于,所述车载摄像头系统包括:至少一个解串器和与所述解串器通过通道通信连接的至少一路摄像头模组,所述摄像头模组包括加串器和摄像头;所述装置包括:
接收模块,用于接收用户输入第一摄像头模组的标识的第一操作,所述第一摄像头模组与第一解串器通过第一通道通信连接;所述第一解串器为所述至少一个解串器中的任意一个;
确定模块,用于响应于所述第一操作,在所述第一解串器对应的驱动模块文件中确定与所述标识匹配的第一目标加串器驱动程序和第一目标摄像头驱动程序,所述驱动模块文件包括所述第一解串器的驱动程序以及与所述第一解串器通信连接的多个加串器的驱动程序和多个摄像头的驱动程序,在接收所述第一操作时将所述驱动模块文件加载到车辆操作系统的内核中,所述内核中不包括所述车载摄像头系统的固化驱动程序;
驱动模块,用于加载所述第一解串器的驱动程序、所述第一目标加串器驱动程序和所述第一目标摄像头驱动程序,以驱动所述第一解串器和所述第一摄像头模组传输图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211501758.4A CN115734070A (zh) | 2022-11-28 | 2022-11-28 | 一种车载摄像头系统的驱动方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211501758.4A CN115734070A (zh) | 2022-11-28 | 2022-11-28 | 一种车载摄像头系统的驱动方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115734070A true CN115734070A (zh) | 2023-03-03 |
Family
ID=85298605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211501758.4A Pending CN115734070A (zh) | 2022-11-28 | 2022-11-28 | 一种车载摄像头系统的驱动方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115734070A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116095436A (zh) * | 2023-04-10 | 2023-05-09 | 南京予芯科技有限公司 | 一种自适应车载摄像头驱动方法 |
-
2022
- 2022-11-28 CN CN202211501758.4A patent/CN115734070A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116095436A (zh) * | 2023-04-10 | 2023-05-09 | 南京予芯科技有限公司 | 一种自适应车载摄像头驱动方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111198790B (zh) | 机器人测试方法、机器人测试装置及机器人 | |
US10054922B2 (en) | Apparatus and a system for controlling sensors | |
CN107066305A (zh) | 用于更新服务器的服务器固件的方法和装置以及服务器 | |
CN115734070A (zh) | 一种车载摄像头系统的驱动方法及装置 | |
WO2020197275A1 (en) | Method for installing subscriber profile and electronic device therefor | |
EP4018303A2 (en) | Method for preloading application and electronic device supporting same | |
CN114884912A (zh) | Soa架构的通信方法、系统、设备及计算机可读存储介质 | |
CN113852531B (zh) | 用于功能码匹配的can通讯方法和can控制器 | |
CN111203869B (zh) | 一种机器人系统维护方法、装置、机器人及可读存储介质 | |
CN111913472A (zh) | 车辆诊断设备的工作模式控制方法及相关设备 | |
CN115202632A (zh) | 基于Matlab/Simulink的AUTOSAR软件组件函数接口开发方法 | |
CN116149808A (zh) | 机器人流程自动化管理系统和方法 | |
CN114945038A (zh) | 基于soa架构的通信方法、系统、设备及可读存储介质 | |
CN115442233A (zh) | Ecu升级方法、装置、电子设备、存储介质及车辆 | |
CN114840191A (zh) | 软件代码自动生成方法、装置、设备及可读存储介质 | |
CN113997705A (zh) | 一种印控仪的用印方法及装置 | |
JP2020135468A (ja) | ソフトウェア書き込みシステム | |
CN109597813B (zh) | 一种车辆数据处理方法及装置 | |
CN115085772B (zh) | 测试方法、处理器、nfc装置、电子设备和存储介质 | |
WO2021025284A1 (en) | Electronic device for executing instructions using processor cores and various versions of instruction set architectures | |
WO2022039545A1 (ko) | 직렬 인터페이스를 운영하는 전자 장치 및 그 제어 방법 | |
CN117032677A (zh) | 软件代码生成方法、装置、电子设备及存储介质 | |
CN118068739A (zh) | 一种电子控制单元的调度方法、装置及相关设备 | |
CN112305933A (zh) | 一种智能家居控制软件的授权方法 | |
EP3489913A1 (en) | Diagnostic apparatus, non-transitory computer-readable storage medium storing program, and connection setup method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 601, Building 4, Jingwei Hengrun R&D Center, No. 2, Huixiang Road, Zhangjiawo Town, Xiqing District, Tianjin, 300380 Applicant after: Jingwei Hengrun (Tianjin) research and Development Co.,Ltd. Address before: Room 308, No.9 Fengze Road, automobile industrial zone, Xiqing District, Tianjin (Zhangjiawo Industrial Zone), 300380 Applicant before: Jingwei Hengrun (Tianjin) research and Development Co.,Ltd. |