一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

信息处理装置、程序更新系统以及程序更新方法与流程

2022-10-26 22:58:54 来源:中国专利 TAG:

信息处理装置、程序更新系统以及程序更新方法
1.本技术要求于令和2年(2020年)2月21日提交的日本专利申请即特愿2020-28467的优先权,通过参照其内容而结合到本技术中。
技术领域
2.本发明涉及信息处理装置和控制装置,特别涉及程序更新方法。


背景技术:

3.作为程序更新失败时的恢复对策,正在研究以具备能够保持相同种类的程序的两个存储区域(启动区域、待机区域)的装置为对象,仅更新一个存储区域(待机区域)的程序的程序更新技术。在这样的程序更新技术中,在万一程序的更新失败的情况下,在不是更新对象的启动区域中启动。特别是,为了尽可能用最新的版本恢复,成为程序的更新对象的待机区域优选不是最近启动的区域,而是待机的区域。例如,在专利文献1(日本特开平10-63497号公报)中记载了一种程序更新方法,其特征在于,在更新执行中的程序时,在与存储该程序的存储区域不同的存储区域中存储更新后的所述程序,在下次执行所述程序时,选择存储在多个所述存储区域中的所述程序中的最新的程序,并执行该程序。
4.根据专利文献1(日本特开平10-63497号公报)所记载的技术,能够将与存储有执行中的程序的存储区域不同的存储区域确定为更新对象。


技术实现要素:

