一种提高软硬件协同开发速度的方法及装置
文献发布时间:2023-06-19 11:16:08
技术领域
本发明属于计算机软件开发技术领域,具体地涉及一种提高软硬件协同开发速度的方法及装置。
背景技术
现有技术中,软件、硬件、逻辑协同开发,效率较低,主要原因在于逻辑硬件工程师,不熟悉软件编译语言,因此存在如下问题:
(1)硬件的功能,由逻辑或软件工程师在调试;
(2)逻辑的功能,由软件工程师在调试。
由于以上原因,导致整个项目开发流程无法并发,组间接口文档输出后,协调开发调试效率低,导致项目周期拉长。
发明内容
本发明提供一种提高软硬件协同开发速度的方法及装置,解决现有技术中软件、硬件、逻辑协同开发,调试效率较低等问题。
在本发明的第一方面,提供一种提高软硬件协同开发速度的方法,包括:
(1)软件分层开发,每层均可由测试程序调用;
(2)测试程序提供命令及脚本方式访问途径,实现通过命令及脚本方式对软件的调试;
(3)硬件工程师和逻辑工程师根据调试需求编写测试脚本,测试程序调用测试脚本进行功能调试,实现软件工程师负责软件功能方面的调试,逻辑工程师负责逻辑功能方面的调试,硬件负责工程师硬件功能方面的调试。
具体地,所述测试程序提供命令及脚本方式访问途径,实现通过命令及脚本方式对软件的调试的具体方法为:软件调试时,硬件工程师、软件工程师以及逻辑工程师编写对硬件功能、软件功能以及逻辑功能的测试脚本并输入测试程序;测试程序对硬件工程师和逻辑工程师输出的测试脚本进行解析,将测试命令放置至程序测试命令列表中;测试程序根据解析的测试命令执行调试各项功能。
具体地,所述测试程序通过其内设置的脚本解析模块对输出的测试脚本进行解析。
具体地,所述测试程序执行所述测试命令的具体方法为:根据测试命令创建多线程并执行多线程。
在本发明的第二方面,提供提高软硬件协同开发速度的装置,包括:
测试脚本编写模块,由逻辑工程师、硬件工程师以及软件工程师根据调试需要编写测试脚本,调试逻辑功能、硬件功能以及软件功能;
测试程序,用于提供命令及脚本方式访问途径,即对测试脚本进行解析并执行测试命令;
功能模块,用于实现软件的通信、驱动和业务功能;
以及硬件板卡。
在本发明的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如本发明第一方面所述的方法。
在本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如本发明第一方面所述的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
本发明有益效果:本发明提供一种提高软硬件协同开发速度的方法及装置,针对逻辑硬件工程师不熟悉软件编译语言,脚本语言上手较容易的情况,逻辑和硬件工程师可以通过自定义脚本语言,在项目开发过程中,自我完成逻辑及硬件功能测试,即软件工程师调试软件功能时,逻辑工程师可以同时调试逻辑功能,硬件工程师可以同时调试硬件功能,最后再集成测试,提高协同开发效率,缩短项目开发周期,提高产品稳定性;解决了硬件或逻辑工程师,自己没法调试其负责的功能,以及软件工程师过度关心底层功能实现,调试难度变大等问题。
附图说明
图1为本发明提高软硬件协同开发速度的装置及方法的结构示意图;
图2为本发明提高软硬件协同开发速度的装置及方法的一个实施例的结构示意图;
图3为本发明提高软硬件协同开发速度的装置及方法的另一个实施例的结构示意图;
图4为本发明提高软硬件协同开发速度的装置及方法实施例的整体细化结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A 和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明通过脚本和命令集方式,为逻辑工程师及硬件工程师,提供功能测试方法。
图1示出了本发明实施例的提高软硬件协同开发速度的方法及装置的示意图。
如图1所示,所述提高软硬件协同开发速度的装置包括测试程序、软件功能层、逻辑功能层、硬件驱动接口层、系统接口层、FPGA(现场可编程门阵列)以及HW(HW指硬件),软件分层开发,软件工程师、逻辑工程师和硬件工程师分别编写软件测试脚本、逻辑测试脚本和硬件测试脚本输入测试程序,测试程序分别与软件功能层、逻辑驱动层、硬件驱动接口层以及系统接口层相连接,软件功能层、逻辑驱动接口层、硬件驱动接口层以及系统接口层依次相连接,逻辑驱动接口层与FPGA模块相连接,硬件驱动接口层与HW功能模块相连接,通过测试程序调用测试脚本实现软件、逻辑和硬件的功能测试。
利用上述装置提高软硬件协同开发速度的方法,包括:
(1)软件分层开发,每层均可由测试程序调用;
(2)测试程序提供命令及脚本方式访问途径,实现通过命令及脚本方式对软件的调试;
(3)硬件工程师和逻辑工程师根据调试需求编写测试脚本,测试程序调用测试脚本进行功能调试,实现软件工程师负责软件功能方面的调试,逻辑工程师负责逻辑功能方面的调试,硬件负责工程师硬件功能方面的调试。
具体地,所述测试程序提供命令及脚本方式访问途径,实现通过命令及脚本方式对软件的调试的具体方法为:软件调试时,硬件工程师、软件工程师以及逻辑工程师编写对硬件功能、软件功能以及逻辑功能的测试脚本并输入测试程序;测试程序对硬件工程师和逻辑工程师输出的测试脚本进行解析,将测试命令放置至程序测试命令列表中;测试程序根据解析的测试命令执行调试各项功能。
具体地,所述测试程序通过其内设置的脚本解析模块对输出的测试脚本进行解析。
具体地,所述测试程序执行所述测试命令的具体方法为:根据测试命令创建多线程并执行多线程。
图2示出了本发明另一个实施例的提高软硬件协同开发速度的方法及装置的示意图。
如图2所示,提高软硬件协同开发速度的装置,包括测试脚本、测试程序、功能模块程序以及硬件板卡,测试脚本由工程师根据需要进行编写,测试程序包括脚本&命令解析模块以及解析后业务命令、驱动命令和通信级命令,功能模块程序包括业务模块、驱动模块和通信级模块,硬件板卡包括 FPGA功能模块和FPGA通信模块。
利用上述方法提高软硬件协同开发速度方法为:
(1)软件分层开发,每层都可以通过测试程序调用;
(2)测试程序提供命令及脚本方式访问途径;
(3)软件工程师开发“测试程序”的“通信”命令,提供测试命令集至测试人员,测试人员可以通过命令及脚本,经由“通信级模块”测试FPGA通信模块【图2中1.0→1.1】。
(4)软件工程师开发“测试程序”的“驱动”命令”,提供测试命令集至测试人员,测试人员可以通过命令及脚本,进行以下操作:
a、经由“通信模块”,测试FPGA功能模块【图2中2.1→1.0】;
b、软件同步开发“驱动模块”【图2中2.0】;
c、经由“驱动模块”,测试FPGA功能模块【图2中2.2→1.0】。
(5)软件工程师开发“测试程序”的“业务”命令,提供测试命令集至测试人员,测试人员可以通过命令及脚本;
a、经由“驱动模块”,测试FPGA功能模块【图2中3.1→2.0】;
b、软件工程师同步开发“业务模块”【图2中3.0】;
c、经由“业务模块”,测试FPGA功能模块【图2中3.2→3.0】。
图3示出了本发明另一个实施例的提高软硬件协同开发速度的方法及装置的示意图。
如图3所示,所述提高软硬件协同开发速度的装置,包括测试脚本、测试程序和功能模块,测试脚本由工程师根据需要编写,测试程序的脚本解析模块提供测试脚本解析功能,将相关测试命令放至测试命令列表中并创建多线程,通过执行多线程,实现对功能模块的测试。
利用上述装置提高软硬件协同开发速度方法为:
(1)编写测试脚本,脚本中可包含线程信息及测试命令;
线程ID:#%d;
测试命令:CMD0,CMD1,CMD2…。
(2)测试命令中的“脚本解析模块”解析输出的脚本,将相关测试执行命令放置至程序测试命令列表中;
Cmdlist[th]={CMDData0,CMDData1,CMDData2,…};
CMDX转换至CMDDataX,
(3)测试程序创建多线程;
(4)执行多线程,每个线程将会把Cmdlist所有命令,直接调用“功能模块”接口,实现并行接口访问;
(5)各任务结束后,程序将各线程关闭。
用于实施本发明的方法的程序代码可以采用一种或多种编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
- 一种提高软硬件协同开发速度的方法及装置
- 一种提高速度锁定器触发速度和锁定力的方法及装置