CN112015444A - 一种变量地址更新方法、装置及汽车 - Google Patents

一种变量地址更新方法、装置及汽车 Download PDF

Info

Publication number
CN112015444A
CN112015444A CN201910473291.9A CN201910473291A CN112015444A CN 112015444 A CN112015444 A CN 112015444A CN 201910473291 A CN201910473291 A CN 201910473291A CN 112015444 A CN112015444 A CN 112015444A
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.)
Granted
Application number
CN201910473291.9A
Other languages
English (en)
Other versions
CN112015444B (zh
Inventor
王亮
余军
吕玉军
纪伟
代康伟
梁海强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Electric Vehicle Co Ltd
Original Assignee
Beijing Electric Vehicle Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Electric Vehicle Co Ltd filed Critical Beijing Electric Vehicle Co Ltd
Priority to CN201910473291.9A priority Critical patent/CN112015444B/zh
Priority claimed from CN201910473291.9A external-priority patent/CN112015444B/zh
Publication of CN112015444A publication Critical patent/CN112015444A/zh
Application granted granted Critical
Publication of CN112015444B publication Critical patent/CN112015444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

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 (12)

1.一种变量地址更新方法,应用于汽车软件系统,其特征在于,包括:
软件系统更新前,获取配置XML文件,所述配置XML文件中记录有当前版本软件系统中的所有第一标定变量地址;
获取C文件,所述C文件中描述有新版本软件系统中的所有待更新地址的第二标定变量;
根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新。
2.根据权利要求1所述的变量地址更新方法,其特征在于,获取C文件的步骤,包括:
解析配置XML文件,获取所述第二标定变量所在C文件文件名合集;
根据所述C文件文件名合集,找到并逐个读取C文件,解析C文件中描述的新版本软件系统中的所有待更新地址的第二标定变量。
3.根据权利要求2所述的变量地址更新方法,其特征在于,根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新的步骤,包括:
遍历C文件中的所有第二标定变量,并在配置XML文件中进行查找;
若找到,则判断所述第二标定变量为当前版本软件系统中已存在的第一标定变量,并将所述配置XML文件中记录的此第一标定变量的地址附加到C文件中所述第二标定变量所在的表达式中;
若未找到,则判断此第二标定变量为新版本系统中新增加的变量,为此新增的第二标定变量分配第一地址空间,并将所述第一地址空间附加到C文件中此第二标定变量所在的表达式中。
4.根据权利要求3所述的变量地址更新方法,其特征在于,为此新增的第二标定变量分配第一地址空间的步骤,包括:
解析配置XML文件,获取用于进行地址分配的第一配置信息,所述第一配置信息包括:C文件中可能出现的变量类型及编译器对所述变量类型定义的对齐宽度,地址池的起始地址及大小配置中的至少一项;
根据第一配置信息,在地址池中找到满足对齐宽度且空闲的第一地址空间,将所述第一地址空间分配给所述新增的第二标定变量,并在配置XML文件中进行记录。
5.根据权利要求4所述的变量地址更新方法,其特征在于,根据第一配置信息,在地址池中找到满足对齐宽度且空闲的第一地址空间,将所述第一地址空间分配给所述新增的第二标定变量,并在配置XML文件中进行记录的步骤之后,还包括:
在地址池中删除所述第一地址空间。
6.根据权利要求1所述的变量地址更新方法,其特征在于,根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新的步骤之后,还包括:
在配置XML文件中删除新版软件系统中未记录的第一标定变量。
7.根据权利要求6所述的变量地址更新方法,其特征在于,在配置XML文件中删除新版本软件系统中未记录的第一标定变量的步骤,包括:
遍历所述配置XML文件中存储的第一标定变量,并在所述C文件的数据结构中进行匹配查找;
若未找到,则判断新版本系统中未记录所述第一标定变量,在配置XML文件中删除所述第一标定变量的记录并将删除的所述第一标定变量的第二地址空间返还给地址池。
8.根据权利要求1所述的变量地址更新方法,其特征在于,软件系统更新前,解析配置XML文件,所述配置XML文件中记录有当前版本软件系统中的所有第一标定变量地址的步骤之前,所述方法还包括:
判断地址池是否初始化;
若地址池未初始化,则利用配置XML文件初始化地址池。
9.根据权利要求1所述的变量地址更新方法,其特征在于,根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新的步骤之后,还包括:
获取附加有第二标定变量地址信息的C文件;
根据附加有第二标定变量地址信息的C文件进行软件系统更新。
10.一种变量地址更新装置,应用于汽车软件系统,其特征在于,包括:
第一获取模块,用于软件系统更新前,获取配置XML文件,所述配置XML文件中记录有当前版本软件系统中的所有第一标定变量地址;
第二获取模块,用于获取C文件,所述C文件中描述有新版本软件系统中的所有待更新地址的第二标定变量;
第一处理模块,用于根据所述第一标定变量地址,对所述C文件中的第二标定变量进行地址更新。
11.一种汽车,其特征在于,所述汽车包括处理器,存储器,存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述的变量地址更新方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述的变量地址更新方法的步骤。
CN201910473291.9A 2019-05-31 一种变量地址更新方法、装置及汽车 Active CN112015444B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910473291.9A CN112015444B (zh) 2019-05-31 一种变量地址更新方法、装置及汽车

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910473291.9A CN112015444B (zh) 2019-05-31 一种变量地址更新方法、装置及汽车

Publications (2)

Publication Number Publication Date
CN112015444A true CN112015444A (zh) 2020-12-01
CN112015444B CN112015444B (zh) 2024-06-04

Family

ID=

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130091344A1 (en) * 2011-10-06 2013-04-11 Hand Held Products, Inc. Method of configuring mobile computing device
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 中国移动通信集团有限公司 一种热更新方法、装置及计算机存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130091344A1 (en) * 2011-10-06 2013-04-11 Hand Held Products, Inc. Method of configuring mobile computing device
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变量地址处理方法和装置

Similar Documents

Publication Publication Date Title
CN106095620B (zh) 一种嵌入式Linux存储分区的开发方法
US7194475B2 (en) Method, system, and program for performing an impact analysis of program statements in at least one source code file
CN106776633B (zh) 用户可配置的自动生成a2l文件的装置和方法
CN105205053A (zh) 一种数据库增量日志解析方法及系统
CN107644056B (zh) 一种文件存储方法、装置及系统
CN110413272B (zh) 前端项目构建方法、装置、存储介质及设备
CN111596945B (zh) 嵌入式系统动态多分区固件的差分升级方法
CN105786525A (zh) 一种进程模型向线程模型移植代码的方法及装置
CN112015444A (zh) 一种变量地址更新方法、装置及汽车
CN112015444B (zh) 一种变量地址更新方法、装置及汽车
CN111176705A (zh) 特征库的升级方法及装置
CN116048481A (zh) 业务信息处理系统及方法
CN109254774A (zh) 软件开发系统中代码的管理方法和装置
US20210165726A1 (en) Transferring data from a source complex variable to a target complex variable
CN115168179A (zh) 一种诊断did自动测试方法、系统及存储介质
CN113011145A (zh) 数据导出方法、装置、终端设备和存储介质
CN109019217B (zh) 一种电梯控制软件现场调试系统
CN113177020A (zh) 数据处理方法及装置
CN114647439A (zh) 一种代码扫描的方法、代码迁移的方法及相关装置
CN106681914B (zh) 电视机画面质量调试方法及装置
CN114780109B (zh) Python项目第三方库依赖自动化解析与安装方法
CN116841657A (zh) 接口函数调用方法和装置
CN112241254B (zh) 一种车联网多端系统的代码统计方法及装置
US10521314B2 (en) Cross-referenced irregular field storage in databases
CN117991987A (zh) 孤儿节点处理方法、装置、操作系统、电子设备

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