一种总线接口配置方法、系统以及电子设备转让专利

申请号 : CN202211118401.8

文献号 : CN115203107B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙骥万宁

申请人 : 上海飞斯信息科技有限公司

摘要 :

本申请公开一种总线接口配置方法、系统以及电子设备,所述方法包括获取待配置总线接口的型号;基于所述待配置总线接口的型号,从所述总线接口配置系统中存储的多个处理程序中,选取到与所述待配置总线接口的型号相对应的目标处理程序,其中,每个所述处理程序用于支持不同型号的总线接口;将所述目标处理程序配置为所述待配置总线接口的处理程序。

权利要求 :

1.一种总线接口配置方法,应用于总线接口配置系统,其特征在于,包括:获取待配置总线接口的型号;

基于所述待配置总线接口的型号,从所述总线接口配置系统中存储的多个处理程序中,选取到与所述待配置总线接口的型号相对应的目标处理程序,其中,每个所述处理程序用于支持不同型号的总线接口;

所述待配置总线接口的型号中包含控制模式、传输数据的工作模式、处理器类型以及接口类型;

将所述目标处理程序配置为所述待配置总线接口的处理程序,所述处理程序包括第一处理程序、第二处理程序、第三处理程序以及第四处理程序,所述基于所述待配置总线接口的型号,从所述总线接口配置系统中存储的多个处理程序中,选取到与所述待配置总线接口的型号相对应的目标处理程序,包括:基于所述待配置总线接口的控制模式,从多个所述第一处理程序中,选取到目标第一处理程序,所述目标第一处理程序用于支持所述待配置总线接口的控制模式;

基于所述待配置总线接口传输数据的工作模式,从多个所述第二处理程序中,选取到目标第二处理程序,所述目标第二处理程序用于支持所述待配置总线接口传输数据的工作模式;

基于所述待配置总线接口的处理器类型,从多个所述第三处理程序中,选取到目标第三处理程序,所述目标第三处理程序用于支持所述待配置总线接口的处理器类型;

基于所述待配置总线接口的接口类型,从多个所述第四处理程序中,选取到目标第四处理程序,所述目标第四处理程序用于支持所述待配置总线接口的接口类型。

2.根据权利要求1所述的方法,其特征在于,所述总线接口配置系统中还包含每个所述处理程序与其可支持总线接口的型号的对应关系,所述基于所述待配置总线接口的型号,从所述总线接口配置系统中存储的多个处理程序中,选取到与所述待配置总线接口的型号相对应的目标处理程序,包括:根据所述对应关系,从多个所述处理程序中,选取与所述待配置总线接口的型号相对应的目标处理程序。

3.根据权利要求1所述的方法,其特征在于,多个所述处理程序根据其可支持的总线接口型号通过宏定义的方式进行区分。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:监测所述待配置总线接口的型号变化;

若监测到所述待配置总线接口的型号从第一型号转变为第二型号,则将为所述待配置总线接口配置的与所述第一型号对应的处理程序切换为与所述第二型号对应的处理程序。

5.根据权利要求1至4任一项所述的方法,其特征在于,所述总线接口配置系统中还包含双口存储器,所述方法还包括:获取接收到的多种类型的日志信息;

将所述日志信息写入所述双口存储器中,所述双口存储器中设置有标志位,所述标志位用于标志待输出日志信息的类型;

根据所述双口存储器中设置的标志位,读取并输出由所述标志位标志类型的日志信息。

6.根据权利要求5所述的方法,其特征在于,所述总线接口配置系统中还包含串口和/或存储模块,所述输出由所述标志位标志类型的日志信息,包括:将由所述标志位标志类型的日志信息输出至所述串口和/或所述存储模块中。

7.一种总线接口配置系统,其特征在于,包括:

获取模块,用于获取待配置总线接口的型号,所述待配置总线接口的型号中包含控制模式、传输数据的工作模式、处理器类型以及接口类型;

主控模块,包含多个第一处理程序,所述主控模块用于为所述待配置总线接口配置目标第一处理程序,所述目标第一处理程序用于支持所述待配置总线接口的控制模式;

业务处理模块,包含多个第二处理程序,所述业务处理模块用于为所述待配置总线接口配置目标第二处理程序,所述目标第二处理程序用于支持所述待配置总线接口传输数据的工作模式;

硬件适配模块,包括多个第三处理程序,所述硬件适配模块用于为所述待配置总线接口配置目标第三处理程序,所述目标第三处理程序用于支持所述待配置总线接口的处理器类型;

接口适配模块,包括多个第四处理程序,所述接口适配模块用于为所述待配置总线接口配置目标第四处理程序,所述目标第四处理程序用于支持所述待配置总线接口的接口类型。

8.根据权利要求7所述接口配置系统,其特征在于,包括:

双口存储器,所述双口存储器中设置有标志位,所述标志位用于标志待输出日志信息的类型;

写入模块,用于将接收到的多种类型的日志信息写入所述双口存储器中;

驱动模块,用于根据在所述双口存储器中设置的标志位,读取并输出由所述标志位标志类型的日志信息。

9.一种电子设备,其特征在于,包括:

