首页 / 专利库 / 专利权 / 专利合作条约 / 第II章 / 国际初步审查单位 / 国际初步审查 / 国际初步审查要求 / 选定 / 基于仪表进行组件程序更新的方法、系统及装置

基于仪表进行组件程序更新的方法、系统及装置

阅读:1027发布:2020-06-26

专利汇可以提供基于仪表进行组件程序更新的方法、系统及装置专利检索,专利查询,专利分析的服务。并且本 发明 揭示了基于仪表进行组件程序更新的方法、系统及装置,其中,基于仪表进行组件程序更新的方法步骤如下:S1,仪表接收新程序文件及待更新程序组件信息,并 选定 待更新程序的组件;S2,仪表判断新程序文件是否是选定组件的可执行程序;S3,仪表根据S2步骤的判断结果,确认是否建立与选定组件的连接通信,并在成功与选定组件连接通信时,将需更新的全部或局部数据传输给选定组件进行更新,并接收选定组件的回传数据进行校验,在校验合格时,将新程序文件进行备份,完成选定组件的程序更新。本方法操作便利,设计人性化,应用更加灵活,局部数据更新极快提高程序更新速度,极大减少了传输数据量,大大减少了程序更新所需的时间。,下面是基于仪表进行组件程序更新的方法、系统及装置专利的具体信息内容。

1.基于仪表进行组件程序更新的方法,其特征在于:包括如下步骤:
S1,仪表接收新程序文件及待更新程序组件信息,并选定待更新程序的组件;
S2,仪表判断所述新程序文件是否是选定组件的可执行程序;
S3,根据S2步骤的判断结果,仪表确认是否建立与选定组件的连接通信,并在成功与选定组件连接通信时,将需更新的全部或局部数据传输给选定组件进行更新,并接收选定组件的回传数据进行校验,以及在校验合格时,将新程序文件进行备份,完成选定组件的程序更新。
2.根据权利要求1所述的基于仪表进行组件程序更新的方法,其特征在于:所述S1步骤中,所述仪表通过USB接口或wifi从存储有新程序文件的存储装置获得所述新程序文件。
3.根据权利要求1所述的基于仪表进行组件程序更新的方法,其特征在于:在所述S2步骤中,仪表通过至少校验选定组件CPU的可执行文件的标示信息及格式与新程序文件的标示信息和格式是否一致来判断新程序是否是选定组件的可执行程序。
4.根据权利要求1所述的基于仪表进行组件程序更新的方法,其特征在于:所述S3步骤包括如下过程;
S31,当所述新程序文件是选定组件的可执行程序,将所述新程序文件与仪表中备份的选定组件的当前执行程序文件进行数据比对,确认并记录差异数据以及差异数据的偏移地址,并确认程序更新方式是局部更新还是全部更新,执行S33步骤;
S32,当所述新程序文件不是选定组件的可执行程序,仪表提示文件格式错误的信息;
S33,所述仪表与选定组件进行握手连接,并在两者连接成功时,执行S34步骤,在两者连接失败时,仪表提示连接失败,是否重新连接的信息;
S34,仪表根据程序更新方式,将全部数据或差异数据及差异数据的偏移地址通过CAN总线传输给选定组件进行更新,并接收选定组件的回传数据;
S35,仪表对回传数据进行校验,当校验成功时,执行S36步骤;当校验失败时,仪表提示是否重新更新程序的信息;
S36,仪表将所述的新程序文件存储到仪表备份区,完成选定组件的程序更新。
5.根据权利要求4所述的基于仪表进行组件程序更新的方法,其特征在于:所述S31步骤包括如下过程:
S311,将所述新程序文件读入内存数据缓存区buf1中,同时计算出新程序文件长度len1:
S312,将仪表备份区中的选定组件的备份程序文件读入到内存数据缓冲区buf2中,同时计算出备份程序文件长度len2;
S313,根据函数len=max(len1,len2)的结果,对内存数据缓存区buf1和内存数据缓冲区buf2中的数据从对应的起始地址进行数据比较,当对比到不同的数据时将该数据存储到数据缓存区buf3中,并将此时对比的相对于起始地址偏移的位置数据存储到数据缓存区buf4中,至将所有数据对比完成,最终新程序文件和选定组件的备份程序文件的差异数据就存储在数据缓存区buf3中,对应的偏移地址就存储在数据缓存区buf4中;
S314,计算数据缓存区buf3和数据缓存区buf4中的数据的总长度lenAll,如果lenAll> len1,则程序更新方式为全部更新;如果lenAll< len1,则程序更新方式为局部更新。
6.根据权利要求4所述的基于仪表进行组件程序更新的方法,其特征在于:所述S33,步骤包括如下过程:
S331,所述仪表向总线发送程序更新指令,指令中包含用于确定发送给选定组件的目标地址及更新方式;
S332,各组件在收到仪表发送过来的指令后,会根据指令内容判断是否为仪表发送给自己的指令,如果不是自己的,则丢弃,如果与自己匹配成功,则向仪表发送ASK信号
S333,仪表收到选定组件的ASK信号后,与该组件握手成功,准备进行下一步数据传输。
7.根据权利要求5所述的基于仪表进行组件程序更新的方法,其特征在于:在所述S35步骤中,所述仪表收到的回传数据是从选定组件写入到程序存储区中的再读出的数据,所述仪表收到回传数据后,与内存数据缓存区buf1中的数据进行对比,当两者数据全部相同,则验证成功。
8.基于仪表进行组件程序更新的系统,其特征在于:包括
信息接收单元,用于接收新程序文件及新程序文件组件以信息,并选定新程序文件的组件;
程序组件匹配单元,用于判断所述新程序文件是否是选定组件的可执行程序;
更新单元,用于根据程序组件匹配单元的判断结果,确认是否建立与选定组件的连接通信,并在成功与选定组件连接通信时,将需更新的全部或局部数据传输给选定组件进行更新,并接收选定组件的回传数据进行校验,以及在校验合格时,将新程序文件进行备份,完成选定组件的程序更新。
9.根据权利要求8所述的基于仪表进行组件程序更新的系统,其特征在于:所述更新单元包括:
更新方式确认单元,用于将新程序文件与仪表中备份的选定组件的当前执行程序文件进行数据比对,确认并记录差异数据以及差异数据的偏移地址,并确认程序更新方式是局部更新还是全部更新;
仪表组件连接单元,用于建立仪表与选定组件的握手连接;
数据传输单元,用于在仪表组件连接单元完成仪表与选定组件握手连接时,将全部或差异数据及差异数据的偏移地址传输给选定组件进行更新,并接收选定组件的回传数据;
数据校验单元,用于对回传数据进行校验;
更新结果确定单元,用于在数据校验单元校验成功时,将所述的新程序文件存储到仪表备份区,完成选定组件的程序更新;当数据校验单元校校验失败时,使仪表提示是否重新更新程序的信息。
10.基于仪表进行组件程序更新的装置,其特征在于:包括仪表及若干组件,所述仪表和组件通过CAN总线连接,所述仪表包括权利要求8或9所述的基于仪表进行组件程序更新的系统。

