[发明专利]A2L文件中变量的处理方法、装置和存储介质有效
| 申请号: | 201910648860.9 | 申请日: | 2019-07-18 |
| 公开(公告)号: | CN110262289B | 公开(公告)日: | 2022-04-26 |
| 发明(设计)人: | 李峰;刘晓波;宋炳雨;刘硕;许晓梦;何晓明 | 申请(专利权)人: | 潍柴动力股份有限公司 |
| 主分类号: | G05B17/02 | 分类号: | G05B17/02 |
| 代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 王明磊;刘芳 |
| 地址: | 261061 山东省潍坊*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | a2l 文件 变量 处理 方法 装置 存储 介质 | ||
本申请提供了一种A2L文件中变量的处理方法、装置和存储介质,该A2L文件中变量的处理方法,按行读取A2L文件到内存中,获取A2L文件的一部分内容作为待处理信息,通过仅在待处理信息中查找变量,可以快速准确查找到需要进行处理的变量,避免后续针对A2L文件中不存在的变量进行处理,提高了处理效率,减少了处理总耗时。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种A2L文件中变量的处理方法、装置和存储介质。
背景技术
目前汽车电子控制器开发领域,应用国际通用的V字开发模式。根据控制需求设置MATLAB控制模型,利用MATLAB代码自动生成C代码和A2L文件。A2L文件中变量的参数地址是虚拟地址,需要从编译生成的链接器映射文件(Linker MAP File,MAP)中找到变量的物理地址替换后,才能使用。
通常,需要首先在MAP文件中遍历出所有变量和其对应物理地址的对应关系,然后针对每个变量在A2L文件遍历查找,找到A2L文件中的变量并进行地址替换。
然而,由于MAP文件中的很多变量在目标A2L文件中不存在,针对MAP文件中的每个变量遍历A2L文件,导致处理效率较低,总耗时增加。
发明内容
本申请提供一种A2L文件中变量的处理方法、装置和存储介质,用于解决针对MAP文件中的每个变量在A2L文件中进行查找,导致处理效率较低,总耗时增加的问题。
第一方面,本申请提供了一种A2L文件中变量的处理方法,包括:
按行读取A2L文件到内存中,获取待处理信息;所述待处理信息的行数为N,N为正整数且小于所述A2L文件的总行数;
若在所述待处理信息中查找到变量,则获取所述变量的名称。
可选的,所述按行读取A2L文件到内存中,获取待处理信息,包括:
读取所述A2L文件中的第K行字符串到内存中;K为正整数;
若所述第K行字符串的起始字符串为第一字符串,则读取所述A2L文件中的第K+1行字符串到内存中;所述第一字符串用于开始定义变量;
判断所述第K+1行字符串的起始字符串是否为第二字符串;所述第二字符串用于结束定义变量;
若所述第K+1行字符串的起始字符串为所述第二字符串,则获取所述待处理信息,所述待处理信息包括所述第K行字符串至所述第K+1行字符串;若所述第K+1行字符串的起始字符串不是所述第二字符串,则读取所述A2L文件中的第K+2行字符串到内存中,重新执行判断是否为所述第二字符串的步骤。
可选的,还包括:
若所述第K行字符串的起始字符串不是所述第一字符串,则将所述第K行字符串写入新的A2L文件中。
可选的,所述若在所述待处理信息中查找到变量,则获取所述变量的名称,包括:
将预设的正则表达式与所述待处理信息进行匹配,判断所述待处理信息是否包括变量;所述预设的正则表达式包括预设标识符,所述预设标识符用于标识变量;
若所述待处理信息包括变量,则根据所述预设标识符获取所述变量的名称。
可选的,还包括:
根据内存中存储的变量与物理地址的对应关系,获取所述变量对应的物理地址;
根据所述变量对应的物理地址对所述变量的地址进行替换,并将地址替换后的待处理信息写入新的A2L文件中。
第二方面,本申请提供了一种A2L文件中变量的处理装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于潍柴动力股份有限公司,未经潍柴动力股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910648860.9/2.html,转载请声明来源钻瓜专利网。





