掌桥专利:专业的专利平台
掌桥专利
首页

一种GNC嵌入式软件数据动态激励注入系统和方法

文献发布时间:2024-05-31 01:29:11


一种GNC嵌入式软件数据动态激励注入系统和方法

技术领域

本发明属于导航、制导与控制设计领域,具体涉及一种GNC嵌入式软件数据动态激励注入系统和方法。

背景技术

导航、制导与控制(Guidance Navigation Control,GNC)嵌入式软件功能复杂,动态仿真验证实验和动态测试验证工作量庞大。

为了实现对软件功能正确性、健壮性的仿真验证实验,以及对软件整体的测试验证工作,经常需要通过对软件进行插桩改造,工作量大且缺乏灵活性,插桩之后再加载运行集成调试时间长;断点调试的干预式注入方式又打断了程序的正常运行,无法实现动态改动待激励数据,适用场景单一;而传统的激励注入方式只能实现在特定时刻激励特定数据,不能实现在任意时刻任意位置的精确激励注入。

上述存在的问题导致GNC嵌入式软件仿真实验和测试验证不充分不完全,效率低下,为GNC嵌入式软件的安全性带来极大的安全隐患。

发明内容

发明目的:本发明提供了一种GNC嵌入式软件数据动态激励注入系统和方法,克服了软件仿真实验和软件测试过程中对特定软件运行场景依赖的局限性,大大提升了实验和集成验证测试的效率,为GNC嵌入式软件动态仿真验证和动态测试验证提供了有力的支撑和保障。

第一方面,本申请提供了一种GNC嵌入式软件数据动态激励注入方法,所述方法包括:

若目标码信息解析模块在GNC嵌入式软件中解析提取到数据缓冲池的地址和大小信息,多模态数据生成模块根据激励注入场景不同,选择对应的激励注入数据源配置,为激励注入提供数据;

响应控制动态激励注入模块执行第一次动态激励注入,对所述数据根据特定协议完成数据包组包,发送所述数据包;

激励申请和注入控制模块接收所述数据包,根据所述特定协议解析提取数据,将所述数据填充至数据缓冲池;

GNC嵌入式软件每周期调用数据缓冲池自适应使用模块,若数据缓冲池第一次被完整的动态激励注入,所述激励申请和注入控制模块发出确认信号,开始动态激励流程。

优选地,所述若目标码信息解析模块在GNC嵌入式软件中解析提取到数据缓冲池的地址和大小信息,多模态数据生成模块根据激励注入场景不同,选择对应的激励注入数据源配置,为激励注入提供数据之前,还包括:

响应控制动态激励注入模块开启动态激励注入流程,执行第一次动态激励注入前的准备工作。

优选地,所述方法还包括:

GNC嵌入式软件每周期调用数据缓冲池自适应使用模块,根据自定义的数据组织形式按序从数据缓冲池中取数据使用。

优选地,所述GNC嵌入式软件每周期调用数据缓冲池自适应使用模块,根据自定义的数据组织形式按序从数据缓冲池中取数据使用,包括:

当用尽一个数据缓冲池后自动切换至另一个数据缓冲池中,同时激励申请和注入控制模块发出动态激励注入申请信号至响应控制动态激励注入模块;

若另一个数据缓冲池当前处于不可用状态,停止动态激励注入,激励申请和注入控制模块给响应控制动态激励注入模块上报状态。

优选地,所述方法还包括:

若出现手动停止动态激励注入或超时未完成对数据缓冲池的激励注入,结束动态激励注入,并上报动态激励注入结束信息。

第二方面,本申请还提供了一种GNC嵌入式软件数据动态激励注入系统,所述系统包括:

GNC嵌入式软件,包括数据缓冲池自适应使用模块、激励申请和注入控制模块以及数据缓冲池;

动态激励软件,包括多模态数据生成模块、目标码信息解析模块和响应控制动态激励注入模块;

其中,所述目标码信息解析模块,用于在GNC嵌入式软件中解析提取数据缓冲池的地址和大小信息;

所述多模态数据生成模块,用于根据激励注入场景不同,选择对应的激励注入数据源配置,为激励注入提供数据;

所述响应控制动态激励注入模块,用于执行第一次动态激励注入,对所述数据根据特定协议完成数据包组包,发送所述数据包;

所述激励申请和注入控制模块,用于接收所述数据包,根据所述特定协议解析提取数据,将所述数据填充至数据缓冲池;

