CN112015444B - 一种变量地址更新方法、装置及汽车 - Google Patents
一种变量地址更新方法、装置及汽车 Download PDFInfo
- Publication number
- CN112015444B CN112015444B CN201910473291.9A CN201910473291A CN112015444B CN 112015444 B CN112015444 B CN 112015444B CN 201910473291 A CN201910473291 A CN 201910473291A CN 112015444 B CN112015444 B CN 112015444B
- Authority
- CN
- China
- Prior art keywords
- address
- variable
- file
- calibration
- calibration variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种变量地址更新方法、装置及汽车,应用于汽车软件***,包括:软件***更新前,获取配置XML文件,所述配置XML文件中记录有当前版本软件***中的所有第一标定变量地址;获取C文件,所述C文件中描述有新版本软件***中的所有待更新地址的第二标定变量;根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新。实现了对第二标定变量地址的自动分配,无需人工干预,大大提高了工作效率,避免了人工进行标定变量地址更新所导致的错误。
Description
技术领域
本发明涉及软件技术领域,尤其涉及一种变量地址更新方法、装置及汽车。
背景技术
项目软件开发过程中,标定量所分配的地址由编译器通过一定算法进行分配,软件在不断的更新过程中,无法保证标定量的地址固定不变。但为了方便对标定量的调用,需要对标定量的地址进行固定,因此每次软件更新后,标定工程师都需针对所有信号进行A2L文件的更新,浪费人力也更加容易引入认为错误。
发明内容
为了解决上述技术问题,本发明提供了一种变量地址更新方法、装置及汽车,解决了软件在不断的更新过程中,无法保证标定量的地址固定不变的问题。
依据本发明的第一个方面,提供了一种变量地址更新方法,应用于汽车软件***,包括:
软件***更新前,获取配置XML文件,所述配置XML文件中记录有当前版本软件***中的所有第一标定变量地址;
获取C文件,所述C文件中描述有新版本软件***中的所有待更新地址的第二标定变量;
根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新。
可选的,获取C文件的步骤,包括:
解析配置XML文件,获取所述第二标定变量所在C文件文件名合集;
根据所述C文件文件名合集,找到并逐个读取C文件,解析C文件中描述的新版本软件***中的所有待更新地址的第二标定变量。
可选的,根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新的步骤,包括:
遍历C文件中的所有第二标定变量,并在配置XML文件中进行查找;
若找到,则判断所述第二标定变量为当前版本软件***中已存在的第一标定变量,并将所述配置XML文件中记录的此第一标定变量的地址附加到C文件中所述第二标定变量所在的表达式中;
若未找到,则判断此第二标定变量为新版本***中新增加的变量,为此新增的第二标定变量分配第一地址空间,并将所述第一地址空间附加到C文件中此第二标定变量所在的表达式中。
可选的,为此新增的第二标定变量分配第一地址空间的步骤,包括:
解析配置XML文件,获取用于进行地址分配的第一配置信息,所述第一配置信息包括:C文件中可能出现的变量类型及编译器对所述变量类型定义的对齐宽度,地址池的起始地址及大小配置中的至少一项;
根据第一配置信息,在地址池中找到满足对齐宽度且空闲的第一地址空间,将所述第一地址空间分配给所述新增的第二标定变量,并在配置XML文件中进行记录。
可选的,根据第一配置信息,在地址池中找到满足对齐宽度且空闲的第一地址空间,将所述第一地址空间分配给所述新增的第二标定变量,并在配置XML文件中进行记录的步骤之后,还包括:
在地址池中删除所述第一地址空间。
可选的,根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新的步骤之后,还包括:
在配置XML文件中删除新版软件***中未记录的第一标定变量。
可选的,在配置XML文件中删除新版本软件***中未记录的变量的步骤,包括:
遍历所述配置XML文件中存储的第一标定变量,并在所述C文件的数据结构中进行匹配查找;
若未找到,则判断新版本***中未记录所述第一标定变量,在配置XML文件中删除所述第一标定变量的记录并将删除的所述第一标定变量的第二地址空间返还给地址池。
可选的,软件***更新前,解析配置XML文件,所述配置XML文件中记录有当前版本软件***中的所有第一标定变量地址的步骤之前,所述方法还包括:
判断地址池是否初始化;
若地址池未初始化,则利用配置XML文件初始化地址池。
可选的,根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新的步骤之后,还包括:
获取附加有第二标定变量地址信息的C文件;
根据附加有第二标定变量地址信息的C文件进行软件***更新。
依据本发明的第二个方面,提供了一种变量地址更新装置,应用于汽车软件***,包括:
第一获取模块,软件***更新前,获取配置XML文件,所述配置XML文件中记录有当前版本软件***中的所有第一标定变量地址;
第二获取模块,获取C文件,所述C文件中描述有新版本软件***中的所有待更新地址的第二标定变量;
第一处理模块,用于根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新。
依据本发明的第三个方面,提供了一种汽车,所述汽车包括处理器,存储器,存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的变量地址更新方法的步骤。
依据本发明的第四个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的变量地址更新方法的步骤。
本发明的实施例的有益效果是:
上述方案中,通过在软件***更新前,获取配置XML文件中记录的当前版本软件***中的所有第一标定变量地址,利用第一标定变量地址对C文件中描述的新版本软件***中的所有待更新地址的第二标定变量进行地址更新,实现了标定量地址的自动分配,无需人工干预,且分配后的地址不会随软件***的更新而变动,降低了标定工作人员的工作复杂度,提高了工作效率。
附图说明
图1表示本发明实施例的变量地址更新方法的流程图之一;
图2表示本发明实施例的变量地址更新方法的流程图之二;
图3表示本发明实施例的变量地址更新装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
如图1所示,本发明的实施例提供了一种变量地址更新方法,应用于汽车软件***,包括:
步骤11:软件***更新前,获取配置XML文件,所述配置XML文件中记录有当前版本软件***中的所有第一标定变量地址。
步骤12:获取C文件,所述C文件中描述有新版本软件***中的所有待更新地址的第二标定变量;
步骤13:根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新。
该实施例中,作为变量地址更新方法的前提条件,配置XML文件中应包含但不限于标定量所在文件合集的配置、可用于分配标定量的地址池的起始地址及大小配置、待分配地址的标定变量的类型长度及对齐宽度配置。在该实施例中,首先获取配置XML文件中记录的当前版本软件***中的所有第一标定变量地址。这里需要指出配置XML文件中还存有第一标定变量的变量名称、变量类型、单元长度、数组大小、存储的起始地址。进一步获取描述有新版本软件***中的所有待更新地址的第二标定变量的C文件。根据当前版本软件***中的第一标定变量地址,对C文件中的第二标定变量进行地址更新。另外,值得一提的是,该实施例所述的方法可由编译器的“pre-build setp”在编译前自动完成,防止因用户失误而导致的错误。
通过该方案实现了根据当前版本软件***中的第一标定变量地址,对C文件中的第二标定变量进行地址的自动分配更新,无需人工干预,大大提高了工作效率,避免了人工进行标定变量地址更新所导致的错误,提高了准确率。
在本发明一个可选实施例中,步骤12中,获取C文件的步骤,包括:
解析配置XML文件,获取所述第二标定变量所在C文件文件名合集;
根据所述C文件文件名合集,找到并逐个读取C文件,解析C文件中描述的新版本软件***中的所有待更新地址的第二标定变量。
该实施例中,作为获取C文件的一种方法,可以通过解析配置XML文件获取第二标定变量所在C文件文件名合集,按照C文件的文件名集合分别找到指定的C文件,然后再从找到的C文件中读取新版本软件***中的所有待更新地址的第二标定变量。
在本发明一个可选实施例中,步骤13中,根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新的步骤,包括:
遍历C文件中的所有第二标定变量,并在配置XML文件中进行查找;
若找到,则判断所述第二标定变量为当前版本软件***中已存在的第一标定变量,并将所述配置XML文件中记录的此第一标定变量的地址附加到C文件中所述第二标定变量所在的表达式中;
若未找到,则判断此第二标定变量为新版本***中新增加的变量,为此新增的第二标定变量分配第一地址空间,并将所述第一地址空间附加到C文件中此第二标定变量所在的表达式中。
该实施例中,遍历C文件中的所有第二标定变量,并在配置XML文件中进行匹配查找,查找结果分两种,第一种是在C文件和配置XML文件中均有的标定变量,说明新版本的软件***和当前版本的软件***中均记录有此标定变量,此类标定变量包含在第一标定变量内,这里当前版本的软件***中对于此类第一标定变量已分配有地址空间并记录在配置XML文件中,该实施例中,将所述配置XML文件中记录的此类第一标定变量的地址附加到C文件中所述第二标定变量所在的表达式中,实现将此类第二标定变量的地址固化在C文件中。第二种是在C文件中有记录但是在配置XML文件中未找到的第二标定变量,此类第二标定变量为新版软件***中新增的标定变量,需要为此类第二标定变量分配地址空间(第一地址空间),并将所述第一地址空间利用编译器支持的_at()属性,将第一地址空间附加到C文件中此第二标定变量所在的表达式中,例如,real32_T exampleVar_at(0xD00172F0)=50.0F,实现此类第二标定变量的地址固化在C文件中的表达式中。该实施例,在现有软件***版本中的第一标定变量分配的地址的基础上,对新版本软件中的第二标定变量的地址进行分配,实现了在不打乱原有第一标定变量地址的基础上,对第二标定变量的地址的自动分配,可精确到每个标定变量。进一步将分配的地址附加在C文件中第二标定变量所在的表达式中,实现了第二标定变量地址一旦分配则不会随软件更新而变动。
在本发明一个可选实施例中,为此新增的第二标定变量分配第一地址空间的步骤,包括:
解析配置XML文件,获取用于进行地址分配的第一配置信息,所述第一配置信息包括:C文件中可能出现的变量类型及编译器对所述变量类型定义的对齐宽度,地址池的起始地址及大小配置中的至少一项;
根据第一配置信息,在地址池中找到满足对齐宽度且空闲的第一地址空间,将所述第一地址空间分配给所述新增的第二标定变量,并在配置XML文件中进行记录。
该实施例中,根据地址池的空闲地址情况以及待分配地址的第二标定变量的类型长度和编译器对该类型变量所定义的对齐宽度,为新增的第二标定变量分配地址。并将所述新增的第二标定变量以及其对应分配的第一地址空间记录在配置XML文件中,完成配置XML文件的更新,便于下次更新软件***使用。
在本发明一个可选实施例中,根据第一配置信息,在地址池中找到满足对齐宽度且空闲的第一地址空间,将所述第一地址空间分配给所述新增的第二标定变量,并在配置XML文件中进行记录的步骤之后,还包括:
在地址池中删除所述第一地址空间。
该实施例中,将已使用分配的第一地址空间在地址池中删除,用于说明在地址池中的所述第一地址空间已被占用,是非空闲地址空间,便于后续变量的地址分配操作。
在本发明一个可选实施例中,根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新的步骤之后,还包括:
在配置XML文件中删除新版软件***中未记录的第一标定变量。
该实施例中,通过在配置XML文件中将新版软件***中未记录的第一标定变量信息记录删除,实现了对配置XML文件的进一步更新。
在本发明一个可选实施例中,在配置XML文件中删除新版本软件***中未记录的第一标定变量的步骤,包括:
遍历所述配置XML文件中存储的第一标定变量,并在所述C文件的数据结构中进行匹配查找;
若未找到,则判断新版本***中未记录所述第一标定变量,在配置XML文件中删除所述第一标定变量的记录并将删除的所述第一标定变量的第二地址空间返还给地址池。
该实施例中,通过遍历配置XML文件中第一标定变量,并在所述C文件的数据结构中进行匹配查找,可以找到在新版本中未涉及的第一标定变量,此时对于新版本的软件***来说,此类第一标定变量已经删除未使用,因此需要将此类第一标定变量的记录在配置XML文件中删除。
在本发明一个可选实施例中,软件***更新前,解析配置XML文件,所述配置XML文件中记录有当前版本软件***中的所有第一标定变量地址的步骤之前,所述方法还包括:
判断地址池是否初始化;
若地址池未初始化,则利用配置XML文件初始化地址池。
该实施例中,判断地址池是否初始化即判断地址池是否已存有变量,若地址池未初始化,则利用配置XML文件为标定变量从地址池中分配空间,完成地址池的初始化。实现了标定量的地址可以从地址池中自动分配。其中,所述地址池的起始地址及大小配置在配置XML文件中。
在本发明一个可选实施例中,根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新的步骤之后,还包括:
获取附加有第二标定变量地址信息的C文件;
根据附加有第二标定变量地址信息的C文件进行软件***更新。
该实施例中,按照C文件文件名集合,顺序将带有第二标定变量地址信息的C文件数据写入C文件,可由编工具编译连接,将第二标定标定的地址固化。
值得指出的是,对C文件和配置XML文件的更新可以在对C文件和配置XML文件的操作中实时进行,为了提高效率,也可在内存中进行。最后在配置XML文件中删除新版软件***中未记录的第一标定变量的步骤完成之后,将内存中存有的带有第二标定变量地址信息的C文件数据,按照配置C文件文件名集合顺序写入C文件,将记录有新增第二标定变量信息且删除掉新版软件***中未使用的第一标定变量记录的配置XML文件写入到上一版本的配置XML文件中,完成对C文件和ML配置文件的更新操作。
如图2所示,其示出的是一变量地址更新方法的一实施例,实现此方案的前提条件是:一是配置XML文件应包含标定量所在文件集合配置、地址池起始地址及大小、类型长度及对齐宽度解析配置。二是编译器需支持属性:_at()。
在该实施例中,算法软件(变量地址更新方法)的启动可以借助于编译器的“pre-build setp”在编译前自动完成,防止因用户失误而导致的错误。解析配置XML文件获取变量类型的长度及对齐关系、地址池等信息。逐个打开配置的C文件,并解析其中的所有标定量(第二标定变量),遍历所有标定量并在配置XML文件中查找,然后根据地址配置为每个标定量分配地址,并将分配的地址附加C文件中的标定量所在的表达式中,需说明的是初次使用配置XML文件中没有任何标定量记录,那么所有C文件中的标定量的地址全部在地址池中获取。遍历所有配置XML文件中的标定量(第一标定变量),并在C文件中查找,如果找不到则在配置XML文件中删除此标定量记录,并回收地址至地址池。该方案可以实现方法的启动由编译器的“Pre-build steps”实现,用户无感;标定量地址可从配置地址池范围内自动分配,无需人工干预;地址分配可以精确到每个标定量;标定量一旦分配地址则固化,不会随软件更新而变动;标定量指定及地址池范围可配置;标定量删除后,地址可回收至地址池,可以为新的信号所用。本发明所示的实施例在项目中运用后可降低标定人员的工作复杂度,提高工作效率。
基于上述方法,本发明实施例还提供一种用以实现上述方法的装置。
请参见图3,其出示的是一种变量地址更新装置结构框图,所述装置300,应用于汽车软件***,包括:
第一获取模块301,软件***更新前,获取配置XML文件,所述配置XML文件中记录有当前版本软件***中的所有第一标定变量地址;
第二获取模块302,获取C文件,所述C文件中描述有新版本软件***中的所有待更新地址的第二标定变量;
第一处理模块303,用于根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新。
在本发明一个可选实施例中,第二获取模块302,可以包括:
第一获取子模块,用于解析配置XML文件,获取所述第二标定变量所在C文件文件名合集;
第二获取子模块,用于根据所述C文件文件名合集,找到并逐个读取C文件,解析C文件中描述的新版本软件***中的所有待更新地址的第二标定变量。
在本发明一个可选实施例中,第一处理模块303,可以包括:
第一处理子模块,用于遍历C文件中的所有第二标定变量,并在配置XML文件中进行查找;
第二处理子模块,用于若找到,则判断所述第二标定变量为当前版本软件***中已存在的第一标定变量,并将所述配置XML文件中记录的此第一标定变量的地址附加到C文件中所述第二标定变量所在的表达式中;
第三处理子模块,用于若未找到,则判断此第二标定变量为新版本***中新增加的变量,为此新增的第二标定变量分配第一地址空间,并将所述第一地址空间附加到C文件中此第二标定变量所在的表达式中。
在本发明一个可选实施例中,第三处理子模块,可以包括:
第一处理单元,用于解析配置XML文件,获取用于进行地址分配的第一配置信息,所述第一配置信息包括:C文件中可能出现的变量类型及编译器对所述变量类型定义的对齐宽度,地址池的起始地址及大小配置中的至少一项;
第二处理单元,用于根据第一配置信息,在地址池中找到满足对齐宽度且空闲的第一地址空间,将所述第一地址空间分配给所述新增的第二标定变量,并在配置XML文件中进行记录。
在本发明一个可选实施例中,所述装置还包括:
第二处理模块,用于在地址池中删除所述第一地址空间。
在本发明一个可选实施例中,所述装置还可以包括:
第三处理模块,用于在配置XML文件中删除新版软件***中未记录的第一标定变量。
在本发明一个可选实施例中,第三处理模块,可以包括:
第四处理子模块,用于遍历所述配置XML文件中存储的第一标定变量,并在所述C文件的数据结构中进行匹配查找;
第五处理子模块,用于若未找到,则判断新版本***中未记录所述第一标定变量,在配置XML文件中删除所述第一标定变量的记录并将删除的所述第一标定变量的第二地址空间返还给地址池。
在本发明一个可选实施例中,所述装置还包括:
第一判断模块,用于判断地址池是否初始化;
第四处理模块,用于若地址池未初始化,则利用配置XML文件初始化地址池。
在本发明一个可选实施例中,所述装置还可以包括:
第三获取模块,用于获取附加有第二标定变量地址信息的C文件;
第五处理模块,用于根据附加有第二标定变量地址信息的C文件进行软件***更新。
该装置是与上述方法实施例对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能够达到与方法实施例相同的技术效果。
本发明的实施例还可提供一种编译器,且该编译器支持_at()属性,上述变量地址更新装置安装在该编译器中,且上述变量地址更新装置也可以是编译器,上述方法中的所有实施例均适用于该编译器的实施例中,也能达到相同的技术效果。
本发明实施例还提供了一种汽车,所述汽车包括处理器,存储器,存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的变量地址更新方法的步骤。
此外,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的变量地址更新方法的步骤。
本发明所提供的变量地址更新方法、装置及汽车,通过从配置XML文件中获取当前版本软件***中的第一标定变量地址,根据第一标定变量地址,对C文件中的第二标定变量进行地址的自动分配更新,无需人工干预,大大提高了工作效率,避免了人工进行标定变量地址更新所导致的错误,提高了准确率。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (10)
1.一种变量地址更新方法,应用于汽车软件***,其特征在于,包括:
软件***更新前,获取配置XML文件,所述配置XML文件中记录有当前版本软件***中的所有第一标定变量地址;
获取C文件,所述C文件中描述有新版本软件***中的所有待更新地址的第二标定变量;
根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新;
获取C文件的步骤,包括:
解析配置XML文件,获取所述第二标定变量所在C文件文件名合集;
根据所述C文件文件名合集,找到并逐个读取C文件,解析C文件中描述的新版本软件***中的所有待更新地址的第二标定变量;
根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新的步骤,包括:
遍历C文件中的所有第二标定变量,并在配置XML文件中进行查找;
若找到,则判断所述第二标定变量为当前版本软件***中已存在的第一标定变量,并将所述配置XML文件中记录的此第一标定变量的地址附加到C文件中所述第二标定变量所在的表达式中;
若未找到,则判断此第二标定变量为新版本***中新增加的变量,为此新增的第二标定变量分配第一地址空间,并将所述第一地址空间附加到C文件中此第二标定变量所在的表达式中。
2.根据权利要求1所述的变量地址更新方法,其特征在于,为此新增的第二标定变量分配第一地址空间的步骤,包括:
解析配置XML文件,获取用于进行地址分配的第一配置信息,所述第一配置信息包括:C文件中可能出现的变量类型及编译器对所述变量类型定义的对齐宽度,地址池的起始地址及大小配置中的至少一项;
根据第一配置信息,在地址池中找到满足对齐宽度且空闲的第一地址空间,将所述第一地址空间分配给所述新增的第二标定变量,并在配置XML文件中进行记录。
3.根据权利要求2所述的变量地址更新方法,其特征在于,根据第一配置信息,在地址池中找到满足对齐宽度且空闲的第一地址空间,将所述第一地址空间分配给所述新增的第二标定变量,并在配置XML文件中进行记录的步骤之后,还包括:
在地址池中删除所述第一地址空间。
4.根据权利要求1所述的变量地址更新方法,其特征在于,根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新的步骤之后,还包括:
在配置XML文件中删除新版软件***中未记录的第一标定变量。
5.根据权利要求4所述的变量地址更新方法,其特征在于,在配置XML文件中删除新版本软件***中未记录的第一标定变量的步骤,包括:
遍历所述配置XML文件中存储的第一标定变量,并在所述C文件的数据结构中进行匹配查找;
若未找到,则判断新版本***中未记录所述第一标定变量,在配置XML文件中删除所述第一标定变量的记录并将删除的所述第一标定变量的第二地址空间返还给地址池。
6.根据权利要求1所述的变量地址更新方法,其特征在于,软件***更新前,解析配置XML文件,所述配置XML文件中记录有当前版本软件***中的所有第一标定变量地址的步骤之前,所述方法还包括:
判断地址池是否初始化;
若地址池未初始化,则利用配置XML文件初始化地址池。
7.根据权利要求1所述的变量地址更新方法,其特征在于,根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新的步骤之后,还包括:
获取附加有第二标定变量地址信息的C文件;
根据附加有第二标定变量地址信息的C文件进行软件***更新。
8.一种变量地址更新装置,应用于汽车软件***,其特征在于,包括:
第一获取模块,用于软件***更新前,获取配置XML文件,所述配置XML文件中记录有当前版本软件***中的所有第一标定变量地址;
第二获取模块,用于获取C文件,所述C文件中描述有新版本软件***中的所有待更新地址的第二标定变量;
第一处理模块,用于根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新;
第二获取模块,包括:
第一获取子模块,用于解析配置XML文件,获取所述第二标定变量所在C文件文件名合集;
第二获取子模块,用于根据所述C文件文件名合集,找到并逐个读取C文件,解析C文件中描述的新版本软件***中的所有待更新地址的第二标定变量;
第一处理模块,包括:
第一处理子模块,用于遍历C文件中的所有第二标定变量,并在配置XML文件中进行查找;
第二处理子模块,用于若找到,则判断所述第二标定变量为当前版本软件***中已存在的第一标定变量,并将所述配置XML文件中记录的此第一标定变量的地址附加到C文件中所述第二标定变量所在的表达式中;
第三处理子模块,用于若未找到,则判断此第二标定变量为新版本***中新增加的变量,为此新增的第二标定变量分配第一地址空间,并将所述第一地址空间附加到C文件中此第二标定变量所在的表达式中。
9.一种汽车,其特征在于,所述汽车包括处理器,存储器,存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的变量地址更新方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的变量地址更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910473291.9A CN112015444B (zh) | 2019-05-31 | 2019-05-31 | 一种变量地址更新方法、装置及汽车 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910473291.9A CN112015444B (zh) | 2019-05-31 | 2019-05-31 | 一种变量地址更新方法、装置及汽车 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112015444A CN112015444A (zh) | 2020-12-01 |
CN112015444B true CN112015444B (zh) | 2024-06-04 |
Family
ID=73507154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910473291.9A Active CN112015444B (zh) | 2019-05-31 | 2019-05-31 | 一种变量地址更新方法、装置及汽车 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112015444B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136211A (zh) * | 2011-11-23 | 2013-06-05 | 北汽福田汽车股份有限公司 | 一种a2l文件的自动生成方法和装置 |
CN106055351A (zh) * | 2016-05-20 | 2016-10-26 | 北京经纬恒润科技有限公司 | 一种控制***的开发方法和装置 |
CN106777393A (zh) * | 2017-02-24 | 2017-05-31 | 北京新能源汽车股份有限公司 | 一种数据更新方法及装置 |
CN106990981A (zh) * | 2017-03-20 | 2017-07-28 | 北京新能源汽车股份有限公司 | 程序更新方法及装置 |
CN107463401A (zh) * | 2017-07-31 | 2017-12-12 | 北京新能源汽车股份有限公司 | 变量读写文件的生成方法、装置及计算机可读存储介质 |
CN109324544A (zh) * | 2018-09-14 | 2019-02-12 | 国机智骏科技有限公司 | 整车控制器平台化配置与集成编译方法及*** |
CN109697279A (zh) * | 2018-12-27 | 2019-04-30 | 潍柴动力股份有限公司 | 一种a2l变量地址处理方法和装置 |
CN109710287A (zh) * | 2018-12-07 | 2019-05-03 | ***通信集团有限公司 | 一种热更新方法、装置及计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9274812B2 (en) * | 2011-10-06 | 2016-03-01 | Hand Held Products, Inc. | Method of configuring mobile computing device |
-
2019
- 2019-05-31 CN CN201910473291.9A patent/CN112015444B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136211A (zh) * | 2011-11-23 | 2013-06-05 | 北汽福田汽车股份有限公司 | 一种a2l文件的自动生成方法和装置 |
CN106055351A (zh) * | 2016-05-20 | 2016-10-26 | 北京经纬恒润科技有限公司 | 一种控制***的开发方法和装置 |
CN106777393A (zh) * | 2017-02-24 | 2017-05-31 | 北京新能源汽车股份有限公司 | 一种数据更新方法及装置 |
CN106990981A (zh) * | 2017-03-20 | 2017-07-28 | 北京新能源汽车股份有限公司 | 程序更新方法及装置 |
CN107463401A (zh) * | 2017-07-31 | 2017-12-12 | 北京新能源汽车股份有限公司 | 变量读写文件的生成方法、装置及计算机可读存储介质 |
CN109324544A (zh) * | 2018-09-14 | 2019-02-12 | 国机智骏科技有限公司 | 整车控制器平台化配置与集成编译方法及*** |
CN109710287A (zh) * | 2018-12-07 | 2019-05-03 | ***通信集团有限公司 | 一种热更新方法、装置及计算机存储介质 |
CN109697279A (zh) * | 2018-12-27 | 2019-04-30 | 潍柴动力股份有限公司 | 一种a2l变量地址处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112015444A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111291024B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN110673576B (zh) | 自动测试方法与装置、车辆和存储介质 | |
US20040143828A1 (en) | Firmware updating method and related apparatus for checking content of replacing firmware before firmware updating | |
CN107506219A (zh) | 一种基于Android***的通用版本升级方法 | |
CN108170465B (zh) | 一种版本信息管理方法、电子设备及可读存储介质 | |
US20210026756A1 (en) | Deriving software application dependency trees for white-box testing | |
CN111090663A (zh) | 事务并发控制方法、装置、终端设备及介质 | |
CN114780109B (zh) | Python项目第三方库依赖自动化解析与安装方法 | |
CN110990051B (zh) | 软件包依赖关系的维护方法、装置、介质和设备 | |
US20080196009A1 (en) | Apparatus and method for componentizing legacy system | |
CN112015444B (zh) | 一种变量地址更新方法、装置及汽车 | |
CN106990981B (zh) | 程序更新方法及装置 | |
CN116991758A (zh) | 一种空间布局的更新方法、装置、设备及介质 | |
CN113872971B (zh) | 新能源车联网通讯协议的升级方法、装置及云端平台 | |
CN111241008B (zh) | 用于校正eeprom变量与地址的方法、装置和控制器 | |
CN109254774A (zh) | 软件开发***中代码的管理方法和装置 | |
CN106681914B (zh) | 电视机画面质量调试方法及装置 | |
JP2004252719A (ja) | データ管理装置及びデータ管理方法及びデータ管理プログラム | |
US7222128B2 (en) | Method for updating and preserving data when performing a software upgrade | |
US20020129350A1 (en) | Method of automatic software installation in hand personal computer production line | |
CN116610345B (zh) | 一种基于执行记录表的应用程序升级方法和装置 | |
CN117130618B (zh) | 智能卡可执行文件的增量编译方法、装置、设备 | |
US11422926B2 (en) | Managing test coverage for a software application | |
CN116841657A (zh) | 接口函数调用方法和装置 | |
US20100094804A1 (en) | Method and Device for Updating a Database, and Computer Program Product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |