数据的识别方法、数据的识别装置、存储介质和电子设备制造方法及图纸

技术编号:38213743 阅读:9 留言:0更新日期:2023-07-25 11:22
本申请提供了一种数据的识别方法、数据的识别装置、存储介质和电子设备。该方法包括:获取嵌入式软件的目标文件和嵌入式软件的MAP文件;对目标文件和MAP文件分别进行程序静态分析,得到嵌入式软件中多个目标函数所包含的多个第一全局变量以及每个第一全局变量所在的第一核芯,多个目标函数与目标文件对应;在嵌入式软件的程序处于动态运行的情况下,获取当前核芯所访问的多个第一全局变量中的目标第一全局变量,当前核芯为第一核芯或第二核芯;在目标第一全局变量对应的当前核芯为第二核芯的情况下,确定嵌入式软件存在跨核交互数据现象。该方法能确定嵌入式软件存在跨核交互数据现象,实现了降低系统运行负荷和提高程序执行效率的目的。行效率的目的。行效率的目的。

【技术实现步骤摘要】
数据的识别方法、数据的识别装置、存储介质和电子设备


[0001]本申请涉及计算机
,具体而言,涉及一种数据的识别方法、交互数据的识别装置、计算机可读存储介质和电子设备。

技术介绍

[0002]随着汽车电子的发展,汽车功能在不断增多,随之带来的是控制器功能的更加复杂,从而导致控制软件逻辑的复杂程度不断增加,且控制逻辑的复杂势必会带来大量的数据变量。为了解决上述问题,目前随着汽车控制器性能的逐渐提高,芯片已经由简单的单核发展为多核,使得不同的功能在不同的核芯运行。
[0003]然而,控制功能多核运行势必会带来数据不一致以及相互干扰的情况,且在项目开发阶段,开发人员势必不会面面俱到,从而不会考虑到每个变量在程序中的运行情况,因此,如果出现软件跨核读取数据的问题的情况,会严重影响系统整体运行效率。

技术实现思路