说明书全文

基于仪表进行组件程序更新的方法、系统及装置

技术领域

[0001] 本发明涉及程序更新领域,尤其是基于仪表进行组件程序更新的方法、系统及装置。

背景技术

[0002] 目前在工程机械或者汽车领域的各组件(包括控制及显示单元等)都以CAN总线的方式组网连接,由于各个组件安装位置不一样,因此分别对各个组件进行程序更新将造成一定麻烦,操作不便,效率低。
[0003] 再者由于目前技术的发展以及客户对功能的需要,导致各部分的应用程序尺寸越来越大,由原来的几十K到几百K,到目前动辄以几MB数十MB大小的尺寸,由于受限于CAN总线数据带宽的影响,导致在更新一个应用程序时需要非常长的时间,这个是时间以及成本无法承受的。

发明内容

[0004] 本发明的目的就是为了解决现有技术中存在的上述问题,提供基于仪表进行组件程序更新的方法、系统及装置。
[0005] 本发明的目的通过以下技术方案来实现:基于仪表进行组件程序更新的方法,包括如下步骤:
S1,仪表接收新程序文件及待更新程序组件信息,并选定待更新程序的组件;
S2,仪表判断所述新程序文件是否是选定组件的可执行程序;
S3,根据S2步骤的判断结果,仪表确认是否建立与选定组件的连接通信,并在成功与选定组件连接通信时,将需更新的全部或局部数据传输给选定组件进行更新,并接收选定组件的回传数据进行校验,以及在校验合格时,将新程序文件进行备份,完成选定组件的程序更新。
[0006] 优选的,在所述S1步骤中,所述仪表通过USB接口或wifi从存储有新程序文件的存储装置获得所述新程序文件。
[0007] 优选的,在所述S2步骤中,通过至少校验选定组件CPU的可执行文件的标示信息及格式与新程序文件的标示信息和格式是否一致来判断新程序是否是选定组件的可执行程序。
[0008] 优选的,所述S3步骤包括如下过程;S31,当所述新程序文件是选定组件的可执行程序,将所述新程序文件与仪表中备份的选定组件的当前执行程序文件进行数据比对,确认并记录差异数据以及差异数据的偏移地址,并确认程序更新方式是局部更新还是全部更新,执行S33步骤;
S32,当所述新程序文件不是选定组件的可执行程序,仪表提示文件格式错误的信息;
S33,所述仪表与选定组件进行握手连接,并在两者连接成功时,执行S34步骤,在两者连接失败时,仪表提示连接失败,是否重新连接的信息;
S34,仪表根据程序更新方式,将全部数据或差异数据及差异数据的偏移地址通过CAN总线传输给选定组件进行更新,并接收选定组件的回传数据;
S35,仪表对回传数据进行校验,当校验成功时,执行S36步骤;当校验失败时,仪表提示是否重新更新程序的信息;
S36,仪表将所述的新程序文件存储到仪表备份区,完成选定组件的程序更新。
[0009] 优选的,所述S31步骤包括如下过程:S311,将所述新程序文件读入内存数据缓存区buf1中,同时计算出新程序文件长度len1:
S312,将仪表备份区中的选定组件的备份程序文件读入到内存数据缓冲区buf2中,同时计算出备份程序文件长度len2;
S313,根据函数len=max(len1,len2)的结果,对内存数据缓存区buf1和内存数据缓冲区buf2中的数据从对应的起始地址进行数据比较,当对比到不同的数据时将该数据存储到数据缓存区buf3中,并将此时对比的相对于起始地址偏移的位置数据存储到数据缓存区buf4中,至将所有数据对比完成,最终新程序文件和选定组件的备份程序文件的差异数据就存储在数据缓存区buf3中,对应的偏移地址就存储在数据缓存区buf4中;
S314,计算数据缓存区buf3和数据缓存区buf4中的数据的总长度lenAll,如果lenAll> len1,则程序更新方式为全部更新;如果lenAll< len1,则程序更新方式为局部更新。
[0010] 优选的,所述S33,步骤包括如下过程:S331,所述仪表向总线发送程序更新指令,指令中包含用于确定发送给选定组件的目标地址及更新方式;
S332,各组件在收到仪表发送过来的指令后,会根据指令内容判断是否为仪表发送给自己的指令,如果不是自己的,则丢弃,如果与自己匹配成功,则向仪表发送ASK信号
S333,仪表收到选定组件的ASK信号后,与该组件握手成功,准备进行下一步数据传输。
[0011] 优选的,在所述S35步骤中,所述仪表收到的回传数据是从选定组件写入到程序存储区中的再读出的数据,所述仪表收到回传数据后,与内存数据缓存区buf1中的数据进行对比,当两者数据全部相同,则验证成功。
[0012] 基于仪表进行组件程序更新的系统,包括信息接收单元,用于接收新程序文件及新程序文件组件信息,并选定新程序文件的组件;
程序组件匹配单元,用于判断所述新程序文件是否是选定组件的可执行程序;
更新单元,用于根据程序组件匹配单元的判断结果,确认是否建立与选定组件的连接通信,并在成功与选定组件连接通信时,将需更新的全部或局部数据传输给选定组件进行更新,并接收选定组件的回传数据进行校验,以及在校验合格时,将新程序文件进行备份,完成选定组件的程序更新。
[0013] 优选的,所述更新单元包括:更新方式确认单元,用于将新程序文件与仪表中备份的选定组件的当前执行程序文件进行数据比对,确认并记录差异数据以及差异数据的偏移地址,并确认程序更新方式是局部更新还是全部更新;
仪表组件连接单元,用于建立仪表与选定组件的握手连接;
数据传输单元,用于在仪表组件连接单元完成仪表与选定组件握手连接时,将全部或差异数据及差异数据的偏移地址传输给选定组件进行更新,并接收选定组件的回传数据;
数据校验单元,用于对的回传数据进行校验;
更新结果确定单元,用于在数据校验单元校验成功时,将所述的新程序文件存储到仪表备份区,完成选定组件的程序更新;当数据校验单元校校验失败时,使仪表提示是否重新更新程序的信息。
[0014] 基于仪表进行组件程序更新的装置,包括仪表及若干组件,所述仪表和组件通过CAN总线连接,所述仪表包括权利要求8或9所述的基于仪表进行组件程序更新的系统。本发明技术方案的优点主要体现在:本方法设计精巧,过程简单,通过用户可直接接触的仪表通过相应的简单的操作可对整机系统CAN总线上的各个组件进行程序更新,操作便利,设计人性化。
[0015] 并且,通过判断新程序文件的差异数据及偏移地址的数据量与新程序文件的数据量的大小来确认程序更新方式,应用更加灵活。
[0016] 当采用局部数据更新的方法极快提高程序更新速度,应用程序在正常升级或者BUG修复的情况下,其相应的可执行二进制文件实际上也只有少量数据改变,例如在对一个10MB左右的应用程序进行常规功能添加或删减时,经过编译器编译出来的可执行二进制文件对比可以发现,数据变化部分不到10%,也就是不到1M的数据,这样我们在更新程序时仪表只需要将变化部分数据通过CAN总线发送给需要更新程序的组件而不用将全部的二进制文件进行发送更新,这样就极大减少了通过CAN总线传输的数据量,大大减少了程序更新所需的时间,提高了程序更新效率。
附图说明
[0017] 图1是本发明的方法的过程示意图;图2是本发明的装置的结构框图

