本发明涉及星务软件测试,尤其涉及一种针对星务软件的数字化仿真测试平台设计方法。
背景技术:
1、传统的星务软件测试模式通常依赖于真实的卫星硬件进行测试,这使得测试受到硬件开发周期的限制。在硬件系统设计完成后,才能对其上的软件程序进行测试。这种模式存在以下问题:
2、1.故障检测困难:由于必须在硬件实现后进行测试,这使得故障检测变得复杂。传统的测试方法通常依赖于手动测试和故障排查,这不仅耗时费力,而且容易出错。未经充分验证的程序可能直接导致硬件损坏,增加了故障检测的难度。
3、2.人机交互复杂:传统的测试方法涉及较为复杂的人机交互过程,需要大量的人工操作和配置。这增加了测试过程的复杂性和人力成本,降低了测试效率。
4、3.高昂的硬件成本:对于需要多人团队开发的复杂项目,由于需要多套硬件设备进行测试,因此开发成本相对较高。这给项目预算带来了一定的压力,增加了项目的经济风险。
5、4.工具链局限:目前数字卫星平台如vscode、tornado和eclipse等工具的协同开发,依赖于wind river公司的工具链技术。这些工具闭源且成本高,为后续的开发与维护带来了不便。这种对特定工具链的依赖限制了技术的可扩展性和灵活性。
技术实现思路
1、有鉴于此,本发明提出一种针对星务软件的数字化仿真测试平台设计方法,以解决现有技术中存在的星务软件测试效率低的问题。
2、本发明具体的技术方案如下:
3、一种针对星务软件的数字化仿真测试平台设计方法,包括以下步骤:
4、步骤1,使用qemu软件模拟星载软件的硬件环境,创造一个与真实硬件功能一样的数字化仿真环境,模拟cpu、内存、中断和其他外部设备,并修改启动加载器bootloader模块,使其能加载星载软件;
5、步骤2,基于目标架构,选择对应的交叉编译工具,在linux环境中配置编译器相关参数设置,以确保交叉编译的正确性和效率;利用该交叉编译工具链将星载软件代码生成为可运行于目标架构的二进制可执行文件;
6、步骤3,确认测试环境相关设备等配置正确,启动qemu数字化仿真测试环境,加载指定目标架构的可执行文件,进行星载软件用例测试及调试;
7、步骤4,采集并判断用例运行数据信息,以评估测试结果。
8、具体地,步骤1包括:步骤11,虚拟所需架构的处理器:选择或添加开发板;初始化硬件功能并建立基础模型;步骤12,配置添加所需设备:添加和配置基础设备;形成完整的开发板模型;步骤13,修改对应架构下的配置文件:修改qemu配置文件;重新编译qemu;检查开发板状态;步骤14,配置修改bootloader模块:修改bootloader模块;测试bootloader模块功能,若使用开发板加载bootloader模块,则重新编译qemu并测试模块功能,若使用u-boot,则直接测试模块功能。
9、具体地,步骤14中,用于支持后续硬件仿真模块的加载的方法为:依据星务代码中bootloader模块的配置参数,修改qemu中u-boot部分的配置,使其能加载硬件仿真模块。
10、具体地,步骤14中,用于支持后续硬件仿真模块的加载的方法为:用qemu加载星务软件的bootloader模块代码的二进制可执行文件,以取代qemu中的u-boot模块,模拟真实星上启动引导模块。
11、具体地,步骤2包括:步骤21,构建交叉编译工具链:安装与配置交叉编译工具链;配置编译环境与添加头文件库文件;步骤22,利用交叉编译工具链生成目标架构二进制可执行文件:利用交叉编译工具链进行预处理、编译与链接;生成目标架构二进制可执行文件;处理bootloader模块的交叉编译与兼容性。
12、具体地,步骤3包括:步骤31,环境配置与确认:修改开发板代码文件;确认设备配置与重新编译qemu;确认开发板添加的正确性;步骤32,启动qemu并加载目标架构二进制可执行文件:启动qemu;加载目标架构的二进制可执行文件;配置仿真环境参数;步骤33,调试目标架构二进制可执行文件:启动gdb调试器;连接远程调试服务器;执行调试操作;监测与分析数据信息。
13、具体地,步骤1执行如下:
14、第一,需求分析:明确星载软件测试需求和硬件环境,为后续的仿真工作提供指导;
15、第二,开发板选择与配置:选择或添加与目标架构匹配的开发板。
16、第三,创建处理器仿真框架:为qemu启动时加载开发板提供接口,包括初始化cpu、内存和外围设备;
17、第四,自定义文件添加与配置:将自定义文件添加到qemu的特定目录下,并对其进行配置,确保与目标架构匹配;
18、第五,构建与配置编译规则:修改构建系统配置文件,收集源文件,定义目标平台、构建规则,以确保正确的编译和链接;
19、第六,功能模块配置:通过meson.build文件以及kconfig文件配置qemu的各种编译选项和功能开关,满足特定的需求;
20、第七,开发板验证:编译qemu后,通过特定命令验证目标开发板是否正确添加;
21、第八,设备模拟与配置:根据实际硬件环境,对开发板中的设备进行模拟,并完成相关配置;
22、第九,中断控制器配置:在开发板自定义c文件中,设置中断控制器的相关参数,如中断号、触发方式;
23、第十,i/o设备配置:设置i/o端口号、地址范围以及注册i/o读写回调函数,确保i/o设备的正确操作;
24、第十一,重新编译与验证:完成所有设备配置后,重新编译qemu并检测目标开发板是否工作正常;
25、第十二,bootloader加载方式确定:根据实际情况选择bootloader的加载方式,修改qemu中的u-boot配置,或者交叉编译bootloader代码并生成bin文件供qemu加载。
26、具体地,步骤2执行如下:
27、第一,安装配置目标架构的交叉编译工具链:根据目标架构选择合适的工具链;下载工具链,利用buildroot进行外部工具链配置或使用buildroot内部工具链进行配置;
28、第二,配置交叉编译器、交叉链接器、交叉汇编器环境:确保工具链中包含目标架构所需的头文件和库文件;
29、第三,利用交叉编译工具链将星务软件代码生成为目标架构的二进制可执行文件。
30、具体地,第三包括:使用‘-gcc’命令编译c和c++代码,生成与目标处理器兼容的目标文件;使用‘-ld’命令进行链接,生成可执行文件或库;使用‘-ar’命令创建、修改和提取归档文件;使用‘-objcopy’命令从一种格式复制到另一种格式。
31、具体地,步骤3包括:第一,环境配置与验证:硬件需求分析:根据实际硬件需求,评估所需的配置和资源;c文件修改:根据星务软件代码中的地址分配信息,修改自定义开发板的c文件;重新编译qemu:验证配置的正确性,并重新编译qemu以确保开发板能够正确添加。
32、第二,qemu启动与参数设置:参数配置:在命令行中指定qemu的启动参数;输出设置:通过‘-nographic’参数,以无图形模式运行qemu,并将输出重定向到标准输出;调试与暂停:使用‘-s’参数启动时暂停cpu执行,使用‘-s’参数启动gdb服务器;
33、第三,gdb调试器使用与监测:gdb远程连接:在另一个终端中,使用‘targetremote’命令连接到远程调试服务器;调试操作:在gdb环境中执行常见的调试操作;数据监测与分析:记录和监测分析文件加载数据信息,确保软件在目标硬件上正常运行。
34、本发明的有益效果在于:
35、1.技术先进性:
36、全数字化仿真技术:采用qemu技术,能够模拟核心组件的行为,确保测试的准确性和可靠性。
37、自动化交叉编译:利用buildroot工具,简化了交叉编译的过程,提高了测试效率。
38、2.灵活性:
39、多架构支持:能够适应不同处理器架构,实现跨架构的测试。
40、配置选项丰富:提供了多种配置选项,测试人员可以根据需求进行灵活配置。
41、3.效率与成本效益:
42、高效测试:提高了测试的效率和灵活性,降低了开发维护成本。
43、低成本:通过数字化的方式进行测试,降低了硬件资源的使用成本。
44、4.实时监控与数据采集:
45、实时监控:可以实时收集软件的状态数据,帮助测试人员更好地了解软件的运行状态。
46、数据采集:支持功能测试和状态数据采集,确保软件在实际运行中的表现得到监控。
1.一种针对星务软件的数字化仿真测试平台设计方法,其特征在于,包括以下步骤:
2.如权利要求1所述的数字化仿真测试平台设计方法,其特征在于,所述步骤1包括:步骤11,虚拟所需架构的处理器:选择或添加开发板;初始化硬件功能并建立基础模型;步骤12,配置添加所需设备:添加和配置基础设备;形成完整的开发板模型;步骤13,修改对应架构下的配置文件:修改qemu配置文件;重新编译qemu;检查开发板状态;步骤14,配置修改bootloader模块:修改bootloader模块;测试bootloader模块功能,若使用开发板加载bootloader模块,则重新编译qemu并测试模块功能,若使用u-boot,则直接测试模块功能。
3.如权利要求2所述的数字化仿真测试平台设计方法,其特征在于,所述步骤14中,用于支持后续硬件仿真模块的加载的方法为:依据星务代码中bootloader模块的配置参数,修改qemu中u-boot部分的配置,使其能加载硬件仿真模块。
4.如权利要求2所述的数字化仿真测试平台设计方法,其特征在于,所述步骤14中,用于支持后续硬件仿真模块的加载的方法为:用qemu加载星务软件的bootloader模块代码的二进制可执行文件,以取代qemu中的u-boot模块,模拟真实星上启动引导模块。
5.如权利要求1所述的数字化仿真测试平台设计方法,其特征在于,所述步骤2包括:步骤21,构建交叉编译工具链:安装与配置交叉编译工具链;配置编译环境与添加头文件库文件;步骤22,利用交叉编译工具链生成目标架构二进制可执行文件:利用交叉编译工具链进行预处理、编译与链接;生成目标架构二进制可执行文件;处理bootloader模块的交叉编译与兼容性。
6.如权利要求1所述的数字化仿真测试平台设计方法,其特征在于,所述步骤3包括:步骤31,环境配置与确认:修改开发板代码文件;确认设备配置与重新编译qemu;确认开发板添加的正确性;步骤32,启动qemu并加载目标架构二进制可执行文件:启动qemu;加载目标架构的二进制可执行文件;配置仿真环境参数;步骤33,调试目标架构二进制可执行文件:启动gdb调试器;连接远程调试服务器;执行调试操作;监测与分析数据信息。
7.如权利要求1所述的数字化仿真测试平台设计方法,其特征在于,所述步骤1执行如下:
8.如权利要求1所述的数字化仿真测试平台设计方法,其特征在于,所述步骤2执行如下:
9.如权利要求8所述的数字化仿真测试平台设计方法,其特征在于,所述第三包括:使用‘-gcc’命令编译c和c++代码,生成与目标处理器兼容的目标文件;使用‘-ld’命令进行链接,生成可执行文件或库;使用‘-ar’命令创建、修改和提取归档文件;使用‘-objcopy’命令从一种格式复制到另一种格式。
10.如权利要求1所述的数字化仿真测试平台设计方法,其特征在于,所述步骤3包括:第一,环境配置与验证:硬件需求分析:根据实际硬件需求,评估所需的配置和资源;c文件修改:根据星务软件代码中的地址分配信息,修改自定义开发板的c文件;重新编译qemu:验证配置的正确性,并重新编译qemu以确保开发板能够正确添加。