[0004]本申请的主要目的在于提供一种数据的识别方法、数据的识别装置、计算机可读存储介质和电子设备,以至少解决现有技术中判断系统整体运行过程中是否存在跨核读取数据的问题。
[0005]为了实现上述目的,根据本申请的一个方面,提供了一种数据的识别方法,包括:获取嵌入式软件的目标文件和嵌入式软件的MAP文件;对目标文件和MAP文件分别进行程序静态分析,得到嵌入式软件中多个目标函数所包含的多个第一全局变量以及每个第一全局变量所在的第一核芯,多个目标函数与目标文件对应;在嵌入式软件的程序处于动态运行的情况下,获取当前核芯所访问的多个第一全局变量中的目标第一全局变量,当前核芯为第一核芯或第二核芯;在目标第一全局变量对应的当前核芯为第二核芯的情况下,确定嵌入式软件存在跨核交互数据现象,跨核交互数据现象表示为以下至少之一:第一全局变量被第二核芯访问,第一全局变量被第一核芯和一个第二核芯同时访问,第一全局变量被多个第二核芯同时访问。
[0006]进一步地,识别方法还包括:获取存在跨核交互数据现象的所有目标第一全局变量以及访问每个目标第一全局变量的第二核芯,当前核芯包括至少一个第二核芯;根据每个目标第一全局变量对应的至少一个第二核芯和每个第二核芯对应的第一全局变量,确定每个目标第一全局变量的数据交互形式。
[0007]进一步地,对目标文件和MAP文件分别进行程序静态分析,得到嵌入式软件中多个目标函数所包含的多个第一全局变量以及每个第一全局变量所在的第一核芯,包括:对目标文件进行程序静态分析,确定出每个目标文件对应的多个目标函数和每个目标函数所包含的第一全局变量;对MAP文件进行程序静态分析,至少获取嵌入式软件的目标全局变量,以及确定目标全局变量对应的目标文件,目标全局变量为多个第一全局变量中位于第一核芯的存储区的第一全局变量。
[0008]进一步地,在嵌入式软件的程序处于动态运行的情况下,获取当前核芯所访问的多个第一全局变量中的目标第一全局变量,包括:对目标文件和目标全局变量进行递归搜索,得到递归搜索结果;根据递归搜索结果和多个目标函数,生成函数调用树;根据函数调用树,获取当前核芯所访问的目标第一全局变量。
[0009]进一步地,识别方法还包括:获取嵌入式软件的顶层函数以及顶层函数所在的第一核芯,顶层函数为多个目标函数中的最上层函数。
[0010]进一步地,在目标第一全局变量对应的当前核芯为第二核芯的情况下,确定嵌入式软件存在跨核交互数据现象,包括:获取与目标第一全局变量对应的预设变量信息,预设变量信息为嵌入式软件的程序处于静态的情况下,目标第一全局变量的变量信息;将与目标第一全局变量对应的当前变量信息与预设变量信息进行匹配,预设变量信息为嵌入式软件的程序处于动态运行的情况下,目标第一全局变量的变量信息;在当前变量信息与预设变量信息不匹配的情况下,确定目标第一全局变量对应的当前核芯为第二核芯;确定嵌入式软件存在跨核交互数据现象。
[0011]进一步地,当前核芯包括多个,识别方法还包括:提取目标第一全局变量在多个当前核芯中的多个访问频率,当前核芯和访问频率一一对应;从多个访问频率中确定目标核芯,目标核芯为目标第一全局变量访问频率最高的当前核芯;将目标第一全局变量的定义位置修改为目标核芯。
[0012]根据本申请的再一方面,提供了一种数据的识别装置,包括:第一获取模块,用于获取嵌入式软件的目标文件和嵌入式软件的MAP文件;分析模块,用于对目标文件和MAP文件分别进行程序静态分析,得到嵌入式软件中多个目标函数所包含的多个第一全局变量以及每个第一全局变量所在的第一核芯,多个目标函数与目标文件对应;第二获取模块,用于在嵌入式软件的程序处于动态运行的情况下,获取当前核芯所访问的多个第一全局变量中的目标第一全局变量,当前核芯为第一核芯或第二核芯;确定模块,用于在目标第一全局变量对应的当前核芯为第二核芯的情况下,确定嵌入式软件存在跨核交互数据现象,跨核交互数据现象表示为以下至少之一:第一全局变量被第二核芯访问,第一全局变量被第一核芯和一个第二核芯同时访问,第一全局变量被多个第二核芯同时访问。
[0013]根据本申请的又一方面,提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述数据的识别方法。
[0014]根据本申请的又一方面,提供了一种电子设备,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序包括用于执行上述的数据的识别方法。
[0015]应用本申请的技术方案,通过首先获取嵌入式软件的目标文件和嵌入式软件的MAP文件,使得脚本分别对上述目标文件和上述MAP文件进行程序静态分析,由于每个目标文件对应有多个目标函数,从而在上述程序静态分析之后,脚本能够得到该嵌入式软件中的多个目标函数所包含的多个第一全局变量,以及每个第一全局变量所在的第一核芯,进而在上述嵌入式软件的程序处于动态运行的情况下,再基于上述程序的实际运行,获取到该嵌入式软件的每个核芯在当前动态运行情况下(即当前核芯)访问的目标第一全局变量,其中,上述第一全局变量包括该目标第一全局变量,且该程序处于动态运行情况下的每个
核芯可以是第一核芯或第二核芯,从而在上述程序处于动态运行情况下,若目标第一全局变量对应的当前核芯为第二核芯,则脚本能够确定出该嵌入式软件存在跨核交互数据的现象,从而完成整个嵌入式软件工程的分析,而不需要开发人员进行其他的操作,大大降低了开发人员分析的时间,缩短了开发时间,降低了开发成本,且该识别方法可以直接引入到集成环境中,可直接进行调用使用,具有较高的通用性和可移植性。
附图说明
[0016]构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0017]图1示出了根据本申请的实施例中提供的一种执行数据的识别方法的移动终端的硬件结构框图;
[0018]图2示出了根据本申请的一个实施例提供的一种数据的识别本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据的识别方法,其特征在于,包括:获取嵌入式软件的目标文件和所述嵌入式软件的MAP文件;对所述目标文件和所述MAP文件分别进行程序静态分析,得到所述嵌入式软件中多个目标函数所包含的多个第一全局变量以及每个所述第一全局变量所在的第一核芯,多个所述目标函数与所述目标文件对应;在所述嵌入式软件的程序处于动态运行的情况下,获取当前核芯所访问的多个所述第一全局变量中的目标第一全局变量,所述当前核芯为所述第一核芯或第二核芯;在所述目标第一全局变量对应的所述当前核芯为所述第二核芯的情况下,确定所述嵌入式软件存在跨核交互数据现象,所述跨核交互数据现象表示为以下至少之一:所述第一全局变量被所述第二核芯访问,所述第一全局变量被所述第一核芯和一个所述第二核芯同时访问,所述第一全局变量被多个所述第二核芯同时访问。2.根据权利要求1所述的识别方法,其特征在于,所述识别方法还包括:获取存在所述跨核交互数据现象的所有所述目标第一全局变量以及访问每个所述目标第一全局变量的至少一个第二核芯,所述当前核芯包括至少一个所述第二核芯;根据每个所述目标第一全局变量对应的至少一个所述第二核芯和每个所述第二核芯对应的所述第一全局变量,确定每个所述目标第一全局变量的数据交互形式。3.根据权利要求1或2所述的识别方法,其特征在于,所述对所述目标文件和所述MAP文件分别进行程序静态分析,得到所述嵌入式软件中多个目标函数所包含的多个第一全局变量以及每个所述第一全局变量所在的第一核芯,包括:对所述目标文件进行所述程序静态分析,确定出每个所述目标文件对应的多个所述目标函数和每个所述目标函数所包含的所述第一全局变量;对所述MAP文件进行程序静态分析,至少获取所述嵌入式软件的目标全局变量,以及确定所述目标全局变量对应的所述目标文件,所述目标全局变量为多个所述第一全局变量中位于所述第一核芯的存储区的第一全局变量。4.根据权利要求3所述的识别方法,其特征在于,所述在所述嵌入式软件的程序处于动态运行的情况下,获取当前核芯所访问的多个所述第一全局变量中的目标第一全局变量,包括:对所述目标文件和所述目标全局变量进行递归搜索,得到递归搜索结果;根据所述递归搜索结果和多个所述目标函数,生成函数调用树;根据所述函数调用树,获取所述当前核芯所访问的所述目标第一全局变量。5.根据权利要求4所述的识别方法,其特征在于,所述识别方法还包括:获取所述嵌入式软件的顶层函数以及所述顶层函数所在的所述第一核芯,所述顶层函数为多个所述目标函数中的最上层函数。6.根据权利要求1或2所述的识别...

【专利技术属性】
技术研发人员:房骁刘硕黄瑞霞卢晓玲
申请(专利权)人:潍坊潍柴动力科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1