公开/公告号CN114911531A
专利类型发明专利
公开/公告日2022-08-16
原文格式PDF
申请/专利权人 苏州佳世达电通有限公司;
申请/专利号CN202210493826.0
发明设计人 贝蓉;
申请日2022-04-28
分类号G06F9/4401(2018.01);G06F9/455(2006.01);
代理机构
代理人
地址 215011 江苏省苏州市高新区珠江路169号
入库时间 2023-06-19 16:23:50
法律状态公告日
法律状态信息
法律状态
2022-09-02
实质审查的生效 IPC(主分类):G06F 9/4401 专利申请号:2022104938260 申请日:20220428
实质审查的生效
技术领域
本发明涉及电子技术领域,尤其涉及一种硬件环境模拟方法及硬件环境模拟系统。
背景技术
设备识别码(Project ID)用来识别不同的设备,根据设备识别码以及设备的版本号(Board ID),软件可以识别出当前的硬件环境和硬件版本,从而给设备加载或安装相应的驱动程序。
在版本变种、测试软件系统和程序功能时,开发者需要预先准备对应的硬件设备。在硬件设备没有准备好的情况下,无法验证软件的应用和功能。对于软件工程师,特别是对于投入、项目研发周期敏感类开发者而言,降低了工作效率,增加了整个开发流程的周期。
发明内容
本发明的目的是为了解决现有技术中需要部署对应设备才可实现对软件系统开发、验证所导致的开发过程复杂、开发周期长等问题,而提出的一种硬件环境模拟方法及硬件环境模拟系统。
为实现上述目的,本发明采用了如下技术方案:一种硬件环境模拟方法,用于将设备端模拟成可供应用端识别的目标设备。该硬件环境模拟方法包括以下步骤:
将对应于设备端的原始硬件识别信息存储于设备端;
将原始硬件识别信息修改为目标硬件识别信息,目标硬件识别信息用以供应用端将设备端识别为目标设备;
通过设备端将存储的目标硬件识别信息传递给应用端。
较佳地,步骤“将原始硬件识别信息修改为目标硬件是被信息”包括以下步骤:
通过设备端接收应用端传递的修改命令信息;
设备端根据修改命令信息将原始硬件识别信息修改为目标硬件识别信息。
进一步地,还包括以下步骤:
在设备端加载/安装驱动程序,验证软件功能。
再进一步地,在步骤“将原始硬件识别信息修改为目标硬件识别信息”之前还包括步骤:通过设备端将存储的原始硬件识别信息传递给应用端;
在步骤“在设备端加载/安装驱动程序,验证软件功能”之后还包括步骤:通过设备端接收应用端传递的清除命令信息,清除命令信息包括原始硬件识别信息;设备端根据清除命令信息将存储的目标硬件识别信息重置为原始硬件识别信息。
较佳地,步骤“将原始硬件识别信息修改为目标硬件识别信息”中,通过应用端直接将设备端存储的原始硬件识别信息修改为目标硬件识别信息。
较佳地,原始硬件识别信息包括设备端的设备识别码和/或设备版本号,目标硬件识别信息包括目标设备的设备识别码和/或设备版本号。
本发明另一方面的一种硬件环境模拟系统,用于将设备端模拟成可供应用端识别的目标设备。该硬件环境模拟系统包括:
存储模块,用于存储对应于设备端的原始硬件识别信息;
修改模块,用于将存储模块存储的原始硬件识别信息修改为目标硬件识别信息,目标硬件识别信息用以供应用端将设备端识别为目标设备;
传输模块,用于将存储模块存储的目标硬件识别信息传递给应用端。
较佳地,修改模块还用于接收应用端传递的修改命令信息,并根据修改命令信息将存储模块存储的原始硬件识别信息修改为目标硬件识别信息。
进一步地,该硬件环境模拟系统还包括验证模块,验证模块用于在设备端加载/安装驱动程序,验证软件功能。
再进一步地,传输模块还用于将存储模块存储的原始硬件识别信息传递给应用端;该硬件环境模拟系统还包括清除模块,清除模块用于接收应用端传递的清除命令信息,并根据清除命令信息将存储模块存储的目标硬件识别信息重置为原始硬件识别信息;其中,清除命令信息包含原始硬件识别信息。
较佳地,修改模块还用于使应用端直接将存储模块存储的原始硬件识别信息修改为目标硬件识别信息。
较佳地,原始硬件识别信息包括设备端的设备识别码和/或设备版本号,目标硬件识别信息包括目标设备的设备识别码和/或设备版本号。
与现有技术相比,本发明的有益效果为:通过将原始硬件识别信息修改为目标硬件识别信息,从而使应用端能够将设备端识别为目标设备,实现将设备端的实际硬件环境模拟成目标硬件环境,在没有对应的硬件设备的情况下,进行仿真验证软件功能,实现软件的复用,缩短软件开发周期,提高软件开发效率。
附图说明
图1为本发明一实施例的一种硬件环境模拟方法的流程示意图;
图2为本发明另一实施例的一种硬件环境模拟方法的流程示意图;
图3为本发明再一实施例的一种硬件环境模拟方法的流程示意图;
图4为本发明一实施例的一种硬件环境模拟系统的结构示意图;
图5为本发明另一实施例的一种硬件环境模拟系统的结构示意图;
图6为本发明再一实施例的一种硬件环境模拟系统的结构示意图。
具体实施方式
为使对本发明的目的、构造、特征、及其功能有进一步的了解,兹配合实施例详细说明如下。
请参见图1,本发明的一种硬件环境模拟方法,用于将设备端模拟成可供应用端识别的目标设备。该硬件环境模拟方法包括以下步骤:
S12.存储步骤,将对应于设备端的原始硬件识别信息存储于设备端。
原始硬件识别信息包括设备端的设备识别码和/或设备版本号,以使应用端能够识别设备端,从而在设备端的实际硬件环境下验证软件功能。
S14.修改步骤,将设备端存储的原始硬件识别信息修改为目标硬件识别信息,目标硬件识别信息用以供应用端将设备端识别为目标设备。
目标硬件识别信息是根据目标设备设置的,目标硬件识别信息包括目标设备的设备识别码和/或设备版本号,将设备端存储的原始硬件识别信息修改为目标硬件识别信息,以使应用端能够将设备端识别为目标设备,从而实现将设备端的实际硬件环境模拟成目标硬件环境,在没有对应的硬件设备的情况下,进行仿真验证软件功能,实现软件的复用。
S16.传输步骤,通过设备端将存储的目标硬件识别信息传递给应用端。
应用端根据目标硬件识别信息将设备端识别为目标设备,从而在模拟的目标硬件环境下进行仿真验证软件功能。
请参见图2,图2为本发明另一实施例的一种硬件环境模拟方法的流程示意图。在该实施例中,应用端没有权限和能力直接对设备端进行操作,需要设备端来完成相应的操作,因而,修改步骤包括以下步骤:
S141.第一接收步骤,通过设备端接收应用端传递的修改命令信息;
S142.修改执行步骤,设备端根据修改命令信息将存储的原始硬件识别信息修改为目标硬件识别信息。
当设备端将目标硬件识别信息传递给应用端使应用端将设备端识别为目标设备后,即可在模拟的目标硬件环境下进行仿真验证软件功能,因而,在传输步骤之后,还包括以下步骤:
S17.验证步骤,在设备端加载/安装驱动程序,验证软件功能。
为了使验证步骤结束后,设备端能够恢复其对应的原始硬件识别信息,保证设备端自身的正常使用,在存储步骤之后、修改步骤之前,还包括步骤:
S13.第一传输步骤,通过设备端将存储的原始硬件识别信息传递给应用端,以在应用端存储原始硬件识别信息,为后续设备端恢复其对应的原始硬件识别信息提供保证。
由于应用端存储有原始硬件识别信息,在验证软件功能结束后,应用端将原始硬件识别信息传递回设备端即可为设备端恢复其对应的原始硬件识别信息提供方便,因而,在验证步骤之后,还包括步骤:
S181.第二接收步骤,通过设备端接收应用端传递的清除命令信息,清除命令信息包括原始硬件识别信息;
S182.清除执行步骤,设备端根据清除命令信息将存储的目标硬件识别信息重置为原始硬件识别信息。
综上,该实施例的硬件环境模拟方法包括以下步骤:
S12.存储步骤,将对应于设备端的原始硬件识别信息存储于设备端;
S13.第一传输步骤,通过设备端将存储的原始硬件识别信息传递给应用端;
S141.第一接收步骤,通过设备端接收应用端传递的修改命令信息;
S142.修改执行步骤,设备端根据修改命令信息将存储的原始硬件识别信息修改为目标硬件识别信息;
S16.传输步骤,通过设备端将存储的目标硬件识别信息传递给应用端;
S17.验证步骤,在设备端加载/安装驱动程序,验证软件功能;
S181.第二接收步骤,通过设备端接收应用端传递的清除命令信息,清除命令信息包括原始硬件识别信息;
S182.清除执行步骤,设备端根据清除命令信息将存储的目标硬件识别信息重置为原始硬件识别信息。
上述的硬件环境模拟方法可用于解决以下问题:
1.驱动调试阶段,在硬件未准备好的情况下,可验证依赖于硬件的功能;
2.硬件版本升级,增加新的功能,需要验证相对应的代码;
3.及时更改客户软件功能的需求。
在实际使用时,例如:
1.原始硬件识别信息存储在设备端的eMMC的一块特定分区中;
2.在Smem接口中增加read/write/clear功能块,ABL(Automatic BootstrapLoader,自动引导加载程序)阶段,通过write功能块将原始硬件识别信息修改为目标硬件识别信息;
3.通过read功能块读取目标硬件识别信息保存在Smem接口中,通过Smem接口将目标硬件识别信息传递给kernel(实时操作系统),kernel根据目标硬件识别信息,判断出硬件环境/版本,该硬件环境/版本对应于目标设备,该硬件环境/版本为模拟出的需求,而非设备端的实际硬件环境/版本;
4.加载和安装对应于目标设备的驱动程序;
5.验证软件功能。
需要说明的是,在传递方式方面,Smem接口只是一个示例,可为任意可用的传递方式;在进行修改操作和读取操作的阶段方面,并不局限于ABL阶段,目标硬件识别信息被使用前的任何阶段均可进行;在进行修改操作和读取操作的操作者方面,任何有访问权限的程序都可进行;在目标硬件识别信息的接收者方面,并不局限于kernel,任何需要使用目标硬件识别信息的程序,都可作为接收者。
请参见图3,图3为本发明再一实施例的一种硬件环境模拟方法的流程示意图。在该实施例中,应用端有权限和能力直接对设备端进行修改等操作。修改步骤S14’中,通过应用端直接将设备端存储的原始硬件识别信息修改为目标硬件识别信息。
与图2中实施例相对应地,在该实施例中,在验证步骤S17之后,还包括以下步骤:
S18.清除步骤,通过应用端直接将设备端存储的目标硬件识别信息重置为原始硬件识别信息。
请参见图4,本发明另一方面的一种硬件环境模拟系统,用于将设备端模拟成可供应用端识别的目标设备。该硬件环境模拟系统包括存储模块21、修改模块22和传输模块23,其中:
存储模块21,用于存储对应于设备端的原始硬件识别信息;
修改模块22,用于将存储模块21存储的原始硬件识别信息修改为目标硬件识别信息,目标硬件识别信息用以供应用端将设备端识别为目标设备;
传输模块23,用于将存储模块21存储的目标硬件识别信息传递给应用端。
原始硬件识别信息包括设备端的设备识别码和/或设备版本号,目标硬件识别信息包括目标设备的设备识别码和/或设备版本号,通过将原始硬件识别信息修改为目标硬件识别信息,从而使应用端能够将设备端识别为目标设备,实现将设备端的实际硬件环境模拟成目标硬件环境,在没有对应的硬件设备的情况下,进行仿真验证软件功能,实现软件的复用,缩短软件开发周期,提高软件开发效率。
请参见图5,图5为本发明另一实施例的一种硬件环境模拟系统的结构示意图。在该实施例中,应用端没有权限和能力直接对设备端进行修改等操作,该硬件环境模拟系统可以是设备端的一部分,也可以是设备端与应用端之间的连接部分。
修改模块22还用于接收应用端传递的修改命令信息,并根据修改命令信息将存储模块21存储的原始硬件识别信息修改为目标硬件识别信息。
该硬件环境模拟系统还包括验证模块24,验证模块24用于在应用端的控制下给设备端加载/安装驱动程序,验证软件功能。
为了使验证软件功能结束后,能够恢复设备端对应的原始硬件识别信息,传输模块23还用于将存储模块21存储的原始硬件识别信息传递给应用端;该硬件环境模拟系统还包括清除模块25,清除模块25用于接收应用端传递的清除命令信息,并根据清除命令信息将存储模块21存储的目标硬件识别信息重置为原始硬件识别信息;其中,清除命令信息包含原始硬件识别信息。
在实际使用时,例如,存储模块21为设备端的eMMC,修改模块22为Smem接口中增加的write功能块,传输模块23为Smem接口及其中增加的read功能块,清除模块25为Smem接口中增加的clear功能块,验证模块24为设备端的软件安装测试功能区等。
请参见图6,图6为本发明再一实施例的一种硬件环境模拟系统的结构示意图。在该实施例中,应用端有权限和能力直接对设备端进行修改等操作,修改模块22是应用端的一部分,存储模块21是设备端的一部分,此时,修改模块22还用于使应用端直接将存储模块21存储的原始硬件识别信息修改为目标硬件识别信息。
与图5中实施例相对应地,在该实施例中,传输模块23、验证模块24和清除模块25也是应用端的一部分,传输模块23用于使应用端直接获取存储模块21存储的原始硬件识别信息和目标硬件识别信息,验证模块24用于使应用端直接在设备端加载/安装驱动程序,验证软件功能,清除模块25用于使应用端直接将存储模块21存储的目标硬件识别信息修改为原始硬件识别信息。
本发明的一种硬件环境模拟方法及硬件环境模拟系统,通过将原始硬件识别信息修改为目标硬件识别信息,从而使应用端能够将设备端识别为目标设备,实现将设备端的实际硬件环境模拟成目标硬件环境,在没有对应的硬件设备的情况下,进行仿真验证软件功能,实现软件的复用,缩短软件开发周期,提高软件开发效率。
本发明已由上述相关实施例加以描述,然而上述实施例仅为实施本发明的范例。必需指出的是,已揭露的实施例并未限制本发明的范围。相反地,在不脱离本发明的精神和范围内所作的更动与润饰,均属本发明的专利保护范围。
机译: 验证用于执行至少一种硬件的执行环境的方法-由可配置的硬件模块提供的应用
机译: 验证用于可配置硬件模块提供的至少一种硬件应用程序执行环境的方法
机译: 在硬件应用程序组件运行时进行验证的方法,一种由可配置硬件模块提供的执行环境的当前配置集