所述激励申请和注入控制模块,还用于若数据缓冲池第一次被完整的动态激励注入发出确认信号,开始动态激励流程。

优选地,所述响应控制动态激励注入模块,还用于开启动态激励注入流程,执行第一次动态激励注入前的准备工作。

优选地,所述数据缓冲池自适应使用模块,还用于根据自定义的数据组织形式按序从数据缓冲池中取数据使用。

优选地,所述数据缓冲池自适应使用模块,还用于当用尽一个数据缓冲池后自动切换至另一个数据缓冲池中,同时发出动态激励注入申请信号至响应控制动态激励注入模块;

所述激励申请和注入控制模块,还用于若另一个数据缓冲池当前处于不可用状态,停止动态激励注入,给响应控制动态激励注入模块上报状态。

本申请的有益技术效果:

本发明提供了一种GNC嵌入式软件数据动态激励注入系统和方法,根据GNC嵌入式软件目标码中提取出的数据缓冲池信息和配置信息确定输入数据源的产生方式和动态激励注入组包方式,通过专用通信接口响应动态激励申请信号,发送动态激励注入数据包,自定义数据组织形式,从数据缓冲池中按序取出数据使用,实现了GNC嵌入式软件非干预性的精确动态激励注入数据功能,克服了软件仿真实验和软件测试过程中对特定软件运行场景依赖的局限性,大大提升了实验和集成验证测试的效率,为GNC嵌入式软件动态仿真验证和动态测试验证提供了有力的支撑和保障。

附图说明

图1是本发明提供的一种GNC嵌入式软件数据动态激励注入系统的结构示意图;

图2是本发明提供的一种GNC嵌入式软件数据动态激励注入系统的流程示意图。

具体实施方式

在本申请实施例中,本发明提供了一种GNC嵌入式软件数据动态激励注入系统,包括:GNC嵌入式软件;

励注入申请信号和动态激励注入数据包,实现数据动态激励注入功能;

可选的,系统还包括动态激励软件;

动态激励软件,用于产生动态激励注入数据源缓存至本地数据注入池中,响应动态激励注入申请信号,从本地数据注入池按序取数,根据特定协议组包,通过专用通信接口发送动态激励注入数据包。

可选的,动态激励软件还包括多模态数据生成模块;

多模态数据生成模块,用于根据配置激励属性,确定动态激励注入数据的输入源,为动态激励注入提供输入数据;

可选的,动态激励软件还包括目标码信息解析模块;

目标码信息解析模块,用于根据GNC嵌入式软件编译生成的目标码和ELF文件,解析嵌入式软件中设置的数据缓冲池的地址、大小信息;

动态激励软件,还用于接收目标码信息解析模块发送的解析信息,根据数据缓冲池的地址和大小信息,结合配置的动态激励注入数据包大小、发送周期确定每次完整动态激励注入一个数据缓冲池的取数组包方式和需要发送的数据包个数;

可选的,动态激励软件还包括响应控制动态激励注入模块;

响应控制动态激励注入模块,用于开启动态激励注入功能,完成首轮动态激励注入后,等待响应动态激励注入申请信号,从数据注入池中按照特定协议中确定的数据组包形式取数完成组包,通过专用通信接口完成动态激励注入;

可选的,系统还包括数据包差错控制机制;

由于动态激励注入的周期快、发送数据包数量多、体积大,存在数据包丢包、错包的可能性,因此需要为通信加上可靠性保证,即添加数据包的差错控制,确保动态激励注入数据的顺序符合预期;

可选的,数据包差错控制机制还包括响应控制动态激励注入模块差错控制;

响应控制动态激励注入模块,每次发送完数据缓冲池的动态激励注入数据包后,周期轮询是否收到数据缓冲池动态激励注入成功确认信号,若无则重新发送,否则结束本次对数据缓冲池的动态激励注入;

可选的,数据包差错控制机制还包括数据缓冲池自适应使用模块差错控制;

数据缓冲池自适应使用模块,每次发出动态激励注入申请信号后,等待接收动态激励注入数据包,并对接收到的数据包做校验判断、帧号确认和计数,当完整的完成对一个数据缓冲池的动态激励注入后,激励申请和注入控制模块发出动态激励注入成功确认信号,否则等待重新动态激励注入;

可选的,专用通信接口为RS422总线或网口。

在本申请其他实施例中,下面结合附图对本发明提供的一种GNC嵌入式软件数据动态激励注入系统进行解释说明。