具体实施方式

[0018] 本发明的目的、优点和特点,将通过下面优选实施例的非限制性说明进行图示和解释。这些实施例仅是应用本发明技术方案的典型范例,凡采取等同替换或者等效变换而形成的技术方案,均落在本发明要求保护的范围之内。
[0019] 本发明揭示了基于仪表进行组件程序更新的方法,该方法是一种通过仪表给与仪表连接在同一CAN总线上的组件(至少包括控制器、显示器等)快速更新程序的方法,通过仪表连接U盘或者无线wifi连接手机、PAD、PC等存储装置,将组件的待更新程序文件传输到仪表,然后根据人工操作仪表菜单的信号及内部控制程序,选择操作更新相应的组件的程序,如附图1所示,具体包括如下步骤:S1,仪表接收新程序文件及待更新程序组件信息,并选定待更新程序的组件,其中,所述仪表通过USB接口或wifi从存储有新程序文件的存储装置获得所述新程序文件,所述待更新程序组件信息是人工通过仪表上的选择菜单进行待更新组件选择时的输入信号
[0020] S2,仪表判断所述新程序文件是否是选定组件的可执行程序;详细来说,所述仪表通过至少校验选定组件CPU的可执行文件的标示信息及格式(不同组件的可执行文件的格式和标示信息是不一样的)与新程序文件的标示信息和格式是否一致来判断新程序是否是选定组件的可执行程序。
[0021] S3,根据S2步骤的判断结果,仪表确认是否建立与选定组件的连接通信,并在成功与选定组件连接通信时,将需更新的全部或局部数据传输给选定组件进行更新,并接收选定组件的回传数据进行校验,以及在校验合格时,将新程序文件进行备份,完成选定组件的程序更新。
[0022] 具体来说,所述S3步骤包括如下过程;S31,当所述新程序文件是选定组件的可执行程序,将所述新程序文件与仪表中备份的选定组件的当前执行程序文件进行数据比对,确认并记录差异数据以及差异数据的偏移地址,并确认程序更新方式是局部更新还是全部更新,执行S33步骤。
[0023] 其进一步的工作过程如下:S311,将所述新程序文件读入仪表的内存数据缓存区buf1中,同时计算出新程序文件长度len1。
[0024] S312,将仪表备份区中的选定组件的备份程序文件(当前执行程序文件)读入到内存数据缓冲区buf2中,同时计算出备份程序文件长度len2。
[0025] S313,根据函数len=max(len1,len2)的结果,对内存数据缓存区buf1和内存数据缓冲区buf2中的数据从对应的起始地址进行数据比较,当对比到不同的数据时,将该数据存储到数据缓存区buf3中,并将此时对比的相对于起始地址偏移的位置数据存储到数据缓存区buf4中,至将所有数据对比完成,最终新程序文件和选定组件的备份程序文件的差异数据就存储在数据缓存区buf3中,对应的偏移地址就存储在数据缓存区buf4中。
[0026] S314,计算数据缓存区buf3和数据缓存区buf4中的数据的总长度lenAll,如果lenAll> len1,则程序更新方式为全部更新;如果lenAll< len1,则程序更新方式为局部更新。
[0027] S32,当所述新程序文件不是选定组件的可执行程序,仪表提示文件格式错误的信息。
[0028] S33,所述仪表与选定组件进行握手连接,握手连接的具体过程如下:S331,所述仪表向总线发送程序更新指令,指令中包含用于确定发送给选定组件的目标地址及更新方式。
[0029] S332,各组件在收到仪表发送过来的指令后,会根据指令内容判断是否为仪表发送给自己的指令,如果不是自己的,则丢弃,如果与自己匹配成功,则向仪表发送ASK信号。
[0030] S333,仪表收到选定组件的ASK信号后,与该组件握手成功,准备进行下一步数据传输。
[0031] 根据上述的过程,当仪表与选定组件握手连接成功时,执行S34步骤,在两者连接失败时,仪表提示连接失败,是否重新连接的信息,工作人员可以根据提示,向仪表输入重新建立握手连接的信号。
[0032] S34,仪表根据程序更新方式,将全部数据或差异数据及差异数据的偏移地址通过CAN总线传输给选定组件进行更新,并接收选定组件的回传数据;当进行局部更新时,仪表会将前面对比好的差异数据以及数据在程序存储器中的偏移地址发送给组件,这时组件只要根据对应的地址的数据,替换掉自己的应用程序存储区中的数据(各个组件中的应用程序地址在程序存储区中都是固定的起始位置,这时只要根据仪表发送下来的偏移地址就能确定对应数据的位置了)。
[0033] 另外,组件收到仪表传输下来的所有数据并且全部刷写到其对应的程序存储区后,会将刚才写入到程序存储区中的数据再读出来,然后再发送给仪表。
[0034] S35,仪表对回传数据进行校验,具体是通过将回传数据,与内存数据缓存区buf1中的数据进行对比,当两者数据全部相同,则验证成功,并执行S36步骤;当两者数据有差异,则校验失败,此时,仪表提示是否重新更新程序的信息,此时意味着需要重新进行上述程序更新的全过程。
[0035] S36,仪表将所述的新程序文件存储到仪表备份区(仪表备份区存储的程序文件永远都是各个组件当前的且可执行的正确程序文件),完成选定组件的程序更新。
[0036] 本专利进一步揭示了基于仪表进行组件程序更新的装置,如附图2所示,包括仪表及若干组件,所述仪表和组件通过CAN总线连接,所述仪表包括连接外部存储设备的USB接口或网络连接模,从而可以连接U盘、移动硬盘、手机、PC等存储装置以接收待更新的新程序文件,并且,所述仪表包括用于实现上述方法的基于仪表进行组件程序更新的系统,所述基于仪表进行组件程序更新的系统,包括信息接收单元,用于接收新程序文件及新程序文件组件以信息,并选定新程序文件的组件;
程序组件匹配单元,用于判断所述新程序文件是否是选定组件的可执行程序;
更新单元,用于根据程序组件匹配单元的判断结果,确认是否建立与选定组件的连接通信,并在成功与选定组件连接通信时,将需更新的全部或局部数据传输给选定组件进行更新,并接收选定组件的回传数据进行校验,以及在校验合格时,将新程序文件进行备份,完成选定组件的程序更新。
[0037] 并且,所述更新单元包括:更新方式确认单元,用于将新程序文件与仪表中备份的选定组件的当前执行程序文件进行数据比对,确认并记录差异数据以及差异数据的偏移地址,并确认程序更新方式是局部更新还是全部更新;
仪表组件连接单元,用于建立仪表与选定组件的握手连接;
数据传输单元,用于在仪表组件连接单元完成仪表与选定组件握手连接时,将全部或差异数据及差异数据的偏移地址传输给选定组件进行更新,并接收选定组件的回传数据;
数据校验单元,用于对的回传数据进行校验;
更新结果确定单元,用于在数据校验单元校验成功时,将所述的新程序文件存储到仪表备份区,完成选定组件的程序更新;当数据校验单元校校验失败时,使仪表提示是否重新更新程序的信息。
[0038] 本发明尚有多种实施方式,凡采用等同变换或者等效变换而形成的所有技术方案,均落在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