发明要解决的问题
5.在具有2个存储区域的装置中,由于每个存储区域的地址值不同等的影响,有时更新用程序不完全一致。在这种情况下,在专利文献1(日本特开平10-63497号公报)的技术中,程序的更新作业者不能事先确认更新对象区域,所以需要在程序更新时确认更新对象区域并选定适合该更新对象区域的更新程序的处理。
6.本发明是鉴于以上的问题而完成的,其目的在于,在控制程序的执行中,在待机中的区域的程序能够更新的装置中,削减程序更新时所需要的暂时的存储区域的使用量,并且降低程序的更新作业者的运用负荷。解决问题的技术手段
7.本技术中公开的发明的代表性例子如下。即,一种执行程序的信息处理装置,具备:存储部,其包含存储可改写的程序的多个区域;以及运算部,其执行存储在所述存储部中的程序,并且具有:启动区域确定部,其从所述多个区域中确定所述运算部正在执行程序的启动区域;规则更新部,其根据所确定的所述启动区域的信息,确定程序可改写的改写对象区域;以及接收选择部,其选择性地接收存储在所述改写对象区域中的改写程序。发明的效果
8.根据本发明,能够减少更新程序的暂时保管用存储器的使用量。通过以下的实施例的说明,可明确上述以外的问题、构成及效果。
附图说明
9.图1是示出本发明的实施例1的信息处理装置的构成的图。图2是本发明的实施例1的信息处理装置更新程序的处理的流程图。图3是表示本发明的实施例1的程序更新对象标志信息的数据结构的例子的图。图4是表示本发明的实施例1的启动区域信息的数据结构的例子的图。图5是示出根据本发明实施例1的包结构信息的数据结构的例子的图。图6是表示本发明的实施例1的接收规则的数据结构的例子的图。图7是表示本发明的实施例1的验证期待值组合信息的数据结构的例子的图。图8是表示本发明的实施例1的基于成为更新对象的验证期待值组合信息的接收规则的数据结构的例子的图。图9是表示本发明的实施例2的程序更新系统的构成的图。图10是本发明的实施例2的程序更新系统中的更新处理顺序图。
具体实施方式
10.以下,参照附图详细说明本发明的实施例。
11.《实施例1》作为本发明的实施例,说明以与车载网络连接的信息处理装置(例如,控制车辆的electric control unit)为对象的程序更新方法的例子。但是,本发明的技术思想并不限定于该例。例如,如果不是车载控制装置(ecu),而是具有启动中区域和待机中区域的2面构成并更新程序的信息处理装置,则除了车辆控制装置以外也可以应用本发明。
12.图1是表示本发明的实施例1的信息处理装置1的构成的图。信息处理装置1经由通信总线2连接到另一信息处理装置3。但是,通信总线2在物理上也可以由多个通信总线构成,这些通信总线的规格可以相同,也可以不同。这些通信总线的规格可以使用can(注册商标)、lin(注册商标)、flexray(注册商标)、以太网(注册商标)等。以下,说明信息处理装置1,但信息处理装置3也具有相同的构成。
13.信息处理装置1包括未图示的cpu、未图示的rom和未图示的ram,并且通过cpu在ram中展开并执行存储在rom中的程序来实现以下功能。即,信息处理装置1具有程序更新对象标志验证部12、启动区域确定部13、程序更新范围确定部14、接收规则更新部15、接收滤波器部16、验证期待值验证部17以及程序更新部18作为其功能。另外,信息处理装置1具有作为非易失性存储装置的存储部19、以及作为通信接口的进行通信所需要的运算的通信部11。
14.信息处理装置1在物理上分成多个计算机装置而构成,在各装置中使用的存储部19的存储区域不同。另外,信息处理装置1也可以在逻辑上分为多个计算机装置而构成,在各装置中使用的存储部19的存储区域不同。
15.通信部11经由通信总线2接收从其他信息处理装置3发送的消息,并经由通信总线2将消息发送到其他信息处理装置3。如上所述,通信总线2可以由多个通信总线物理地构成。信息处理装置1使用通信部11收发程序更新所需的信息。程序更新对象标志验证部12根据多个信息处理装置3中存储在存储部19中的、表示应更新程序的装置的程序更新对象标志,确定成为程序的更新对象的装置。另外,成为程序的更新对象的装置可以是
microcopmuter、通信开关、hsm(hardware security module:硬件安全模块)等具有能够更新程序的存储器的装置。
16.启动区域确定部13在能够将同种类的程序分在不同的区域来进行管理的存储区域中,将保存启动时执行的程序的存储区域和保存未执行的程序的存储区域中的、保存执行的程序的存储区域确定为启动区域,将保存未执行的程序的存储区域确定为待机区域。程序更新范围确定部14确定更新用程序包中与上述待机区域关联的包的范围。接收规则更新部15将定义接收范围的接收规则193更新为选择性地接收程序更新范围确定部14确定的包的范围的规则。
17.接收滤波器部16按照接收规则193选择性地接收相应部位的更新用程序包。验证期待值验证部17使用接收到的更新用程序包中包含的验证期待值,验证更新用程序包的真伪。例如,在更新用程序包的一部分缺失或被篡改的情况下,更新用程序包中包含的验证期待值和根据接收到的更新用程序数据计算出的验证期待值成为不同的值,可知更新用程序包的完整性缺失。在判断为验证期待值验证部17的验证结果正确的情况下,程序更新部18利用验证后的更新用程序来更新成为上述待机区域的存储区域。
18.存储部19存储表示保存启动时执行的程序的区域的启动区域信息191、表示程序更新时信息处理装置接收的更新用程序包的结构的更新包结构信息192、以及定义接收滤波器部16从更新用程序包接收的数据的范围的接收规则193。另外,在一个信息处理装置1被分成多个计算机装置而构成的情况下,与各计算机装置对应的存储部19的存储区域不同,但装置启动区域信息191、更新包结构信息192以及接收规则193即使没有被存储在与各计算机装置对应的存储区域中,也会被存储在一个存储区域中,该计算机装置也可以汇总管理这些信息191~193。
19.图2是信息处理装置1更新程序的处理的流程图。以下说明的各步骤的执行主体是信息处理装置1的未图示的cpu。
20.在步骤201中,信息处理装置1使用通信部11接收包含程序更新委托的通信消息。
21.在步骤202中,信息处理装置1使用通信部11接收程序更新对象标志信息,程序更新对象标志验证部12根据程序更新对象标志,确定成为更新对象的装置。
22.图3表示在步骤202中程序更新对象标志验证部12为了确定成为更新对象的装置而参照的程序更新对象标志信息的例子。程序更新对象标志信息包含与应更新程序的装置对应的存储区域301和表示符合或不符合的识别符302。例如,区域301的“区域1”的值为“1”,所以符合程序的更新对象区域,“区域2”的值为“0”,所以不符合程序的更新对象区域。
23.在步骤203中,启动区域确定部13使用启动区域信息191来确定各区域的启动区域和待机区域。另外,步骤203的处理也可以在步骤201或步骤202之前执行。
24.图4表示在步骤203中启动区域确定部13为了确定存储部19的各区域是否是启动区域而参照的启动区域信息191的例子。启动区域信息191包含与应该更新程序的装置对应的存储区域401、和表示启动区域和待机区域的识别符402。例如,将各存储区域的启动区域定义为“a面”,将待机区域定义为“b面”,如果区域401的“区域1”的值是“a面”,则表示区域1的启动区域是a面,如果“区域1”的值是“b面”,则表示区域1的启动区域是b面。另外,也可以如图所示那样将启动区域的信息登录在识别符402中,或者与之不同地将待机区域的信息登录在识别符402中,或者将表示各区域是启动区域还是待机区域的信息登录在识别符402
中。另外,各区域为启动区域的情况可以在信息处理装置1启动时进行登记,也可以在其他时机登记各存储区域的启动区域,例如,也可以在接收程序更新委托时进行登记。
25.在步骤204中,程序更新范围确定部14根据在步骤202中确定的更新对象区域和在步骤203中确定的启动区域,确定程序更新范围。例如,程序更新范围确定部14在步骤202中参照程序更新对象标志信息,将“区域1”和“区域3”确定为程序更新对象区域,参照启动区域信息191,将程序更新对象区域中的区域1的待机区域确定为“b面”,将区域3的待机区域确定为“b面”,将“区域1/b面”、“区域3/b面”确定为程序更新范围。
26.在步骤205中,接收规则更新部15根据在上述步骤204中确定的程序更新范围,更新接收规则193,以选择性地接收更新用程序包中的与“区域1/b面”、“区域3/b面”相符的数据。
27.图6表示在步骤205中接收规则更新部15更新的接收规则193的例子。接收规则193包含作为更新用程序包中的表示接收对象区域以及验证期待值的识别符的接收对象区域601、和表示是否接收的识别符602。例如,如果接收对象区域601的“区域1/a面”的值为“1”,则将该存储区域“区域1/a面”作为接收对象,如果“区域1/a面”的值为“0”,则将该存储区域“区域1/a面”作为接收对象外。
28.在步骤206中,接收滤波器部16接收与在步骤205中更新的接收规则193相符的数据。接收数据暂时存储在通信部11的接收缓冲器中后,存储在易失性ram或非易失性存储器中设置的暂时存储器中,存储在存储部19中设置的程序存储区域中。在本实施例中,选择性地接收符合的数据的方法能够通过不将不需要的接收数据存储到接收缓冲器或暂时存储器中的任意一个中或者将其废弃来实现。具体而言,也可以不接收符合部位以外的数据,而不存储在接收缓冲器中,也可以在接收缓冲器中用符合部位的数据覆盖符合部位以外的数据,也可以与符合部位无关地将接收数据存储在接收缓冲器中,将符合部位有选择地存储在ram中设置的暂时存储器中,也可以与符合部位无关地将接收数据存储在接收缓冲器中,将符合部位有选择地存储在非易失性存储器中设置的暂时存储器中,只要最终有选择地存储符合部位,可以采用任何方法。
29.在步骤207中,验证期待值验证部17使用在步骤206中基于接收规则193接收到的更新用程序数据和以该更新用程序数据为对象的验证期待值,来验证更新用程序数据是否是正确的数据。在使用了更新用程序数据的运算处理结果与验证期待值一致的情况下(步骤208中“是”),进入步骤209,在运算处理结果与验证期待值不一致的情况下(步骤208中“否”),进入步骤210。这里,在步骤207的验证期待值验证处理中使用的验证期待值可以是使用了共用密钥的mac(message authentication code)的验证处理,也可以是使用了公开密钥的rsa、ecdsa等,还可以是散列或校验和。
30.在步骤209中,程序更新部18根据规定的步骤,用接收到的更新用程序数据更新符合的存储区域的程序。
31.在步骤210中,信息处理装置1按照在步骤208中验证期待值的验证失败的情况下的规定步骤来执行错误处理,并结束本处理。
32.通过以上的步骤,能够更新与车载网络连接的信息处理装置1的程序。
33.在本实施例中,说明了按每个对象区域具有更新包结构信息192中的验证期待值的例子。作为另一方法,图7示出了具有针对对象区域的每个组合生成的验证期待值作为更
新包结构信息192中的验证期待值的示例。图5中所示的更新包结构信息192包括在对象区域501中与对象区域的组合数相匹配的验证期待值和其数据大小502。图示的更新包结构信息192所示的更新用程序包包含存储区域(从区域1的a面到区域n的b面)中存储的更新用程序数据和各更新用程序数据的全部组合的验证期待值。更新用程序包可以包括各更新用程序数据的最新信息(例如,时间戳、计数器值等)。
34.例如,在步骤205中,接收规则更新部15根据在上述步骤204中确定的程序更新范围,如图8所示,将接收规则193更新为除了选择性地接收更新用程序包中的“区域1/b面”的验证期待值和“区域3/b面”的验证期待值之外,还选择性地接收将“区域1/b面”和“区域3/b面”两者合在一起的验证期待值即“验证期待值(区域1/b面&区域3/b面)”的规则。
35.由此,能够减少接收的验证期待值的数据量,减少验证期待值验证处理的次数。
36.如以上说明的那样,根据实施例1,在接收到程序的更新委托的情况下,能够根据启动中的存储区域和待机中的存储区域的信息,从包含全部区域的程序数据的更新用程序包,限定为与待机中的存储区域相符的更新用程序而进行接收。另外,信息处理装置1能够自己判断更新程序的区域。由此,在用更新用程序更新成为信息处理装置1的更新对象区域的存储区域时,能够降低信息处理装置1使用的暂时保管用存储器量,能够期待程序的更新操作者的运用负荷的降低。
37.《实施例2》在实施例2中,示出与车载网络连接的信息处理装置1更新与车载网络连接的其他控制装置4的程序的程序更新系统的例子。以下,以与实施例1的差异为中心对实施例2进行说明,对与实施例1相同的功能及构成标注相同的符号,省略它们的说明。
38.图9是表示实施例2的程序更新系统的构成的图。在实施例2的程序更新系统中,信息处理装置1经由通信总线2与控制装置4、车外通信装置5以及诊断装置6连接。但是,通信总线2在物理上也可以由多个通信总线构成,这些通信总线的规格可以相同,也可以不同。这些通信总线的规格可以使用can(注册商标)、lin(注册商标)、flexray(注册商标)、以太网(注册商标)等。另外,控制装置4是具有控制车的行驶的功能的车辆控制装置(ecu)、或者具有控制行驶以外的执行器的功能的车辆控制装置(ecu)。另外,车外通信装置5是经由3g/lte或wi-fi通信等无线通信来控制与车外的装置的通信的装置。另外,诊断装置6是通过有线与车载系统连接、具有确认信息处理装置1和控制装置4的状态的诊断功能和程序更新功能的装置。
39.信息处理装置1具有实施例1的图1所示的信息处理装置1的构成要素中的通信部11、程序更新对象标志验证部12、程序更新范围确定部14、接收规则更新部15以及接收滤波器部16。信息处理装置1包括未图示的cpu、未图示的rom和未图示的ram,并且通过cpu在ram中展开并执行存储在rom中的程序来实现上述功能。另外,信息处理装置1将实施例1的图1所示的信息处理装置1的存储部19中的更新包结构信息192和接收规则193存储在存储部19中。控制装置4具有实施例1的图1所示的信息处理装置1的构成要素中的通信部11、启动区域确定部13、验证期待值验证部17以及程序更新部18。控制装置4具有未图示的cpu、未图示的rom以及未图示的ram,cpu在ram中展开并执行存储在rom中的程序,由此实现上述功能。另外,控制装置4将实施例1的图1所示的信息处理装置1的存储部19中的启动区域信息191存储在存储部19中。
40.图10是在程序更新系统中信息处理装置1更新控制装置4的程序的处理的顺序图。另外,在图10中,对与实施例1的图2中记载的处理相同的处理赋予相同的符号,并省略重复的说明。
41.步骤203与实施例1相同,启动区域确定部13使用启动区域信息191来确定各区域的启动区域和待机区域。另外,步骤203的处理也可以在控制装置4的启动时等任意的时机或根据来自信息处理装置1的请求来执行。
42.在步骤101中,启动区域确定部13将在步骤203中确定的控制装置4的启动区域经由通信部11通知给信息处理装置1。
43.在步骤201中,信息处理装置1的通信部11接收程序更新委托。程序更新委托有从车外通信装置5接收的情况、和根据诊断装置6的诊断结果判定为需要更新程序而从诊断装置6接收的情况。
44.从步骤202到步骤206是与实施例1相同的处理。
45.在步骤102中,信息处理装置1将在步骤206中经由通信部11接收到的符合数据发送到控制装置4。另外,步骤102的处理可以是信息处理装置1在任意的时机进行发送,也可以是在确认了控制装置4成为特定的状态(例如,能够进行程序的更新的状态)之后进行发送,还可以是在接收到来自控制装置4或其他装置的规定的通信时进行发送。
46.从步骤207到步骤210是与实施例1相同的处理。另外,步骤207的验证期待值验证处理也可以由信息处理装置1执行。
47.通过以上的步骤,与车载网络连接的信息处理装置1能够更新控制装置4的程序。
48.如以上说明,根据实施例2,控制装置4在规定的时机确认启动区域,信息处理装置1从所述控制装置4接收启动区域信息191,在接收到程序的更新委托的情况下,根据启动中的存储区域和待机中的存储区域的信息,能够从包含全部区域的程序数据的更新用程序包选择性地接收与待机中的存储区域相符的更新用程序。由此,在用更新用程序更新成为控制装置4的更新对象区域的存储区域时,能够降低信息处理装置1使用的暂时保管用存储器量,能够期待程序的更新作业者的运用负荷的降低。
49.如上所述,本发明的实施例1的信息处理装置1具备:存储部19,其包含存储可改写的程序的多个存储区域;以及运算部(cpu),其执行存储在存储部19中的程序,并所述信息处理装置具有:启动区域确定部13,其从多个存储区域确定运算部正在执行程序的启动区域;接收规则更新部15,其根据所确定的启动区域的信息,确定程序可改写的改写对象区域;以及接收选择部(接收滤波器部16),其选择性地接收存储在改写对象区域中的改写程序,因此,作为程序更新对象的信息处理装置1从包含全部更新程序的更新用程序包中自主地对需要的更新用程序进行获取,从而能够降低暂时保管用存储器的使用量,能够降低程序更新时的运用负荷。另外,在发送更新用程序包的服务器侧,不需要掌握信息处理装置1的各个状态(例如,可以不执行启动面确认处理),将全部的更新用程序统一发送即可,能够减轻服务器侧的处理的复杂性和负荷。此外,不需要修改传统的基于再生的诊断设备。
50.另外,由于具有将接收到的改写程序存储在所述改写对象区域中的程序更新部18,所以能够在减少暂时保管用存储器的使用量的同时更新程序。
51.另外,改写程序作为包含存储部19的各区域中存储的程序数据和程序数据的验证期待值的更新用程序包而被分发,信息处理装置1具有使用更新用程序包中包含的验证期
待值来验证程序数据的验证期待值验证部17,所以能够检测在通信路径上产生的数据的改变,能够提高对非法程序的耐性。
52.另外,更新用程序包包含与该更新用程序包中包含的程序数据的多个组合对应的多个验证期待值,验证期待值验证部17参照启动区域的信息和应改写所述程序的区域的信息,从所述包中包含的多个验证期待值中确定接收到的改写程序的验证期待值,所以能够根据信息处理装置1侧的状态提供需要的验证期待值。
53.另外,接收规则更新部15参照启动区域的信息和应该改写程序的区域的信息,决定要接收的改写程序,所以能够正确地决定应该更新的程序。
54.另外,本发明的实施例2的程序更新系统具备执行程序的控制装置4和控制控制装置4的程序的改写的信息处理装置1,控制装置4具有存储部19和运算部(cpu),该存储部19包含存储可改写的程序的多个存储区域,该运算部(cpu)执行存储在存储部19中的程序,信息处理装置1具有接收规则更新部15和接收选择部(接收滤波器部16),该接收规则更新部15根据在控制装置4中运算部(cpu)正在执行程序的启动区域的信息,确定程序可改写的改写对象区域,该接收选择部选择性地接收存储在改写对象区域中的改写程序,因此,信息处理装置1从包含全部更新程序的更新用程序包中获取控制装置4所需的更新用程序,能够减少暂时保管用存储器的使用量,能够降低程序更新时的运用负荷。
55.另外,本发明不限于上述的实施例,包括在所附的权利要求书的主旨内的各种变形例以及同等的构成。例如,上述实施例是为了容易理解地说明本发明而详细说明的,本发明并不限定于具备所说明的全部构成的结构。另外,也可以将一个实施例的构成的一部分置换为其他实施例的构成。另外,也可以在一个实施例的构成中添加其他实施例的构成。另外,对于各实施例的构成的一部分,也可以进行其他构成的追加、删除、置换。
56.另外,上述的各构成、功能、处理部、处理单元等例如可通过利用集成电路进行设计等而以硬件来实现它们的一部分或全部,也可以通过由处理器解释并执行实现各自的功能的程序而由软件来实现。
57.实现各功能的程序、表、文件等信息可以存储在存储器、硬盘、ssd(solid state drive)等存储装置、或者ic卡、sd卡、dvd、bd等记录介质中。
58.另外,控制线和信息线展示的是认为在说明上需要的部分,不一定表示安装上需要的全部控制线和信息线。实际上,可以认为几乎所有的构成都相互连接。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献