一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如权利要求1至6任一项所述的方法。

说明书 :

一种总线接口配置方法、系统以及电子设备

技术领域

[0001] 本申请涉及总线通讯技术领域,进一步涉及一种总线接口配置方法、系统以及电子设备。

背景技术

[0002] MIL‑STD‑1553B是关于数据总线电气特性和协议规范的军事标准,它的全称为“飞机内部时分制指令/响应型多路传输数据总线”,该标准规定了飞机内部数据总线的操作方式、总线上的信息流的格式和电气要求,其作用是提供一个在不同系统之间的传输数据和信息的媒介。
[0003] MIL‑STD‑1553B数据总线上节点分为不同的终端类型,有总线控制器(BC)、远程终端(RT)和总线监视器(BM),一般情况下,这三部分通过多路总线接口(MBI)来实现其功能,通常在一条数据总线上能同时连接31个远程终端。总线控制器(BC)是在总线上唯一被安排为执行建立和启动数据传输任务的终端,远程终端(RT)是用户子系统到数据总线上的接口,它在BC的控制下发送数据或接收数据,总线监控器(BM)监控总线上的信息传输,以完成对总线上的数据源进行记录和分析,但它本身不参与总线的通信。
[0004] 现有技术中,总线接口配置软件(MBI)都是面向当前总线接口型号的特定需求开发的,再加上不同开发人员的编程风格各异,造成现有不同型号间的MBI软件差别比较大,几乎每一个型号的MBI软件都需要独立维护,造成维护的工作量非常大。另外很多型号的MBI软件代码和型号硬件耦合度非常高,这导致,如果总线接口硬件有任何改动,软件必须有很大改动,甚至必须重写。

发明内容

[0005] 本发明的一个优势在于提供一种总线接口配置方法、系统以及电子设备,其中所述方法能够实现对多种不同型号的总线接口的配置,不需要为每一种型号的总线接口独立开发软件或独立维护等,有利于减少软件开发和维护的成本。
[0006] 第一方面,本发明的一个优势在于提供一种总线接口配置方法,应用于总线接口配置系统,包括:
[0007] 获取待配置总线接口的型号;
[0008] 基于所述待配置总线接口的型号,从所述总线接口配置系统中存储的多个处理程序中,选取到与所述待配置总线接口的型号相对应的目标处理程序,其中,每个所述处理程序用于支持不同型号的总线接口;
[0009] 将所述目标处理程序配置为所述待配置总线接口的处理程序。
[0010] 其中一种可能的实现方式中,所述总线接口配置系统中还包含每个所述处理程序与其可支持总线接口的型号的对应关系,所述基于所述待配置总线接口的型号,从所述总线接口配置系统中存储的多个处理程序中,选取到与所述待配置总线接口的型号相对应的目标处理程序,包括:
[0011] 根据所述对应关系,从多个所述处理程序中,选取与所述待配置总线接口的型号相对应的目标处理程序。
[0012] 其中一种可能的实现方式中,所述待配置总线接口的型号中包含控制模式、传输数据的工作模式、处理器类型以及接口类型,所述处理程序包括第一处理程序、第二处理程序、第三处理程序以及第四处理程序,所述基于所述待配置总线接口的型号,从所述总线接口配置系统中存储的多个处理程序中,选取到与所述待配置总线接口的型号相对应的目标处理程序,包括:
[0013] 基于所述待配置总线接口的控制模式,从多个所述第一处理程序中,选取到目标第一处理程序,所述目标第一处理程序用于支持所述待配置总线接口的控制模式;
[0014] 基于所述待配置总线接口传输数据的工作模式,从多个所述第二处理程序中,选取到目标第二处理程序,所述目标第二处理程序用于支持所述待配置总线接口传输数据的工作模式;
[0015] 基于所述待配置总线接口的处理器类型,从多个所述第三处理程序中,选取到目标第三处理程序,所述目标第三处理程序用于支持所述待配置总线接口的处理器类型;
[0016] 基于所述待配置总线接口的接口类型,从多个所述第四处理程序中,选取到目标第四处理程序,所述目标第四处理程序用于支持所述待配置总线接口的接口类型。
[0017] 其中一种可能的实现方式中,多个所述处理程序根据其可支持的总线接口型号通过宏定义的方式进行区分。
[0018] 其中一种可能的实现方式中,所述方法还包括:
[0019] 监测所述待配置总线接口的型号变化;
[0020] 若监测到所述待配置总线接口的型号从第一型号转变为第二型号,则将为所述待配置总线接口配置的与所述第一型号对应的处理程序切换为与所述第二型号对应的处理程序。
[0021] 其中一种可能的实现方式中,所述总线接口配置系统中还包含双口存储器,所述方法还包括:
[0022] 获取接收到的多种类型的日志信息;
[0023] 将所述日志信息写入所述双口存储器中,所述双口存储器中设置的标志位,所述标志位用于标志待输出日志信息的类型;
[0024] 根据所述双口存储中设置的标志位,读取并输出由所述标志位标志类型的日志信息。
[0025] 其中一种可能的实现方式中,所述总线接口配置系统中还包含串口和/或存储模块,所述输出由所述标志位标志类型的日志信息,包括:
[0026] 将由所述标志位标志类型的日志信息输出至所述串口和/或所述存储模块中。
[0027] 第二方面,本申请提供一种总线接口配置系统,包括:
[0028] 获取模块,用于获取待配置总线接口的型号,所述待配置总线接口的型号中包含控制模式、传输数据的工作模式、处理器类型以及接口类型;
[0029] 主控模块,包含多个第一处理程序,所述主控模块用于为所述待配置总线接口配置目标第一处理程序,所述目标第一处理程序用于支持所述待配置总线接口的控制模式;
[0030] 业务处理模块,包含多个第二处理程序,所述业务处理模块用于为所述待配置总线接口配置目标第二处理程序,所述目标第二处理程序用于支持所述待配置总线接口传输数据的工作模式;
[0031] 硬件适配模块,包括多个第三处理程序,所述硬件适配模块用于为所述待配置总线接口配置目标第三处理程序,所述目标第三处理程序用于支持所述待配置总线接口的处理器类型;
[0032] 接口适配模块,包括多个第四处理程序,所述接口适配模块用于为所述待配置总线接口配置目标第四处理程序,所述目标第四处理程序用于支持所述待配置总线接口的接口类型。
[0033] 第三方面,本申请提供一种总线接口配置系统,包括:
[0034] 双口存储器,所述双口存储器中设置有标志位,所述标志位用于标志待输出日志信息的类型;
[0035] 写入模块,用于将接收到的多种类型的日志信息写入所述双口存储器中;
[0036] 驱动模块,用于根据在所述双口存储器中设置的标志位,读取并输出由所述标志位标志类型的日志信息。
[0037] 第四方面,本发明的另一个优势在于提供一种电子设备,包括:
[0038] 一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如第一方面所述的方法。
[0039] 第五方面,本发明的另一个优势在于提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面所述的方法。
[0040] 第六方面,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行第一方面所述的方法。
[0041] 在一种可能的设计中,第六方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。

