一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种硬件仿真方法、装置、设备及介质与流程

2022-08-08 11:19:05 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,特别涉及一种硬件仿真方法、装置、设备及介质。


背景技术:

2.目前,在嵌入式模拟中qemu是一个非常强大的模拟器,支持多种架构,可以模拟出x86(the x86 architecture)、amd、powerpc(performance optimization with enhanced risc

performance computing)等多种架构,但qemu对windows的支持不够友好,对不常用框架也不支持。因此不常用芯片或自研芯片的嵌入式调试常常只能在嵌入式硬件上进行。
3.由上可见,在硬件仿真的过程中,如何降低硬件调试的复杂度,有效提高硬件调试的灵活性,增加硬件调试的效率,并降低硬件调试成本是本领域有待解决的问题。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种硬件仿真方法、装置、设备及介质,能够降低硬件调试的复杂度,有效提高硬件调试的灵活性,增加硬件调试的效率,并降低硬件调试成本。其具体方案如下:
5.第一方面,本技术公开了一种硬件仿真方法,包括:
6.通过不同的线程分别创建具备不同硬件仿真功能的仿真模块;
7.确定出待仿真嵌入式硬件的各目标硬件功能,根据所述各目标硬件功能从所述仿真模块中确定出各目标仿真模块,并利用所述各目标仿真模块构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口;
8.根据所述各目标硬件功能确定出各目标仿真程序,并将所述各目标仿真程序导入至所述各目标仿真模块,以便利用所述各目标仿真程序运行所述各仿真硬件和所述各仿真接口。
9.可选的,所述通过不同的线程分别创建具备不同硬件仿真功能的仿真模块,包括:
10.通过不同的线程分别创建各仿真模块,并根据业务需求确定出所述各仿真模块的功能;
11.利用预设工具创建方法并基于所述仿真模块的功能为所述仿真模块添加相应的仿真工具,并将所述仿真工具保存至所述仿真模块;
12.相应的,所述利用所述各目标仿真模块构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口,包括:
13.利用所述各目标仿真模块中的仿真工具构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口。
14.可选的,所述根据所述各目标硬件功能从所述仿真模块中确定出各目标仿真模块之后,还包括:
15.确定出所述待仿真嵌入式硬件中的cpu数量,并根据所述cpu数量确定出主线程的数量以得到目标主线程,以利用所述目标主线程运行所述各仿真模块;
16.并且,所述将所述各目标仿真程序导入至所述各目标仿真模块,包括:
17.从预先建立的所有副线程中确定出目标副线程;
18.利用所述目标副线程将所述各目标仿真程序导入至所述各目标仿真模块。
19.可选的,所述从预先建立的所有副线程中确定出目标副线程,包括:
20.通过面向用户的预设筛选接口从预先建立的所有副线程中筛选出将所述各目标仿真程序导入至所述各目标仿真模块时所需的目标副线程;
21.或,通过随机筛选方式从预先建立的所有副线程中筛选出将所述各目标仿真程序导入至所述各目标仿真模块时所需的目标副线程。
22.可选的,所述将所述各目标仿真程序导入至所述各目标仿真模块,包括:
23.利用预设程序输入接口获取与所述各目标硬件功能相应的所述各目标仿真程序,并将所述各目标仿真程序保存至所述各仿真模块;
24.或者,获取其他所述仿真模块中已导入的仿真程序,以得到所述各目标仿真程序,并将所述各目标仿真程序保存至所述各仿真模块。
25.可选的,所述硬件仿真方法,还包括:
26.为所有的所述仿真模块添加数据接口;
27.通过业务需求和所述数据接口对所述各目标仿真模块中的数据信息进行查看或修改。
28.可选的,所述利用所述各目标仿真程序运行所述各仿真硬件和所述各仿真接口之后,还包括:
29.利用预设信息获取接口获取待测试自动化数据信息,并根据所述待测试自动化数据信息确定出待测试数据以及从所述各目标仿真模块中确定出相应的待测试仿真模块;
30.将所述待测试数据导入至所述待测试仿真模块并运行,以便得到自动化测试结果。
31.第二方面,本技术公开了一种硬件仿真装置,包括:
32.仿真模块创建模块,用于通过不同的线程分别创建具备不同硬件仿真功能的仿真模块;
33.仿真硬件构建模块,用于确定出待仿真嵌入式硬件的各目标硬件功能,根据所述各目标硬件功能从所述仿真模块中确定出各目标仿真模块,并利用所述各目标仿真模块构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口;
34.仿真硬件运行模块,用于根据所述各目标硬件功能确定出各目标仿真程序,并将所述各目标仿真程序导入至所述各目标仿真模块,以便利用所述各目标仿真程序运行所述各仿真硬件和所述各仿真接口。
35.第三方面,本技术公开了一种电子设备,包括:
36.存储器,用于保存计算机程序;
37.处理器,用于执行所述计算机程序,以实现前述的硬件仿真方法。
38.第四方面,本技术公开了一种计算机存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的硬件仿真方法的步骤。
39.可见,本技术提供了一种硬件仿真方法,包括通过不同的线程分别创建具备不同硬件仿真功能的仿真模块;确定出待仿真嵌入式硬件的各目标硬件功能,根据所述各目标
硬件功能从所述仿真模块中确定出各目标仿真模块,并利用所述各目标仿真模块构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口;根据所述各目标硬件功能确定出各目标仿真程序,并将所述各目标仿真程序导入至所述各目标仿真模块,以便利用所述各目标仿真程序运行所述各仿真硬件和所述各仿真接口。本技术通过不同的线程创建不同的仿真模块对待仿真嵌入式硬件进行模拟以得到与待仿真嵌入式硬件功能相同的各仿真硬件和各仿真接口,能够有效降低硬件调试的复杂度,提高硬件调试的灵活性,利用各仿真硬件和各仿真接口进行硬件调试,能够有效增加硬件调试的效率,并降低硬件调试成本。
附图说明
40.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
41.图1为本技术公开的一种硬件仿真方法流程图;
42.图2为本技术公开的一种硬件仿真方法流程图;
43.图3为本技术公开的一种硬件仿真装置结构示意图;
44.图4为本技术提供的一种电子设备结构图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.在当前背景下,qemu是一个非常强大的模拟器,支持多种架构,可以模拟出x86(the x86 architecture)、amd、powerpc(performance optimization with enhanced risc

performance computing)等多种架构,但qemu对windows的支持不够友好,对不常用框架也不支持。因此不常用芯片或自研芯片的嵌入式调试常常只能在嵌入式硬件上进行。由上可见,在硬件仿真的过程中,如何降低硬件调试的复杂度,有效提高硬件调试的灵活性,增加硬件调试的效率,并降低硬件调试成本是本领域有待解决的问题。
47.参见图1所示,本发明实施例公开了一种硬件仿真方法,具体可以包括:
48.步骤s11:通过不同的线程分别创建具备不同硬件仿真功能的仿真模块。
49.本实施例中,通过不同的线程分别创建各仿真模块,并根据业务需求确定出所述各仿真模块的功能;利用预设工具创建方法并基于所述仿真模块的功能为所述仿真模块添加相应的仿真工具,并将所述仿真工具保存至所述仿真模块。
50.步骤s12:确定出待仿真嵌入式硬件的各目标硬件功能,根据所述各目标硬件功能从所述仿真模块中确定出各目标仿真模块,并利用所述各目标仿真模块构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口。
51.本实施例中,确定出待仿真嵌入式硬件的各目标硬件功能,然后确定出所述待仿真嵌入式硬件中的cpu数量,并根据所述cpu数量确定出主线程的数量以得到目标主线程,
以利用所述目标主线程运行所述各仿真模块,然后根据所述各目标硬件功能从所述仿真模块中确定出各目标仿真模块,并利用所述各目标仿真模块构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口。
52.步骤s13:根据所述各目标硬件功能确定出各目标仿真程序,并将所述各目标仿真程序导入至所述各目标仿真模块,以便利用所述各目标仿真程序运行所述各仿真硬件和所述各仿真接口。
53.本实施例中,根据所述各目标硬件功能确定出各目标仿真程序之后,从预先建立的所有副线程中确定出目标副线程,然后利用所述目标副线程将所述各目标仿真程序导入至所述各目标仿真模块,以便利用上述各目标仿真模块中的仿真工具构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口。
54.本实施例中,从预先建立的所有副线程中确定出目标副线程的方法有以下两种,包括:通过面向用户的预设筛选接口从预先建立的所有副线程中筛选出将所述各目标仿真程序导入至所述各目标仿真模块时所需的目标副线程;或,通过随机筛选方式从预先建立的所有副线程中筛选出将所述各目标仿真程序导入至所述各目标仿真模块时所需的目标副线程。
55.本实施例中,通过不同的线程分别创建具备不同硬件仿真功能的仿真模块;确定出待仿真嵌入式硬件的各目标硬件功能,根据所述各目标硬件功能从所述仿真模块中确定出各目标仿真模块,并利用所述各目标仿真模块构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口;根据所述各目标硬件功能确定出各目标仿真程序,并将所述各目标仿真程序导入至所述各目标仿真模块,以便利用所述各目标仿真程序运行所述各仿真硬件和所述各仿真接口。本技术通过不同的线程创建不同的仿真模块对待仿真嵌入式硬件进行模拟以得到与待仿真嵌入式硬件功能相同的各仿真硬件和各仿真接口,能够有效降低硬件调试的复杂度,提高硬件调试的灵活性,利用各仿真硬件和各仿真接口进行硬件调试,能够有效增加硬件调试的效率,并降低硬件调试成本。
56.参见图2所示,本发明实施例公开了一种硬件仿真方法,具体可以包括:
57.步骤s21:通过不同的线程分别创建具备不同硬件仿真功能的仿真模块。
58.步骤s22:确定出待仿真嵌入式硬件的各目标硬件功能,根据所述各目标硬件功能从所述仿真模块中确定出各目标仿真模块,并利用所述各目标仿真模块构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口。
59.步骤s23:根据所述各目标硬件功能确定出各目标仿真程序,并将所述各目标仿真程序导入至所述各目标仿真模块。
60.步骤s24:利用预设信息获取接口获取待测试自动化数据信息,并根据所述待测试自动化数据信息确定出待测试数据以及从所述各目标仿真模块中确定出相应的待测试仿真模块,将所述待测试数据导入至所述待测试仿真模块并利用与所述待测试仿真模块相应的所述仿真程序运行所述待测试仿真模块,以得到自动化测试结果。
61.本实施例中,还可以包括,在通过不同的线程分别创建具备不同硬件仿真功能的仿真模块之后,为所有的所述仿真模块添加数据接口,然后通过业务需求和所述数据接口对所述各目标仿真模块中的数据信息进行查看或修改。
62.本实施例中,通过不同的线程分别创建具备不同硬件仿真功能的仿真模块;确定
出待仿真嵌入式硬件的各目标硬件功能,根据所述各目标硬件功能从所述仿真模块中确定出各目标仿真模块,并利用所述各目标仿真模块构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口;根据所述各目标硬件功能确定出各目标仿真程序,并将所述各目标仿真程序导入至所述各目标仿真模块;利用预设信息获取接口获取待测试自动化数据信息,并根据所述待测试自动化数据信息确定出待测试数据以及从所述各目标仿真模块中确定出相应的待测试仿真模块,将所述待测试数据导入至所述待测试仿真模块并利用与所述待测试仿真模块相应的所述仿真程序运行所述待测试仿真模块,以得到自动化测试结果。本技术通过不同的线程创建不同的仿真模块对待仿真嵌入式硬件进行模拟以得到与待仿真嵌入式硬件功能相同的各仿真硬件和各仿真接口,能够有效降低硬件调试的复杂度,提高硬件调试的灵活性,利用各仿真硬件和各仿真接口进行硬件调试,能够有效增加硬件调试的效率,并降低硬件调试成本。
63.例如,所述具备不同硬件仿真功能的仿真模块包括:消息调度模块、硬件加速模块、数据存储模块、人机交互模块等。消息调度模块负责各模块间消息调度,实现模块间消息传输。硬件加速模块模拟处理器硬件外设和嵌入式硬件单元独立于cpu(中央处理器,central processing unit)运行,解决嵌入式应用程序需要访问硬件外设资源问题,实现嵌入式硬件接口或硬件加速等功能,硬件模拟单元通过与硬件驱动接口一致的接口来实现数据交互,确保应用程序可以直接移植到硬件平台。数据存储模块可以保存系统数据和log等,支持文件存储、二进制数据存储、也可以移植嵌入式数据库。因为脱离了嵌入式硬件,任何系统运行状态或数据都可以方便直接查看修改。人机交互模块主要实现人机交互,支持不同输入命令或数据,接收保存软件运行结果等,并且支持主流的输入输出设备,满足嵌入式平台的各种数据输出需求,并可以直接与第三方测试软件对接进行数据交互。通过仿真模块脱离嵌入式设备,独立在pc(个人计算机,personal computer)上进行调试,而pc上可以有更多方法和更多工具对bug进行定位,并且可以移植各种开源测试框架进行自动化测试。
64.参见图3所示,本发明实施例公开了一种硬件仿真装置,具体可以包括:
65.仿真模块创建模块11,用于通过不同的线程分别创建具备不同硬件仿真功能的仿真模块;
66.仿真硬件构建模块12,用于确定出待仿真嵌入式硬件的各目标硬件功能,根据所述各目标硬件功能从所述仿真模块中确定出各目标仿真模块,并利用所述各目标仿真模块构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口;
67.仿真硬件运行模块13,用于根据所述各目标硬件功能确定出各目标仿真程序,并将所述各目标仿真程序导入至所述各目标仿真模块,以便利用所述各目标仿真程序运行所述各仿真硬件和所述各仿真接口。
68.本实施例中,通过不同的线程分别创建具备不同硬件仿真功能的仿真模块;确定出待仿真嵌入式硬件的各目标硬件功能,根据所述各目标硬件功能从所述仿真模块中确定出各目标仿真模块,并利用所述各目标仿真模块构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口;根据所述各目标硬件功能确定出各目标仿真程序,并将所述各目标仿真程序导入至所述各目标仿真模块,以便利用所述各目标仿真程序运行所述各仿真硬件和所述各仿真接口。本技术通过不同的线程创建不同的仿真模块对待仿真嵌入式硬件进行
模拟以得到与待仿真嵌入式硬件功能相同的各仿真硬件和各仿真接口,能够有效降低硬件调试的复杂度,提高硬件调试的灵活性,利用各仿真硬件和各仿真接口进行硬件调试,能够有效增加硬件调试的效率,并降低硬件调试成本。
69.在一些具体实施例中,所述仿真模块创建模块11,具体可以包括:
70.仿真模块创建模块,用于通过不同的线程分别创建各仿真模块,并根据业务需求确定出所述各仿真模块的功能;
71.仿真工具添加模块,用于利用预设工具创建方法并基于所述仿真模块的功能为所述仿真模块添加相应的仿真工具,并将所述仿真工具保存至所述仿真模块。
72.在一些具体实施例中,所述仿真硬件构建模块12,具体可以包括:
73.述仿真硬件构建模块,用于利用所述各目标仿真模块中的仿真工具构建出与所述各目标硬件功能相同的各仿真硬件和各仿真接口。
74.在一些具体实施例中,所述仿真硬件构建模块12,具体可以包括:
75.目标主线程确定模块,用于确定出所述待仿真嵌入式硬件中的cpu数量,并根据所述cpu数量确定出主线程的数量以得到目标主线程,以利用所述目标主线程运行所述各仿真模块。
76.在一些具体实施例中,所述仿真硬件运行模块13,具体可以包括:
77.目标副线程确定模块,用于从预先建立的所有副线程中确定出目标副线程;
78.目标仿真程序导入模块,用于利用所述目标副线程将所述各目标仿真程序导入至所述各目标仿真模块。
79.在一些具体实施例中,所述目标仿真程序导入模块,具体可以包括:
80.接口导入模块,用于利用预设程序输入接口获取与所述各目标硬件功能相应的所述各目标仿真程序,并将所述各目标仿真程序保存至所述各仿真模块;
81.其他仿真模块导入模块,用于获取其他所述仿真模块中已导入的仿真程序,以得到所述各目标仿真程序,并将所述各目标仿真程序保存至所述各仿真模块。
82.在一些具体实施例中,所述目标副线程确定模块,具体可以包括:
83.筛选模块,用于通过面向用户的预设筛选接口从预先建立的所有副线程中筛选出将所述各目标仿真程序导入至所述各目标仿真模块时所需的目标副线程;
84.随机筛选模块,用于通过随机筛选方式从预先建立的所有副线程中筛选出将所述各目标仿真程序导入至所述各目标仿真模块时所需的目标副线程。
85.在一些具体实施例中,所述仿真硬件运行模块13,具体可以包括:
86.数据接口添加模块,用于为所有的所述仿真模块添加数据接口;
87.数据查看模块,用于通过业务需求和所述数据接口对所述各目标仿真模块中的数据信息进行查看或修改。
88.在一些具体实施例中,所述仿真硬件运行模块13,具体可以包括:
89.数据信息获取模块,用于利用预设信息获取接口获取待测试自动化数据信息,并根据所述待测试自动化数据信息确定出待测试数据以及从所述各目标仿真模块中确定出相应的待测试仿真模块;
90.仿真运行模块,用于将所述待测试数据导入至所述待测试仿真模块并运行,以便得到自动化测试结果。
91.图4为本技术实施例提供的一种电子设备的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的硬件仿真方法中的相关步骤。
92.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
93.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
94.其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中数据223的运算与处理,其可以是windows、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的硬件仿真方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括硬件仿真设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
95.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
96.进一步的,本技术实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的硬件仿真方法步骤。
97.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
98.以上对本发明所提供的一种硬件仿真方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献