技术领域
[0001] 本发明涉及汽车仪表领域,尤其涉及汽车电子软件升级技术领域,具体是指一种实现针对汽车仪表进行软件升级处理的系统、方法、装置、处理器及其计算机可读存储介质。
相关背景技术
[0002] 现在汽车仪表液晶屏越来越大,需要显示的内容越来越多,可以显示很多图片,动画等,汽车仪表软件变的很大,由于汽车仪表可以显示车辆的很多信息,车辆在新增控制模块时,经常需要仪表增加显示内容,因此仪表软件会经常变更,需要经常升级更新软件,现有汽车仪表软件升级技术一般为UDS CAN升级,升级时需要将原有软件整个擦除,再升级新的整个软件;因此存在升级全部软件时花费时间太长,升级失败的概率较高,升级可靠性不高,容易导致客户在软件升级时抱怨的问题。
[0003] 原软件升级流程如图1所示,仅可升级全部软件。在软件升级时,将原有程序整个擦除并升级新的全部软件。
具体实施方式
[0038] 为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
[0039] 本发明的该实现针对汽车仪表进行软件升级处理的系统,其中包括PC诊断仪上位机和汽车仪表,所述的PC诊断仪上位机和汽车仪表通过CAN总线连接通讯;
[0040] 所述的系统还包括仪表软件升级包,所述的仪表软件升级包包括待升级软件和升级规则文件,所述的PC诊断仪上位机读取软件升级包内容自动完成升级;
[0041] 所述的待升级软件包括BLOCK1软件和全部应用软件,所述的BLOCK1软件占据汽车仪表的前30%的存储空间,通过升级规则文件判断软件升级时需要升级全部软件还是BLOCK1软件。
[0042] 作为本发明的优选实施方式,所述的BLOCK1软件存储有需要变更文字字库、文本显示内容和LCD报警图标,以及后续变更增加功能的预留空间;汽车仪表的后70%的存储空间存储有开机动画图片和不会变更的图片。
[0043] 作为本发明的优选实施方式,所述的升级规则文件包括基础软件版本名字和目标软件版本号名字,定义有升级到目标软件版本时需要升级BLOCK1软件还是需要升级全部软件,如果目标软件版本名字中包含BLOCK1则只需升级BLCOK1软件,否则,需升级全部软件。
[0044] 本发明的该实现针对汽车仪表进行软件升级处理的方法,其中所述的方法包括以下步骤:
[0045] (1)读取当前仪表软件版本号;
[0046] (2)将读取的软件版本号与升级包中软件升级规则文件进行比较,如果需要升级BLOCK1软件,则继续步骤(3);如果需要升级全部软件,则继续步骤(4);
[0047] (3)擦除BLOCK1地址空间内的软件,升级BLOCK1软件,继续步骤(5);
[0048] (4)擦除全部应用软件地址空间内的软件,升级全部应用软件,继续步骤(5);
[0049] (5)判断升级仪表软件时是否升级成功,如果是,则软件刷写成功,继续步骤(6);否则,显示“刷写失败:刷写中途异常错误”,继续步骤(1)重新开始升级;
[0050] (6)诊断仪显示“刷写成功”5s后发出仪表复位指令,仪表复位后正常工作,软件升级成功。
[0051] 作为本发明的优选实施方式,所述的步骤(1)具体包括以下步骤:
[0052] (1.1)PC诊断仪上位机通过读取仪表中软件版本信息,如果能够正常读取仪表软件版本信息,则将仪表软件版本信息临时存储到PC上指定的IC_Temp文件中;如果出现异常,则仪表应用软件被擦除,升级没有成功;
[0053] (1.2)根据软件升级规则文件,判断读取的软件版本信息在软件升级规则文件是否可以找到,如果是,则继续步骤(2);否则,软件不需要升级,PC诊断仪上位机停止刷写流程并显示“当前仪表软件版本无需升级”。
[0054] 作为本发明的优选实施方式,所述的步骤(1.1)中还包括以下步骤:
[0055] 需重新升级时不能正常读取软件版本信息时,则可以从IC_Temp文件中读取版本信息。
[0056] 作为本发明的优选实施方式,所述的步骤(3)具体包括以下步骤:
[0057] (3.1)PC诊断仪上位机下发擦除BLOCK1地址空间内的软件及升级BLCOK1地址空间的软件的指令0102;
[0058] (3.2)读取BLOCK1软件后下发升级BLOCK1软件。
[0059] 作为本发明的优选实施方式,所述的步骤(4)具体包括以下步骤:
[0060] (4.1)PC诊断仪上位机下发擦除全部应用软件地址空间内的软件及升级全部软件的指令0101;
[0061] (4.2)读取全部应用软件后下发升级全部应用软件。
[0062] 本发明的该用于实现针对汽车仪表进行软件升级处理的装置,其中所述的装置包括:
[0063] 处理器,被配置成执行计算机可执行指令;
[0064] 存储器,存储一个或多个计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述的实现针对汽车仪表进行软件升级处理的方法的各个步骤。
[0065] 本发明的该用于实现针对汽车仪表进行软件升级处理的处理器,其中所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述的实现针对汽车仪表进行软件升级处理的方法的各个步骤。
[0066] 本发明的该计算机可读存储介质,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现上述的实现针对汽车仪表进行软件升级处理的方法的各个步骤。
[0067] 本发明的具体实施方式中,旨在解决汽车仪表软件升级时需要将原有程序整个擦除并升级新的全部软件,升级全部软件时花费时间太长,升级时容易升级失败的问题,通过分块升级,在升级时仅擦除部分软件,升级部分软件,这样可以大大的缩短升级时间,提高软件升级的成功率,达到了节约系统升级时间和提高系统升级可靠性的目的;同时还降低了软件存储空间的擦除次数,进而间接提高了软件存储空间的使用寿命;具有升级时间短、升级可靠性高的优点,同时可兼容原升级策略,具有良好的应用前景,值得利用和推广。
[0068] 本发明专利提供一种汽车仪表软件升级的方法,该方法包含PC诊断仪上位机,汽车仪表,仪表软件升级包。PC诊断仪上位机,汽车仪表通过CAN总线进行通讯,如图2所示;
[0069] 仪表软件升级包需包含待升级软件和软件升级规则文件,PC诊断仪读取软件升级包内容可以自动完成软件升级。
[0070] 1、待升级软件
[0071] 汽车仪表要满足支持分块升级,需要对存储空间进行分块设置,存储空间可以分为2块;
[0072] 第1块软件BLCOK1为存储空间前30%空间,可以存放经常需要变更文字字库、文本显示内容、LCD报警图标,并预留足够的空间供后续变更增加功能时使用。
[0073] 第2块为存储空间后70%的空间,用于存放开机动画图片和不会变更的图片。
[0074] 软件BLCOK1大小为全部软件的1/3,升级软件时如果只升级软件BLCOK1,就会节省很多时间,大概节省2/3的时间,比如原升级全部软件时需要40分钟,仅升级BLOCK1软件时只需要大概12分钟;
[0075] 仪表软件升级包中的待升级软件包含待升级BLOCK1软件和待升级全部软件:其中一个为BLOCK1软件,BLOCK1软件为软件存储空间前30%;另一个为全部软件;可以通过软件升级包中的升级规则文件判断软件升级时需要升级全部软件还是BLOCK1软件。
[0076] 升级仪表BLOCK1软件时,根据PC诊断仪指令,仅擦除部分软件,降低了软件存储空间的擦除次数,提高了软件存储空间的使用寿命。
[0077] 升级仪表软件时,根据PC诊断仪指令,可以仅升级BLOCK1部分软件,可以大大的缩短升级时间,提高软件升级的成功率,具有升级时间短、升级可靠性高的优点。
[0078] 如果判断需要升级全部软件时,升级指令不变,可以兼容原来仅可升级全部软件的策略。
[0079] 2、软件升级规则文件
[0080] 软件升级包中的软件升级规则文件包含基础软件版本名字和目标软件版本号名字,定义了基础软件版本升级到目标版本软件时需要升级BLOCK1软件还是需要升级全部软件,如果目标版本软件名字中含BLOCK1则只需升级BLCOK1软件,否则需升级全部软件。
[0081] 本发明的具体实施例中,提供的仪表软件升级流程,如图3所示:
[0082] 第1步,PC诊断仪通过读取仪表中软件版本信息。如果能够正常读取仪表软件版本信息,则立即将该信息临时存储到PC上指定的IC_Temp文件中。如果升级软件途中出现异常,仪表应用软件被擦除,升级没有成功,需重新升级时不能正常读取软件版本信息时,则可以从IC_Temp文件中读取版本信息。根据软件升级规则文件,如果读取的软件版本信息在软件升级规则文件里找不到,则软件不需要升级,诊断仪立即停止刷写流程并显示“当前仪表软件版本无需升级”;如果读取的软件版本信息在软件升级规则文件里可以找到,则继续以下流程。
[0083] 第2步,诊断仪升级软件,诊断仪读取软件升级包中升级规则文件与读取的仪表软件版本比对,识别好本次升级需要刷写BLOCK1软件还是全部软件,然后下发不同的刷写指令。如果仅需升级BLOCK1软件,诊断仪下发擦除BLOCK1地址空间内的软件,并升级BLCOK1地址空间的软件的指令01 02;如果需升级全部软件,诊断仪下发擦除全部应用软件地址空间内的软件,并升级全部软件的指令01 01,该指令与原来仅能升级全部软件时相同,因此可以实现兼容原来的软件升级策略;诊断仪升级仪表软件时如果升级失败,显示“刷写失败:刷写中途异常错误”,此时诊断仪执行从第1步重新开始升级;如果软件刷写成功,则继续以下流程。
[0084] 第3步,如果软件刷写成功,诊断仪显示“刷写成功”5s后发出仪表复位指令,仪表复位后正常工作,软件升级成功。
[0085] 以上流程必须由诊断仪全自动完成,不允许加入任何人为操作因素,避免人为失误导致软件升级错误。
[0086] 本发明以一款汽车组合仪表作为具体实施例。
[0087] 该款仪表在实施本发明前,升级仪表软件只能升级全部软件,仪表软件有18M大小,升级全部仪表软件需要40分钟,客户抱怨升级时花费时间太长。
[0088] 该款仪表在实施本发明后,升级仪表软件需要如下步骤:
[0089] 步骤1:PC诊断仪通过读取仪表中软件版本信息,并将该信息临时存储到PC上指定的IC_Temp文件中。
[0090] 步骤2:P诊断仪根据软件升级包中升级规则文件识别好本次升级仅需要刷写BLOCK1软件,BLOCK1软件为6M,完成升级软件仅需12分钟,大大缩短了升级时间。
[0091] 以上流程由诊断仪全自动完成,避免人为失误导致软件升级错误,提高了软件升级的可靠性和效率,提高了客户的满意度。
[0092] 本实施例的具体实现方案可以参见上述实施例中的相关说明,此处不再赘述。
[0093] 可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
[0094] 需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
[0095] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0096] 采用了本发明的实现针对汽车仪表进行软件升级处理的系统、方法、装置、处理器及其计算机可读存储介质,在升级仪表软件时仅擦除部分软件,降低了软件存储空间的擦除次数,进而间接提高了软件存储空间的使用寿命。本发明在升级仪表软件时仅升级部分软件,解决了升级全部软件时花费时间太长,升级时容易升级失败的问题,可以大大的缩短升级时间,提高软件升级的成功率,具有升级时间短、升级可靠性高的优点。本发明在升级仪表软件时可以兼容原升级全部软件的策略,可以自动判断升级部分软件还是全部软件。
[0097] 在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。