附图说明

[0042] 图1示出了1553B总线拓扑结构的示意图。
[0043] 图2示出了1553B MBI子卡硬件结构的示意图。
[0044] 图3示出了本发明总线接口配置系统一个实施例的结构示意图。
[0045] 图4示出了本发明总线接口配置系统一个实施例中文件目录的示意图。
[0046] 图5示出了本发明总线接口配置系统另一个实施例的结构示意图。
[0047] 图6示出了本发明总线接口配置系统另一个实施例的日志信息流向示意图。
[0048] 图7示出了本发明总线接口配置方法一个实施例的方法示意图。
[0049] 图8示出了本发明电子设备一个实施例的结构示意图。

具体实施方式

[0050] 以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
[0051] 可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
[0052] 申请概述
[0053] 现有技术中,总线接口配置软件(MBI)都是面向当前总线接口型号的特定需求开发的,再加上不同开发人员的编程风格各异,造成现有不同型号间的MBI软件差别比较大,几乎每一个型号的MBI软件都需要独立维护,造成维护的工作量非常大。另外很多型号的MBI软件代码和型号硬件耦合度非常高,这导致,如果总线接口硬件有任何改动,软件必须有很大改动,甚至必须重写。
[0054] 为解决以上问题,本申请提供一种总线接口配置方法,所述方法可以包括:获取待配置总线接口的型号;基于所述待配置总线接口的型号,从总线接口配置系统中存储的多个处理程序中,选取到与所述待配置总线接口的型号相对应的目标处理程序,其中,每个所述处理程序用于支持不同型号的总线接口;将所述目标处理程序配置为所述待配置总线接口的处理程序。所述方法能够实现对多种不同型号的总线接口的配置,不需要为每一种型号的总线接口独立开发软件或独立维护等,有利于减少软件开发和维护的成本。
[0055] 根据如图1所示的1553B总线拓扑结构的示意图以及如图2所示的1553B MBI子卡硬件结构的示意图,本申请人发现,总线接口配置系统的主要工作包括通过逻辑提供的总线接口在双口存储器与协议芯片之间传输数据。对于不同型号的总线接口,其控制模式(如来自主控制端的控制指令等)可能不同(如单一模式、BC_BBC切换模式等),传输数据的工作模式可能不同(如BC工作模式、RT工作模式、BM工作模式等),处理器类型可能不同(如VII处理器、A7处理器、K7处理器等),接口类型可能不同(如双口存储器接口型号或协议芯片接口型号,协议芯片如DDC‑61588芯片、DDC‑61864芯片、自研芯片等),等。
[0056] 为了适应不同型号的总线接口变化,兼容各种型号的差异。本申请提供的方法可以将支持不同型号总线接口的多个处理程序(如处理代码)通过宏定义的方式区分开来,然后,按照待配置总线接口的型号,为待配置总线接口配置相应的处理程序,不需要为每一种型号的总线接口独立开发软件或独立维护等,有利于减少软件开发和维护的成本,即实现了对各型号总线接口的通用性,又提供了对总线接口型号未来变化的开放性。
[0057] 示例性总线接口配置系统
[0058] 参考图3,依本发明一实施例的一种总线接口配置系统,所述系统用于为不同型号的总线接口配置处理程序。
[0059] 如图3所示,总线接口配置系统可以包括获取模块10、主控模块20、业务处理模块30、硬件适配模块40以及接口适配模块50,其中,各模块之间电连接,以实现为不同型号的总线接口配置处理程序。
[0060] 获取模块10,用于获取待配置总线接口的型号,所述待配置总线接口的型号中可以包含控制模式、传输数据的工作模式、处理器类型以及接口类型等。例如,按照来自主控制端(或主CPU端等)的控制命令的类型,总线接口的控制模式可以包含单一模式,或BC_BBC切换模式等。总线接口传输数据的工作模式可以包含BC工作模式、RT工作模式、BM工作模式等。总线接口的处理器类型可以包含VII处理器、A7处理器、K7处理器等。总线接口的接口类型可以包含由双口存储器接口型号或协议芯片接口型号提供的接口,协议芯片如DDC‑61588芯片、DDC‑61864芯片、615001自研芯片等。获取模块10可以包括通信装置或交互界面等,以用于获取由用户(或用户终端)输入的待配置总线接口的型号。
[0061] 主控模块20,包含多个第一处理程序,所述主控模块20用于为所述待配置总线接口配置目标第一处理程序,所述目标第一处理程序用于支持所述待配置总线接口的控制模式。举例地,第一处理程序可以包含支持不同控制模式的总线接口的处理代码。也就是说,按照不同型号的总线接口的控制模式,在所述主控模块20内存储可支持不同控制模式的总线接口的多个第一处理程序,并用宏定义的方式将多个第一处理程序区分开来。
[0062] 业务处理模块30,包含多个第二处理程序,所述业务处理模块30用于为所述待配置总线接口配置目标第二处理程序,所述目标第二处理程序用于支持所述待配置总线接口传输数据的工作模式。举例地,第二处理程序可以包含支持不同传输数据的工作模式的总线接口的处理代码。也就是说,按照不同型号的总线接口传输数据的工作模式,在所述业务处理模块30内存储可支持不同传输数据的工作模式的总线接口的多个第二处理程序,并用宏定义的方式将多个第二处理程序区分开来。
[0063] 硬件适配模块40,包括多个第三处理程序,所述硬件适配模块40用于为所述待配置总线接口配置目标第三处理程序,所述目标第三处理程序用于支持所述待配置总线接口的处理器类型。举例地,第三处理程序可以包含支持不同处理器类型的总线接口的处理代码。也就是说,按照不同型号的总线接口的处理器类型,在所述硬件适配模块40内存储可支持不同处理器类型的总线接口的多个第三处理程序,并用宏定义的方式将多个第三处理程序区分开来。
[0064] 可以理解的是,按照不同型号的总线接口的其他硬件类型,硬件适配模块40还可以为待配置总线接口配置可支持该硬件类型的处理程序,在此不受限制。
[0065] 接口适配模块50,包括多个第四处理程序,所述接口适配模块50用于为所述待配置总线接口配置目标第四处理程序,所述目标第四处理程序用于支持所述待配置总线接口的接口类型。举例地,第四处理程序可以包含支持不同接口类型的总线接口的处理代码。也就是说,按照不同型号的总线接口的接口类型,在所述接口适配模块50内存储可支持不同接口类型的总线接口的多个第四处理程序,并用宏定义的方式将多个第四处理程序区分开来。
[0066] 优选地,接口适配模块50可以包括双口内存接口模块51以及协议芯片接口模块52,双口内存接口模块51用于为待配置总线接口配置可支持双口存储器接口类型的处理程序,协议芯片接口模块52用于为待配置总线接口配置可支持协议芯片接口类型的处理程序。
[0067] 在本实施例中,为了适应不同总线接口的型号变化,兼容各种型号的总线接口。总线接口配置系统中的获取模块10、主控模块20、业务处理模块30、硬件适配模块40以及接口适配模块50之间进行解耦,使得涉及不同模块的处理程序(如上述第一处理程序、上述第二处理程序、上述第三处理程序以及上述第四处理程序)分别封装在不同的模块中。当总线接口的型号中的某个因素(如控制模式、传输数据的工作模式、处理器类型以及接口类型)发生变化时,只需由涉及该因素的模块为该总线接口配置相应的处理程序,即可实现兼容多种不同型号的总线接口,而无需为每一种型号的总线接口独立开发软件或独立维护等。
[0068] 举例地,若待配置总线接口的型号包括:控制模式为单一模式,传输数据的工作模式为RT工作模式,处理器类型为A7处理器,接口类型为由DDC‑61864芯片提供的接口,则主控模块20为待配置总线接口配置可支持单一模式的目标第一处理程序,业务处理模块30为待配置总线接口配置可支持RT工作模式的目标第二处理程序,硬件适配模块40为待配置总线接口配置可支持A7处理器的目标第三处理程序,接口适配模块50的协议芯片接口模块52为待配置总线接口配置可支持由DDC‑61864芯片提供的接口的目标第四处理程序,以保证待配置总线接口在双口存储器与协议芯片之间传输数据的适用性。
[0069] 可选地,若待配置总线接口的型号从第一型号转变为第二型号,则总线接口配置系统可以将为待配置总线接口配置的与所述第一型号对应的处理程序切换为与所述第二型号对应的处理程序。
[0070] 举例地,待配置总线接口的型号由第一型号(如处理器类型为VII处理器,协议芯片为DDC‑61864芯片)转换为第二型号(如处理器类型为V7处理器,协议芯片为615001自研芯片),则硬件适配模块40将为待配置总线接口配置的可支持VII处理器的第三处理程序切换为可支持A7处理器的第三处理程序,接口适配模块50将为待配置总线接口配置的可支持由DDC‑61864芯片提供的接口的第四处理程序切换为可支持由615001自研芯片提供的接口的第四处理程序。
[0071] 如图4所示为总线接口配置系统一个实施例中文件目录的示意图,其中,config文件目录下存放不同型号总线接口的配置头文件,config.h是总的配置头文件,mbi_main.c是主控模块20的处理程序,mbi_bc.c/.h是工作模式为BC工作模式时的业务处理模块30的处理程序,mbi_rt.c/.h是工作模式为RT工作模式时的业务处理模块30的处理程序,mbi_bm.c/.h是工作模式为BM工作模式时的业务处理模块30的处理程序,mbi_rtmt.c/.h是工作模式为RT&MT工作模式时的业务处理模块30的处理程序。dp.c/.h是双口内存接口模块51的处理程序,protocol_chip.c/.h是协议芯片接口模块52的处理程序。hardware_adapter_layer.c/.h是硬件适配模块40的处理程序,log.c/.h是总线接口配置系统的对日志信息进行处理的程序,Common_Circular_Buffer.c/.h是对双口存储器进行循环Buffer访问的处理程序。
[0072] 对于不同型号的总线接口的配置,只需修改config文件中宏定义,例如,#define PRODUCT_MODEL MBI_XX5,其中,XX5为待配置总线接口的型号,待配置总线接口的型号包括:传输数据的工作模式为RT工作模式,由业务处理模块30为待配置总线接口配置可支持RT工作模式的目标第二处理程序(如mbi_rt.c/.h)。
[0073] 对于在总线接口配置系统中增加一种型号总线接口的配置,只需在config.h文件中添加一个代表该型号总线接口的宏定义,并且在config/文件目录下添加一个关于该型号总线接口的配置头文件。
[0074] 例如:添加型号为MBI_9KG的总线接口的配置
[0075] 1,config.h:
[0076] #define MBI_9KG 4
[0077] …
[0078] #elif PRODUCT_MODEL == MBI_9KG
[0079] #include "config/mbi_9kg_config.h"
[0080] 2,config/mbi_9kg_config.h
[0081] 在其他一些实施例中,由于MBI子卡没有串口,也没有对应的存储设备,现有的总线接口配置系统,在调试过程中,只是把有限的日志信息(如Log信息等)写到双口存储器中,一方日志信息有限,另一方面只能在运行时读取即时的日志信息,不能读取历史日志信息。为了适应各种类型的总线接口,读取更多的日志信息,总线接口配置系统能够将多种类型的日志信息写入双口内存器中,并从双口存储器中将读取到的日志信息输出到串口或者保存到存储模块(如非易失性存储设备等)中。
[0082] 如图5和图6所示,总线接口配置系统可以包括双口存储器110、写入模块120以及驱动模块130,各模块之间电连接,以实现将多种类型的日志信息写入双口内存器110中,并进行输出的功能。优选地,总线接口配置系统可以采用类printf的ASCII码的形式对日志信息进行存储和传输,不易日志信息的内容类型限制。
[0083] 双口存储器110,用于存储多种类型的日志信息,该日志信息可以包含由不同类型的总线接口在运行时,总线监控器(BM)监控到即时的日志信息以及历史日志信息。所述双口存储器110中设置有标志位(如“LOG_OUTPUT_FLAG”标志位),所述标志位用于标志待输出日志信息的类型。
[0084] 写入模块120,用于将接收到的多种类型的日志信息写入所述双口存储器110中。进一步地,双口存储器110中可以包含循环缓冲区(如基于子地址的循环Buffer),写入模块
120可以将日志信息写到双口存储器110的循环缓冲区中。例如,对于总线接口传输数据的RT工作模式,在现有技术中,对于同一子地址,如果前一个数据包没有被应用端读走,则接收到的新数据包就无法被写入。而在本申请中,在接收到新数据包(如日志信息)后,如果前一个数据包没有被应用端读走,则前一个数据包会被接收到的新数据包覆盖(如将新数据包写入双口存储器110的循环缓冲区内),从而在应用端与总线之间实现一定的缓冲,以防止数据丢失。又例如,对于总线接口传输数据的BM工作模式,在现有技术中,只有在一个“大Buffer”被写满时,应用端才会把数据包读走。而在本申请中,应用端可以实时地读走每个“双字节”数据,以防止系统停止运行时,大量数据没有来得及存储而丢失。
[0085] 驱动模块130,用于根据在所述双口存储器中设置的标志位,读取并输出由所述标志位标志类型的日志信息。也就是说,在系统运行过程中,驱动模块130根据双口存储器中设置的标志位,来动态地确定哪些类型的日志信息要输出。可选地,驱动模块130还可以用于判断是否输出日志信息,例如,在编译时通过宏“ENABLE_MBI_LOG”确定是否输出日志信息,若是,则驱动模块130根据双口存储器中设置的标志位“LOG_OUTPUT_FLAG”,来确定输出哪些类型的日志信息。
[0086] 进一步地,驱动模块130可以将日志信息输出至串口和/或存储模块中,如通过串口进行显示,或者存储到存储模式(如非易失性存储设备等)中,有利于读取更多的日志信息(如历史日志信息)。
[0087] 示例性总线接口配置方法
[0088] 参考图7,依本发明一实施例的一种总线接口配置方法,所述方法可以应用于上述总线接口配置系统。
[0089] 如图7所示,所述方法可以包括:
[0090] S101、获取待配置总线接口的型号。
[0091] 在步骤S101中,待配置总线接口的型号中可以包含控制模式、传输数据的工作模式、处理器类型以及接口类型等。例如,按照来自主控制端(或主CPU端等)的控制命令的类型,总线接口的控制模式可以包含单一模式,或BC_BBC切换模式等。总线接口传输数据的工作模式可以包含BC工作模式、RT工作模式、BM工作模式等。总线接口的处理器类型可以包含VII处理器、A7处理器、K7处理器等。总线接口的接口类型可以包含由双口存储器接口型号或协议芯片接口型号提供的接口,协议芯片如DDC‑61588芯片、DDC‑61864芯片、615001自研芯片等。
[0092] S102、基于所述待配置总线接口的型号,从所述总线接口配置系统中存储的多个处理程序中,选取到与所述待配置总线接口的型号相对应的目标处理程序,其中,每个所述处理程序用于支持不同型号的总线接口。
[0093] 在步骤S102中,所述处理程序可以包括第一处理程序、第二处理程序、第三处理程序以及第四处理程序等。举例地,第一处理程序可以包含支持不同控制模式的总线接口的处理代码,按照不同型号的总线接口的控制模式,用宏定义的方式将多个第一处理程序区分开来,如可支持单一模式的第一处理程序,以及可支持BC_BBC切换模式的第一处理程序等。举例地,第二处理程序可以包含支持不同传输数据的工作模式的总线接口的处理代码,按照不同型号的总线接口传输数据的工作模式,用宏定义的方式将多个第二处理程序区分开来,如可支持BC工作模式的第二处理程序、可支持RT工作模式的第二处理程序以及可支持BM工作模式的第二处理程序等。举例地,第三处理程序可以包含支持不同处理器类型的总线接口的处理代码,按照不同型号的总线接口的处理器类型,用宏定义的方式将多个第三处理程序区分开来,如可支持VII处理器的第三处理程序、可支持A7处理器的第三处理程序以及可支持K7处理器的第三处理程序等。举例地,第四处理程序可以包含支持不同接口类型的总线接口的处理代码,按照不同型号的总线接口的接口类型,用宏定义的方式将多个第四处理程序区分开来,如可支持由DDC‑61588芯片提供的接口的第四处理程序、可支持由DDC‑61864芯片提供的接口的第四处理程序以及可支持由615001自研芯片提供的接口的第四处理程序等。
[0094] 其中一种可能的实现方式中,步骤S102可以包括:
[0095] S201、基于所述待配置总线接口的控制模式,从多个所述第一处理程序中,选取到目标第一处理程序,所述目标第一处理程序用于支持所述待配置总线接口的控制模式;
[0096] S202、基于所述待配置总线接口传输数据的工作模式,从多个所述第二处理程序中,选取到目标第二处理程序,所述目标第二处理程序用于支持所述待配置总线接口传输数据的工作模式;
[0097] S203、基于所述待配置总线接口的处理器类型,从多个所述第三处理程序中,选取到目标第三处理程序,所述目标第三处理程序用于支持所述待配置总线接口的处理器类型;
[0098] S204、基于所述待配置总线接口的接口类型,从多个所述第四处理程序中,选取到目标第四处理程序,所述目标第四处理程序用于支持所述待配置总线接口的接口类型。
[0099] 举例地,若待配置总线接口的型号包括:控制模式为单一模式,传输数据的工作模式为RT工作模式,处理器类型为A7处理器,接口类型为由DDC‑61864芯片提供的接口,则步骤S201中,从多个第一处理程序中,选取到可支持单一模式的目标第一处理程序,步骤S202中,从多个第二处理程序中,选取到可支持RT工作模式的目标第二处理程序,步骤S203中,从多个第三处理程序中,选取到可支持A7处理器的目标第三处理程序,步骤S204中,从多个第四处理程序中,选取到可支持由DDC‑61864芯片提供的接口的目标第四处理程序。
[0100] 其中一种可能的实现方式中,所述总线接口配置系统中还包含每个所述处理程序与其可支持总线接口的型号的对应关系,所述步骤S102还可以包括:
[0101] 根据所述对应关系,从多个所述处理程序中,选取与所述待配置总线接口的型号相对应的目标处理程序。
[0102] 举例地,对应关系可以包含:当在总线接口配置系统中增加一种型号总线接口的配置时,在config.h文件中添加一个代表该型号总线接口的宏定义,并且在config/文件目录下添加一个关于该型号总线接口的配置头文件。
[0103] S103、将所述目标处理程序配置为所述待配置总线接口的处理程序。
[0104] 举例地,在步骤S201至步骤S204中选取到目标处理程序后,在步骤S103中,为待配置总线接口配置可支持单一模式的目标第一处理程序,为待配置总线接口配置可支持RT工作模式的目标第二处理程序,为待配置总线接口配置可支持A7处理器的目标第三处理程序,为待配置总线接口配置可支持由DDC‑61864芯片提供的接口的目标第四处理程序,以保证待配置总线接口在双口存储器与协议芯片之间传输数据的适用性。
[0105] 其中一种可能的实现方式中,所述方法还可以包括:
[0106] S301、监测所述待配置总线接口的型号变化;
[0107] S302、若监测到所述待配置总线接口的型号从第一型号转变为第二型号,则将为所述待配置总线接口配置的与所述第一型号对应的处理程序切换为与所述第二型号对应的处理程序。
[0108] 举例地,若监测到待配置总线接口的型号由第一型号(如处理器类型为VII处理器,协议芯片为DDC‑61864芯片)转换为第二型号(如处理器类型为V7处理器,协议芯片为615001自研芯片),则步骤S302中,将为待配置总线接口配置的可支持VII处理器的第三处理程序切换为可支持A7处理器的第三处理程序,将为待配置总线接口配置的可支持由DDC‑
61864芯片提供的接口的第四处理程序切换为可支持由615001自研芯片提供的接口的第四处理程序。
[0109] 其中一种可能的实现方式中,所述总线接口配置系统中还包含双口存储器,所述方法还可以包括:
[0110] S401、获取接收到的多种类型的日志信息;
[0111] S402、将所述日志信息写入所述双口存储器中,所述双口存储器中设置的标志位,所述标志位用于标志待输出日志信息的类型;
[0112] S403、按照所述双口存储器中设置的标志位,读取并输出由所述标志位标志类型的日志信息。
[0113] 该日志信息可以包含由不同类型的总线接口在运行时,总线监控器(BM)监控到即时的日志信息以及历史日志信息。所述双口存储器110中设置有标志位(如“LOG_OUTPUT_FLAG”标志位),所述标志位用于标志待输出日志信息的类型。
[0114] 进一步地,双口存储器110中可以包含循环缓冲区(如基于子地址的循环Buffer),写入模块120可以将日志信息写到双口存储器110的循环缓冲区中。例如,对于总线接口传输数据的RT工作模式,在现有技术中,对于同一子地址,如果前一个数据包没有被应用端读走,则接收到的新数据包就无法被写入。而在本申请中,在接收到新数据包(如日志信息)后,如果前一个数据包没有被应用端读走,则前一个数据包会被接收到的新数据包覆盖(如将新数据包写入双口存储器110的循环缓冲区内),从而在应用端与总线之间实现一定的缓冲,以防止数据丢失。又例如,对于总线接口传输数据的BM工作模式,在现有技术中,只有在一个“大Buffer”被写满时,应用端才会把数据包读走。而在本申请中,应用端可以实时地读走每个“双字节”数据,以防止系统停止运行时,大量数据没有来得及存储而丢失。
[0115] 步骤S403中,根据双口存储器中设置的标志位,来动态地确定哪些类型的日志信息要输出。可选地,在步骤S403之前,所述方法还可以包括:判断是否输出日志信息,例如,在编译时通过宏“ENABLE_MBI_LOG”确定是否输出日志信息,若是,则根据双口存储器中设置的标志位“LOG_OUTPUT_FLAG”,来确定输出哪些类型的日志信息。
[0116] 其中一种可能的实现方式中,所述总线接口配置系统中还包含串口和/或存储模块,所述步骤S403可以包括:
[0117] 将由所述标志位标志类型的日志信息输出至所述串口和/或所述存储模块中。
[0118] 例如,日志信息通过串口进行显示,或者存储到存储模式(如非易失性存储设备等)中,有利于读取更多的日志信息(如历史日志信息)。
[0119] 可以理解的是,上述实施例中的部分或全部步骤骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
[0120] 示例性电子设备
[0121] 图8为本申请电子设备一个实施例的结构示意图,如图8所示,上述电子设备可以包括:一个或多个处理器;存储器;以及一个或多个计算机程序。
[0122] 其中,上述电子设备可以为航空设备如飞机,手机,电脑,服务器,移动终端(手机),收银设备,计算机,智慧屏,无人机,智能网联车(Intelligent Connected Vehicle;以下简称:ICV),智能(汽)车(smart/intelligent car)或车载设备等设备。
[0123] 其中上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述设备执行时,使得上述设备执行以下步骤:
[0124] 获取待配置总线接口的型号;
[0125] 基于所述待配置总线接口的型号,从所述总线接口配置系统中存储的多个处理程序中,选取到与所述待配置总线接口的型号相对应的目标处理程序,其中,每个所述处理程序用于支持不同型号的总线接口;
[0126] 将所述目标处理程序配置为所述待配置总线接口的处理程序。
[0127] 其中一种可能的实现方式中,所述总线接口配置系统中还包含每个所述处理程序与其可支持总线接口的型号的对应关系,当上述指令被上述设备执行时,使得上述设备执行所述基于所述待配置总线接口的型号,从所述总线接口配置系统中存储的多个处理程序中,选取到与所述待配置总线接口的型号相对应的目标处理程序,包括:
[0128] 根据所述对应关系,从多个所述处理程序中,选取与所述待配置总线接口的型号相对应的目标处理程序。
[0129] 其中一种可能的实现方式中,所述待配置总线接口的型号中包含控制模式、传输数据的工作模式、处理器类型以及接口类型,所述处理程序包括第一处理程序、第二处理程序、第三处理程序以及第四处理程序,当上述指令被上述设备执行时,使得上述设备执行所述基于所述待配置总线接口的型号,从所述总线接口配置系统中存储的多个处理程序中,选取到与所述待配置总线接口的型号相对应的目标处理程序,包括:
[0130] 基于所述待配置总线接口的控制模式,从多个所述第一处理程序中,选取到目标第一处理程序,所述目标第一处理程序用于支持所述待配置总线接口的控制模式;
[0131] 基于所述待配置总线接口传输数据的工作模式,从多个所述第二处理程序中,选取到目标第二处理程序,所述目标第二处理程序用于支持所述待配置总线接口传输数据的工作模式;
[0132] 基于所述待配置总线接口的处理器类型,从多个所述第三处理程序中,选取到目标第三处理程序,所述目标第三处理程序用于支持所述待配置总线接口的处理器类型;
[0133] 基于所述待配置总线接口的接口类型,从多个所述第四处理程序中,选取到目标第四处理程序,所述目标第四处理程序用于支持所述待配置总线接口的接口类型。
[0134] 其中一种可能的实现方式中,多个所述处理程序根据其可支持的总线接口型号通过宏定义的方式进行区分。
[0135] 其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备还执行:
[0136] 监测所述待配置总线接口的型号变化;
[0137] 若监测到所述待配置总线接口的型号从第一型号转变为第二型号,则将为所述待配置总线接口配置的与所述第一型号对应的处理程序切换为与所述第二型号对应的处理程序。
[0138] 其中一种可能的实现方式中,所述总线接口配置系统中还包含双口存储器,当上述指令被上述设备执行时,使得上述设备还执行:
[0139] 获取接收到的多种类型的日志信息;
[0140] 将所述日志信息写入所述双口存储器中,所述双口存储器中设置的标志位,所述标志位用于标志待输出日志信息的类型;
[0141] 根据所述双口存储中设置的标志位,读取并输出由所述标志位标志类型的日志信息。
[0142] 其中一种可能的实现方式中,所述总线接口配置系统中还包含串口和/或存储模块,当上述指令被上述设备执行时,使得上述设备执行所述输出由所述标志位标志类型的日志信息,包括:
[0143] 将由所述标志位标志类型的日志信息输出至所述串口和/或所述存储模块中。
[0144] 图8所示的电子设备可以是终端设备或服务器也可以是内置于上述终端设备或服务器的电路设备。该设备可以用于执行本申请图7所示实施例提供的总线接口配置方法中的功能/步骤。
[0145] 如图8所示,电子设备900包括处理器910和存储器920。其中,处理器910和存储器920之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器920用于存储计算机程序,该处理器910用于从该存储器920中调用并运行该计算机程序。
[0146] 上述存储器920可以是只读存储器(read‑only memory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read‑only memory,EEPROM)、只读光盘(compact disc read‑only memory,CD‑ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。
[0147] 上述处理器910可以和存储器920可以合成一个处理装置,更常见的是彼此独立的部件,处理器910用于执行存储器920中存储的程序代码来实现上述功能。具体实现时,该存储器920也可以集成在处理器910中,或者,独立于处理器910。
[0148] 应理解,图8所示的电子设备900能够实现本申请图7所示实施例提供的方法的各个过程。电子设备900中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见本申请图7所示方法实施例中的描述,为避免重复,此处适当省略详细描述。
[0149] 除此之外,为了使得电子设备900的功能更加完善,该电子设备900还可以包括摄像头930、电源940、输入单元950等中的一个或多个。
[0150] 可选地,电源950用于给电子设备中的各种器件或电路提供电源。
[0151] 应理解,图8所示的电子设备900中的处理器910可以是片上系统SOC,该处理器910中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等。
[0152] 总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器920中。
[0153] 本申请还提供一种电子设备,所述设备包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现本申请图7所示实施例提供的方法。
[0154] 以上各实施例中,涉及的处理器可以例如包括CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural‑network Process Units;以下简称:NPU)和图像信号处理器(Image Signal Processing;以下简称:ISP),该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如ASIC,或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。
[0155] 本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请图7所示实施例提供的方法。
[0156] 本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请图7所示实施例提供的方法。
[0157] 本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0158] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0159] 在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0160] 以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
[0161] 本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明。本发明的优势已经完整并适用地实现。本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。