图1是本发明提供的一种GNC嵌入式软件数据动态激励注入系统的结构示意图。如图1所示,GNC嵌入式软件数据动态激励注入系统包括动态激励软件、GNC嵌入式软件两大模块;其中动态激励软件包含多模态数据生成模块、目标码信息解析模块、响应控制动态激励注入模块;GNC嵌入式软件包含数据缓冲池自适应使用模块。

多模态数据生成模块用于确定动态激励注入的数据源,根据不同的动态仿真验证场景和动态测试验证需要选择不同输入数据源;目标码信息解析模块根据GNC嵌入式软件编译生成的目标码和ELF文件解析提取嵌入式软件中设置的数据缓冲池的地址和大小信息;响应控制动态激励注入模块根据特定协议组包并通过专用通信接口响应动态激励申请信号发送数据包;数据自适应使用模块根据自定义数据组织形式每周期从数据缓冲池中按序取数使用;由上述各模块协同构成整个GNC嵌入式软件数据动态激励注入系统。

其中,激励申请和注入控制模块完成激励注入申请、确认、数据缓冲池注入和故障上报的处理。

图2是本发明提供的一种GNC嵌入式软件数据动态激励注入系统的流程示意图。如图2所示,GNC嵌入式软件数据动态激励注入系统的流程包括:

步骤1、响应控制动态激励注入模块开启动态激励注入流程,执行首次动态激励注入前的准备工作,进入步骤2;

步骤2、由目标码信息解析模块解析提取嵌入式软件中设置的数据缓冲池的地址和大小信息,若不存在则进入步骤10,否则进入步骤3;

步骤3、多模态数据生成模块根据激励注入场景不同,选择对应的激励注入数据源配置,为激励注入提供数据,完成动态激励注入准备工作,进入步骤4;

步骤4、响应控制动态激励注入模块执行首次动态激励注入,根据特定协议完成数据包组包,通过专用通信接口发送数据,进入步骤5;

步骤5、GNC嵌入式软件每周期调用数据缓冲池自适应使用模块,在第一次动态激励注入前禁止使用数据缓冲池,只有当数据缓冲池第一次被完整的动态激励注入才会通过专用通信接口发出确认信号,开始动态激励注入过程,进入步骤6;

步骤6、GNC嵌入式软件每周期调用数据缓冲池自适应使用模块,根据自定义的数据组织形式按序从数据缓冲池中取数使用,当用尽一个池后自动切换至另一个数据缓冲池中,同时发出动态激励注入申请信号,进入步骤7,若另一个数据缓冲池当前处于不可用状态,进入步骤10;

步骤7、响应控制动态激励注入模块,响应动态激励注入申请信号,根据特定协议完成数据包组包,通过专用通信接口发送数据,周期轮询是否收到数据缓冲池动态激励注入成功确认信号,若无则重新发送,否则结束本次对数据缓冲池的动态激励注入;

步骤8、重复步骤6、7,实现动态激励注入;

步骤9、在步骤8的过程中,如果出现手动停止动态激励注入或超时未完成对数据缓冲池的激励注入,就进入步骤10;

步骤10、结束动态激励注入,并上报动态激励注入结束信息。

在本申请其他实施例中,本发明提供了一种GNC嵌入式软件数据动态激励注入方法,包括:在多模态数据生成模块中,根据配置选择注入数据的输入源;在目标码信息解析模块中,解析提取目标码中设置的数据缓冲池地址、大小信息;在响应控制动态激励注入模块中,响应被激励产品发出的动态激励注入申请信号,根据动态激励注入协议动态填充数据,并通过专用通信接口发送动态激励数据包;GNC嵌入式软件包括数据缓冲池自适应使用模块;在数据缓冲池自适应使用模块中,自定义数据组织形式,从数据缓冲池中按序取出数据使用,当数据缓冲池用完后,自动切换数据缓冲池并发出动态激励注入申请信号。

本申请实现了GNC嵌入式软件非干预性的定时定点精确动态激励注入功能,克服了软件仿真实验和软件测试过程中对特定软件运行场景依赖的局限性,大大提升了实验和集成验证测试的效率,为GNC嵌入式软件动态仿真验证和动态测试验证提供了有力的支撑和保障。

相关技术
  • 一种针对异构存储系统的自适应数据动态调度方法和系统
  • 一种嵌入式软件诊断系统及方法
  • 一种基于虚拟硬件平台的嵌入式软件通用数据激励方法
  • 基于数据断点的嵌入式软件堆栈使用情况动态分析方法和系统
技术分类

06120116624053