WO2023175752A1 - 車載プログラム更新システム、車載プログラム更新方法 - Google Patents
車載プログラム更新システム、車載プログラム更新方法 Download PDFInfo
- Publication number
- WO2023175752A1 WO2023175752A1 PCT/JP2022/011768 JP2022011768W WO2023175752A1 WO 2023175752 A1 WO2023175752 A1 WO 2023175752A1 JP 2022011768 W JP2022011768 W JP 2022011768W WO 2023175752 A1 WO2023175752 A1 WO 2023175752A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- program
- vehicle
- old
- block
- blocks
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 35
- 238000012545 processing Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 12
- 230000008672 reprogramming Effects 0.000 abstract description 57
- 101100437784 Drosophila melanogaster bocks gene Proteins 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000006837 decompression Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
Definitions
- the present invention relates to the configuration of an in-vehicle program update system for updating programs in an in-vehicle ECU and an update method therefor, and particularly relates to a technique that is effective when applied to updates of programs with a large amount of information.
- the typical reprogramming method involves transferring the entire new program from a PC (Personal Computer) to the on-vehicle device.
- the on-vehicle device that receives the new program rewrites the entire received new program with the entire old program in the FLASH ROM installed in the on-vehicle device. If the update scale of the new program is small compared to the old program, if the entire new program including the unchanged program is transferred to the on-board device and reprogrammed, the transfer time of the unchanged program and the writing to FLASH ROM will be reduced. Time will be wasted.
- Patent Document 1 proposes rewriting of block differences.
- Patent Document 1 states, ⁇ Focusing on the fact that the FLASH memory built into the ECU's microcontroller is composed of multiple blocks, new programs and old programs are divided into blocks, and the new program and multiple blocks are divided into blocks.
- the differential compressed data that compresses the difference between the block and the old program is transferred to the vehicle control device, the received differential compressed data is expanded on the vehicle control device side, and the new program is restored using the old program in multiple blocks of FLASH memory. "The process of writing to the relevant block in the FLASH memory is repeated for each block.” (Paragraph [0009] of Patent Document 1)
- Patent Document 1 a new program and an old program are divided into blocks, and a difference is generated for each block and transferred from the PC to the on-vehicle device.
- an object of the present invention is to provide an in-vehicle program update system and an in-vehicle program update method that eliminate the need to prepare an old program in advance and can suppress the trouble of version control of the old program and work errors during reprogramming work. There is a particular thing.
- the present invention provides an in-vehicle program update system that updates an old program on a memory installed in an on-vehicle device to a new program, in which each of a plurality of blocks into which the new program is divided is A first group of identifiers, which is a set of unique identifiers, is transmitted to the onboard device, and the second group of identifiers, which is a set of identifiers unique to each block of the old program, and the second group of identifiers are transmitted from the onboard device.
- the present invention is characterized in that it receives area information specifying a block corresponding to a difference from one identifier group, and transmits a block corresponding to the area information in the new program to the on-vehicle device.
- the present invention also provides an in-vehicle program update method for updating an old program on a memory installed in an on-vehicle device to a new program, which includes (a) a unique identifier for each of a plurality of blocks into which the new program is divided; (b) transmitting a first group of identifiers, which is a set of identifiers, to the on-vehicle device; (b) a second group of identifiers, which is a set of identifiers unique to each block of the old program; (c) transmitting a block corresponding to the difference in the new program to the on-vehicle device; It is characterized by
- an in-vehicle program update system and an in-vehicle program update method that do not require preparing an old program in advance and can suppress the effort of managing the version of the old program and work errors during reprogramming work. can.
- FIG. 1 is a schematic diagram showing the overall configuration of an in-vehicle program update system.
- FIG. 2 is a diagram showing a modification of FIG. 1;
- 3 is a diagram showing a schematic configuration of a PC 1 in FIGS. 1 and 2.
- FIG. 3 is a diagram showing a schematic configuration of the on-vehicle device 2 shown in FIGS. 1 and 2.
- FIG. It is a functional block diagram of program update of PC1.
- 5 is a diagram illustrating an example of dividing a program into blocks by a dividing unit 503.
- FIG. FIG. 3 is a functional block diagram of a reprogramming tool 305 and a program update of the on-vehicle device 2.
- FIG. 3 is a functional block diagram of a reprogramming tool 305 and a program update of the on-vehicle device 2 according to the second embodiment.
- 12 is a flowchart of updating the programs of the reprogramming tool 305 and the on-vehicle device 2 according to the second embodiment.
- 12 is a functional block diagram of a reprogramming tool 305 and a program update of the on-vehicle device 2 according to the third embodiment.
- FIG. 3 is a functional block diagram of a reprogramming tool 305 and a program update of the on-vehicle device 2 according to the second embodiment.
- 12 is a flowchart of updating the programs of the reprogramming tool 305 and the on-vehicle device 2 according to the second embodiment.
- 12 is a functional block diagram of a reprogramming tool 305 and a program update of the on-vehicle device 2 according to the third embodiment.
- FIG. 3 is a functional block diagram of a re
- FIG. 1 is a schematic diagram showing the overall configuration of the in-vehicle program update system of this embodiment, and shows an example of the system configuration using CAN (Controller Area Network).
- FIG. 2 is a modification of FIG. 1, and shows an example of a system configuration using OTA (Over The Air).
- the in-vehicle program update system of this embodiment mainly includes a PC (personal computer) 1 and an on-vehicle device 2 connected to the PC 1 via a network such as CAN or OTA. It is equipped with While CAN and OTA are used as in-vehicle networks that connect ECUs and sensors in cars, when updating the program of on-board equipment (ECU) 2, as shown in Figures 1 and 2, CAN and OTA are It is also used as a network between PC and onboard equipment to transfer new programs to.
- PC personal computer
- OTA on-vehicle device 2
- CAN and OTA are used as in-vehicle networks that connect ECUs and sensors in cars, when updating the program of on-board equipment (ECU) 2, as shown in Figures 1 and 2, CAN and OTA are It is also used as a network between PC and onboard equipment to transfer new programs to.
- Examples of program updates for the onboard device 2 include updating the functions of the onboard device 2, fixing defects such as software bugs, and security updates.
- the operation according to the present invention described below does not depend on the communication format between the PC 1 and the onboard device 2, so even if the communication format changes such as CAN or OTA, the operation according to the present invention basically remains the same. are the same.
- FIG. 3 is a diagram showing a schematic configuration of the PC 1 in FIGS. 1 and 2.
- the PC 1 communicates with the outside via an arithmetic unit 301 such as a CPU (Central Processing Unit), input/output devices 302 such as a keyboard, mouse, and display, and wired or wireless communication. It includes a communication device 303 and a storage device 306 such as RAM (Random Access Memory), ROM (Read Only Memory), and HDD (Hard Disk Drive). Arithmetic device 301, input/output device 302, communication device 303, and storage device 306 are interconnected by a bus.
- arithmetic unit 301 such as a CPU (Central Processing Unit)
- input/output devices 302 such as a keyboard, mouse, and display
- wired or wireless communication includes a communication device 303 and a storage device 306 such as RAM (Random Access Memory), ROM (Read Only Memory), and HDD (Hard Disk Drive).
- Arithmetic device 301, input/output device 302, communication device 303, and storage device 306 are interconnected by a bus.
- the storage device 306 stores a new program 304 for updating an old program written in the FLASH ROM of the onboard device 2, which will be described later, and a reprogramming tool 305 for updating the program.
- the reprogramming tool 305 is a computer program used for program update (reprogramming).
- FIG. 4 is a diagram showing a schematic configuration of the on-vehicle device 2 shown in FIGS. 1 and 2. As shown in FIG. 4
- the onboard device 2 includes an arithmetic unit 403 such as a CPU (Central Processing Unit), various ICs (Integrated Circuits) 401, a communication device 402 such as a CAN transceiver, a FLASH ROM 408 that is a nonvolatile memory, and a volatile It is equipped with a RAM 404 which is a static memory.
- arithmetic unit 403 such as a CPU (Central Processing Unit), various ICs (Integrated Circuits) 401, a communication device 402 such as a CAN transceiver, a FLASH ROM 408 that is a nonvolatile memory, and a volatile It is equipped with a RAM 404 which is a static memory.
- arithmetic unit 403 such as a CPU (Central Processing Unit), various ICs (Integrated Circuits) 401
- a communication device 402 such as a CAN transceiver
- FLASH ROM 408 that is a nonvolatile memory
- a volatile It is equipped with
- FIG. 4 shows a minimum configuration, but other configurations may be provided.
- the FLASH ROM 408 stores a boot loader 405 that is not subject to program update, an old program 406 that is subject to program update, and various parameters 407.
- FIG. 5 is a functional block diagram for updating the program of the PC 1. As shown in FIG.
- the new program 304 for updating the old program 406 of the onboard device 2 is divided into a plurality of blocks. As a result, a new block group 505 is generated.
- Each block of the new block group 505 and each compressed block of the compressed block group 501 have a one-to-one relationship.
- compressed block 1 of the compressed block group 501 is generated by compressing block 1 of the new block group 505.
- the purpose of compression is to shorten the communication time between the reprogramming tool 305 and the onboard device 2 by reducing the block size.
- the identifier calculation unit 506 is used to calculate the identifiers corresponding to all the blocks in the new block group 505. As a result, a new identifier group 502 containing the same number of identifiers (six in this case) is generated.
- Each block of the new block group 505 and each identifier (hash 1 to 6) of the new identifier group 502 have a one-to-one relationship.
- the identifier calculation result for block 1 of the new block group 505 is hash 1 of the new identifier group 502.
- the purpose of providing the identifier is to verify the identity of the new program 304 and the old program 406. For example, if there is a 1-bit difference in program data, it is desirable to change the identifier, so a hash value with 128 bits or more is used. Note that there are various algorithms for calculating hash values, and they are not particularly specified here.
- the block division described above is the premise of the present invention. Since a method is adopted in which only blocks that have been changed in the on-vehicle device 2 are updated based on the new program 304 and the old program 406, appropriate block division is important. Therefore, the explanation of the concept of block division by the division unit 503 will be supplemented.
- the number and size of divided blocks depend on the scale of the new program 304, the system configuration of the onboard device 2, and the specifications of the FLASH ROM 408, so in reality it is difficult to specify a unified dividing method, but the following Next, we will explain the basic division principle.
- the on-vehicle device 2 has a parallel arithmetic processing device consisting of a plurality of CPUs, the blocks are divided based on task assignment to each of the plurality of CPUs.
- the unique data for one camera is used. Since it is only necessary to update the data and there is no need to update the unique data of cameras that are not calibrated, the unique data of the two cameras is divided into blocks.
- FIG. 6 is a diagram showing an example of program block division by the division unit 503.
- the new program 304 is divided into block groups 601 (corresponding to the new block group 505 in FIG. 5) using the dividing unit 503.
- the minimum erase size (sector) of the FLASH ROM 408 is 256 Mbyte
- the block group 601 includes the common database (256 Mbyte), application function 1 (1024 Mbyte), application function 2 (768 Mbyte), and vehicle control function ( 512Mbyte), basic software (256Mbyte), camera 1 specific data (256Mbyte), and camera 2 specific data (256Mbyte). All block sizes are integral multiples of 256MByte.
- the common database is a program that changes frequently, so it is divided independently from other blocks.
- application function 1, application function 2, vehicle control function, and basic software correspond to task assignments of function modules and CPUs, and are therefore divided into separate sections.
- the camera 1 specific data and the camera 2 specific data are divided independently from each other from the viewpoint of the stereo camera having the two cameras described above.
- the new program 304 is divided into blocks of data for the right camera and blocks of data for the left camera of the stereo camera independently of each other.
- the dividing unit 503 is not limited to the above example of block division, but can determine the optimal dividing method according to the scale of the new program 304, the system configuration of the onboard device 2, and the specifications of the FLASH ROM 408. should be adopted.
- the division methods include manually dividing the program into blocks, using a special tool to divide the program into blocks, or dividing the source code in advance before generation using program build, and building each divided source code to create multiple program blocks. Examples include a method of generating it.
- FIG. 7 is a functional block diagram of the program update of the reprogramming tool 305 and the onboard device 2, and shows an example of identifier comparison using the onboard device 2.
- the reprogramming tool 305 includes an input compressed block group 501, a new identifier group 502, and an extraction unit 701.
- the extracting unit 701 plays the role of extracting a compressed block 702 corresponding to a changed block from the compressed block group 501 based on information specifying a changed block received from the on-vehicle device 2 .
- the onboard device 2 includes a microcomputer processing section 707 (corresponding to the arithmetic unit 403 in FIG. 4) and a FLASH ROM 408.
- the FLASH ROM 408 includes a boot loader 405, an old program 406, and an old identifier group 407.
- the relationship between the old program 406 and the old identifier group 407 is similar to the relationship between the new program 304 and the new identifier group 502 shown in FIG.
- the old identifier group 407 is included in the various parameters 407 shown in FIG.
- the boot loader 405 includes a decompression section 703, a FLASH operation section 704, and an identifier comparison section 705.
- the decompression unit 703, FLASH operation unit 704, and identifier comparison unit 705 of the boot loader 405 are executed by the microcomputer processing unit 707. That is, the microcomputer processing unit 707 includes a decompression unit 703, a FLASH operation unit 704, and an identifier comparison unit 705 included in the boot loader 405.
- the decompressing unit 703 plays the role of decompressing the compressed block 702 received from the reprogramming tool 305 to generate a block 706. This is an inverse algorithm of the compression unit 504 shown in FIG. 5.
- the FLASH operation unit 704 uses the new identifier group 502 and block 706 received from the reprogramming tool 305 to erase and rewrite the corresponding parts of the old program 406 and the old identifier group 407.
- the identifier comparison unit 705 compares the new identifier group 502 received from the reprogramming tool 305 and the old identifier group 407 read from the FLASH ROM 408.
- the comparison method is a one-to-one identity comparison of the same block position.
- the block corresponding to the identifier with the difference becomes the block with the change.
- the automatic comparison by the identifier comparison unit 705 eliminates the need for manual selection or other operations based on the version of the old program 406, which eliminates the risk of operational errors by the operator.
- FIG. 8 is a flowchart for updating the programs of the reprogramming tool 305 and the onboard device 2, and shows an example of identifier comparison using the onboard device 2.
- step S801 the new identifier group 502 is transmitted from the reprogramming tool 305 to the onboard device 2.
- the onboard device 2 receives the new identifier group 502.
- step S803 the new identifier group 502 is compared with the old identifier group 407.
- step S804 information specifying the block corresponding to the difference that is the comparison result in step S803 is transmitted from the onboard device 2 to the reprogramming tool 305.
- step S805 the reprogramming tool 305 receives information identifying a block corresponding to the difference.
- step S806 based on the information received in step S805, it is determined whether there is an identifier with a difference, that is, whether there is a block that requires reprogramming.
- step S807 the reprogramming tool 305 extracts a compressed block corresponding to the identifier with a difference, that is, a compressed block necessary for reprogramming.
- step S808 all extracted compressed block data is transmitted to the onboard device 2.
- step S809 the onboard device 2 receives the compressed program data.
- step S810 the compressed block data is decompressed and restored to the original block of the new program 304.
- step S811 after erasing the old identifier group 407 and the corresponding part (sector) of the FLASH ROM 408 corresponding to the specified block, the new identifier group 502 and the restored block are used to erase the erased part of the FLASH ROM 408. Write to a location (sector).
- the identifier comparison unit 705 is provided in the on-vehicle device 2, and the identification of blocks that have been changed through identifier comparison is performed on the on-vehicle device 2 side.
- the identifier comparison unit 901 is included in the reprogramming tool 305, and the reprogramming tool 305 side identifies blocks that have been changed by comparing the identifiers.
- FIG. 9 is a functional block diagram of the reprogramming tool 305 and program update of the onboard device 2, and shows an example of identifier comparison using the reprogramming tool 305.
- the identifier comparison unit 901 of the reprogramming tool 305 of this embodiment corresponds to the identifier comparison unit 705 shown in the microcomputer processing unit 707 of the first embodiment (FIG. 7).
- the identifier comparison unit 901 plays the role of comparing the old identifier group 407 received from the onboard device 2 with the new identifier group 502. This comparison method is the same as that explained in Example 1 (FIG. 7). Further, the functional blocks other than the identifier comparison unit 901 are the same as those in the first embodiment (FIG. 7).
- FIG. 10 is a flowchart of updating the program of the reprogramming tool 305 and the onboard device 2, and shows an example of identifier comparison using the reprogramming tool 305.
- step S1001 a request for the old identifier group 407 is sent from the reprogramming tool 305 to the onboard device 2.
- step S1002 the onboard device 2 receives a request for the old identifier group 407.
- step S1003 the old identifier group 407 is transmitted from the onboard device 2 to the reprogramming tool 305.
- step S1004 the reprogramming tool 305 receives the old identifier group 407.
- step S1005 the received old identifier group 407 is compared with the new identifier group 502.
- FIG. 11 is a functional block diagram of the program update of the reprogramming tool 305 and the onboard device 2, and shows an example of an increase in the number of blocks.
- the compressed block 7 is added to the compressed block group 1101, and the hash 7 is also added to the new identifier group 1102.
- the identifier comparison unit 705 compares the new identifier group 1102 received from the reprogramming tool 305 and the old identifier group 1104 read from the FLASH ROM 408.
- the comparison method is a one-to-one identity comparison of the same block position.
- the block corresponding to the identifier with the difference becomes the block to be increased.
- the value of the reserved area of the old identifier group 1104 is usually all 0's or all F's.
- the hash 7 of the new identification group 1102 is calculated from the increased blocks 7 of the new program 304, and is not necessarily all 0 or all F.
- the identifier comparison may be performed by either the reprogramming tool 305 or the on-vehicle device 2, and either the processing flowchart shown in FIG. 8 or FIG. 10 can be applied.
- the present invention is not limited to the above-described embodiments, and includes various modifications.
- the embodiments described above are described in detail to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to having all the configurations described.
- it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment and it is also possible to add the configuration of another embodiment to the configuration of one embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
Abstract
事前に旧プログラムを用意する必要がなく、旧プログラムのバージョン管理の手間やリプログラミング作業時の作業ミスを抑制可能な車載プログラム更新システムを提供する。車載器に搭載されたメモリ上の旧プログラムを新プログラムに更新する車載プログラム更新システムであって、前記新プログラムが分割された複数のブロックの各々が固有にもつ識別子の集合である第一の識別子群を車載器に送信し、前記車載器から、前記旧プログラムの各ブロックの各々が固有にもつ識別子の集合である第二の識別子群と前記第一の識別子群との差分に対応するブロックを特定する領域情報を受信し、前記新プログラムにおいて前記領域情報に相当するブロックを、前記車載器に送信することを特徴とする。
Description
本発明は、車載ECUのプログラムを更新する車載プログラム更新システムの構成とその更新方法に係り、特に、情報量の多いプログラムの更新に適用して有効な技術に関する。
電子制御技術の進化に伴い、エンジンをはじめとする様々な機能・装置において、電子制御による自動車の性能向上が図られている。特に近年では、ADAS(Advanced Driver Assistance System:先進運転支援システム)やAD(Automated Driving:自動運転)が急速に普及しつつあり、車載ECU(Electronic Control Unit:電子制御装置)に搭載されるプログラムの処理も複雑化している。そのため、プログラムが肥大化しており、プログラムの更新(以下、「リプログラミング」とも呼ぶ)に掛かる所要時間は今後益々伸びていくことが予想される。
従来、一般的なリプログラミング手法では、新プログラム全体をPC(Personal Computer:パソコン)などから車載器に転送することで行われている。新プログラムを受信した車載器は、受信した新プログラム全体を、車載器に搭載されたFLASH ROMの旧プログラム全体と書換える。旧プログラムに対して新プログラムの更新規模が小さい場合、変更のないプログラムを含む新プログラム全体を車載器に転送してリプログラミングしてしまうと、変更のないプログラムの転送時間及びFLASH ROMへの書込み時間が無駄になる。
このような問題に対して、例えば特許文献1では、ブロック差分の書換えが提案されている。
特許文献1には、「ECUのマイコンに内蔵されているFLASHメモリが複数のブロックで構成されている点に着目し、新プログラムと旧プログラムをブロック単位に分割し、当該ブロックの新プログラムと複数ブロックの旧プログラムとの差分を圧縮した差分圧縮データを車両制御装置へ転送し、車両制御装置側で受信した差分圧縮データを伸長してFLASHメモリの複数ブロックの旧プログラムを用いて新プログラムを復元して、FLASHメモリの当該ブロックへ書込むことを各ブロックごとに繰返す」ことが記載されている。(特許文献1の段落[0009])
上記特許文献1に開示されている技術では、新プログラムと旧プログラムをブロック単位に分割し、ブロック単位毎に差分を生成してPCから車載器に転送する。
しかしながら、ブロック単位毎に新旧プログラムの差分を生成するために、車載器に記憶されている旧プログラムを事前に用意する必要があり、旧プログラムのバージョン管理の手間や、車載器に記憶されている旧プログラムの調査工数が発生する。
また、例えばリコールや不具合修正のために、多数の車載器をリプログラミングする際、車載器に記憶されている旧プログラムのバージョンが同一でなければ、複数の旧プログラムを用意して同数の差分を生成する必要がある。
作業員は、リプログラミング作業時に、車載器に記憶されている旧プログラムのバージョンに沿って、複数の差分の中から適切な差分を選択してリプログラミングする必要があるため、作業ミスが発生する可能性もある。
そこで、本発明の目的は、事前に旧プログラムを用意する必要がなく、旧プログラムのバージョン管理の手間やリプログラミング作業時の作業ミスを抑制可能な車載プログラム更新システム及び車載プログラム更新方法を提供することにある。
上記課題を解決するために、本発明は、車載器に搭載されたメモリ上の旧プログラムを新プログラムに更新する車載プログラム更新システムであって、前記新プログラムが分割された複数のブロックの各々が固有にもつ識別子の集合である第一の識別子群を車載器に送信し、前記車載器から、前記旧プログラムの各ブロックの各々が固有にもつ識別子の集合である第二の識別子群と前記第一の識別子群との差分に対応するブロックを特定する領域情報を受信し、前記新プログラムにおいて前記領域情報に相当するブロックを、前記車載器に送信することを特徴とする。
また、本発明は、車載器に搭載されたメモリ上の旧プログラムを新プログラムに更新する車載プログラム更新方法であって、(a)新プログラムが分割された複数のブロックの各々が固有にもつ識別子の集合である第一の識別子群を車載器に送信するステップと、(b)前記車載器から、旧プログラムの各ブロックの各々が固有にもつ識別子の集合である第二の識別子群と前記第一の識別子群との差分に対応するブロックを特定するための領域情報を受信するステップと、(c)前記新プログラムにおいて前記差分に相当するブロックを、前記車載器に送信するステップと、を有することを特徴とする。
本発明によれば、事前に旧プログラムを用意する必要がなく、旧プログラムのバージョン管理の手間やリプログラミング作業時の作業ミスを抑制可能な車載プログラム更新システム及び車載プログラム更新方法を実現することができる。
これにより、高速かつ信頼性の高い車載ECUのプログラム更新が可能となる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
以下、図面を用いて本発明の実施例を説明する。なお、各図面において同一の構成については同一の符号を付し、重複する部分についてはその詳細な説明は省略する。
図1から図8を参照して、本発明の実施例1に係る車載プログラム更新システム及び車載プログラム更新方法について説明する。
図1は、本実施例の車載プログラム更新システムの全体構成を示す模式図であり、CAN(Controller Area Network)を用いたシステム構成例を示している。図2は、図1の変形例であり、OTA(Over The Air)を用いたシステム構成例を示している。
本実施例の車載プログラム更新システムは、図1及び図2に示すように、主要な構成として、PC(パソコン)1と、CANまたはOTAなどのネットワークを介してPC1に接続された車載器2とを備えている。CAN及びOTAは、自動車の中でECUやセンサを繋ぐ車載ネットワークとして利用される一方、図1及び図2のように、車載器(ECU)2のプログラムを更新する際に、PC1から車載器2へ新プログラムを転送するためのPC-車載器間ネットワークとしても利用される。
車載器2のプログラム更新の例としては、車載器2の機能のアップデートや、ソフトバグなどの不具合の修正、セキュリティアップデートなどが挙げられる。
なお、以下で説明する本発明による動作は、PC1と車載器2との間における通信形式には依存しないため、CAN,OTAのように通信形式が変わっても、本発明による動作は基本的に同一である。
次に、図3を用いて、図1及び図2に示したPC1の構成を説明する。図3は、図1及び図2のPC1の概略構成を示す図である。
図3に示すように、PC1は、CPU(Central Processing Unit)のような演算装置301、キーボードやマウスや表示器などの入出力装置302、有線通信あるいは無線通信を介して外部との通信を行う通信装置303、RAM(Random Access Memory)やROM(Read Only Memory)、HDD(Hard Disk Drive)などの記憶装置306を備えている。演算装置301、入出力装置302、通信装置303、記憶装置306は、バスにより相互に接続されている。
記憶装置306には、後述する車載器2のFLASH ROMに記載されている旧プログラムを更新する新プログラム304、プログラム更新用のリプログラミングツール305が記憶されている。リプログラミングツール305は、プログラムの更新(リプログラミング)に使うコンピュータ・プログラム類である。
次に、図4を用いて、図1及び図2に示した車載器2の構成を説明する。図4は、図1及び図2の車載器2の概略構成を示す図である。
図4に示すように、車載器2は、CPU(Central Processing Unit)のような演算装置403、各種IC(Integrated Circuit)401、CANトランシーバなどの通信装置402、不揮発性メモリであるFLASH ROM408、揮発性メモリであるRAM404を備えている。
なお、車載器2の構成を分かり易くするために、図4には最小限の構成を示しているが、他の構成を備えていても良い。
FLASH ROM408には、プログラム更新対象外のブートローダ405、プログラム更新対象の旧プログラム406、各種パラメータ407が記憶されている。
図5を用いて、プログラム更新を実行するためのPC1の機能ブロックを説明する。図5は、PC1のプログラム更新の機能ブロック図である。
先ず、分割部503を用いて、車載器2の旧プログラム406を更新するための新プログラム304を複数のブロックに分割する。その結果、新ブロック群505が生成される。
分割するブロック数は特に限定されないため、ここでは一例として、ブロック1~6の6個のブロックに分割する例を示す。分割部503による具体的なブロック分割については、図6を用いて後述する。
次に、圧縮部504を用いて、新ブロック群505の全ブロックをそれぞれ圧縮する。その結果、同数の(ここでは6個の)圧縮ブロックを含む圧縮ブロック群501が生成される。
新ブロック群505の各ブロックと圧縮ブロック群501の各圧縮ブロックは、1対1の関係にある。例えば、新ブロック群505のブロック1を圧縮して圧縮ブロック群501の圧縮ブロック1が生成される。
圧縮の目的は、ブロックのサイズを減少することにより、リプログラミングツール305と車載器2の間の通信時間を短縮するためである。
また、識別子演算部506を用いて、新ブロック群505の全ブロックに対応する識別子をそれぞれ演算する。その結果、同数の(ここでは6個の)識別子を含む新識別子群502が生成される。
新ブロック群505の各ブロックと新識別子群502の各識別子(ハッシュ1~6)は、1対1の関係にある。例えば、新ブロック群505のブロック1の識別子演算結果は、新識別子群502のハッシュ1である。
識別子を設ける目的は、新プログラム304と旧プログラム406の同一性を検証するためである。例えば、プログラムデータに1ビットの差異があった場合、識別子を変えることが望ましいため、128ビット以上を持つハッシュ値を採用する。なお、ハッシュ値の演算アルゴリズムは様々であり、ここでは特に指定しない。
最後に、圧縮ブロック群501及び新識別子群502をリプログラミングツール305に入力する。これにより、PC1側でのリプログラミングの事前準備が完了する。
上記で説明したブロック分割が本発明の前提となる。新プログラム304と旧プログラム406に基づいて、車載器2に対して変更のあるブロックのみを更新する方式を採用しているため、適切なブロック分割が重要である。そこで、分割部503によるブロック分割の考え方の説明を補足する。
分割ブロックの数とサイズは、新プログラム304の規模や、車載器2のシステム構成、FLASH ROM408の仕様にも依存するため、統一した分割方法を明示することは難しいのが現実であるが、以下では、基本的な分割原則を説明する。
先ず、ブロックのサイズは、FLASH ROM408の仕様に従って、最小消去サイズの整数倍を基準にする。例えば、最小消去サイズが256Mbyteになる場合、ブロックサイズを256Mbyte×n(n=1、2、…)にする。ブロックサイズが最小消去サイズ(セクタ)の境界を跨いだ場合、消去したいブロックデータを消去すると、消去したいブロック以外のブロックデータも消去してしまう可能性があるためである。
次に、頻繁に変更のあるプログラムとあまり変更のないプログラムを分けて分割する。さらに、機能モジュール、CPUのタスク割り当て、共通データベースをそれぞれ分けて、ブロック分割を実施する。頻繁に変更のあるプログラムとあまり変更のないプログラムを互いに独立して分割することにより、なるべくリプログラミングに必要なブロックの数とサイズを減らすことができる。
例えば、車載器2が複数のCPUからなる並列演算処理装置を有している場合、ブロックは、複数のCPUのそれぞれへのタスク割り当てに基づいて分割される。
また、例えば車載器2を二つのカメラを持つステレオカメラを制御するECUとして使用する場合、カメラの特性などを校正する固有データにおいて、片方のカメラだけを校正する際には、片方のカメラに関する固有データを更新すればよく、校正しないカメラの固有データの更新は必要がないため、二つのカメラの固有データをそれぞれブロックごとに分割する。
図6を用いて、新プログラム304のブロック分割の考え方の一例を説明する。図6は、分割部503によるプログラムのブロック分割例を示す図である。
上記で説明したように、分割部503を用いて、新プログラム304をブロック群601(図5の新ブロック群505に相当)に分割する。図6に示す例ではFLASH ROM408の最小消去サイズ(セクタ)を256Mbyteとしているので、ブロック群601は、共通データベース(256Mbyte)、アプリケーション機能1(1024Mbyte)、アプリケーション機能2(768Mbyte)、車両制御機能(512Mbyte)、ベーシックソフトウェア(256Mbyte)、カメラ1固有データ(256Mbyte)、カメラ2固有データ(256Mbyte)で構成される。全てのブロックサイズが256Mbyteの整数倍になっている。
共通データベースは、頻繁に変更のあるプログラムであるため、他のブロックとは独立して分割されている。また、アプリケーション機能1、アプリケーション機能2、車両制御機能、ベーシックソフトウェアは、機能モジュールやCPUのタスク割り当てに該当するため、それぞれ分けて分割されている。また、カメラ1固有データ、カメラ2固有データは、上述した二つのカメラを持つステレオカメラの観点で、互いに独立して分割されている。つまり、新プログラム304は、ステレオカメラの右カメラ用データのブロックと左カメラ用データのブロックとが互いに独立に分割される。
なお、上記はあくまでも一例であって、分割部503は、上記のブロック分割例に限らず、新プログラム304の規模や、車載器2のシステム構成、FLASH ROM408の仕様に応じて、最適な分割方法を採用すればよい。
例えば、分割方法として、手動によるプログラムのブロック分割、専用ツールによるプログラムのブロック分割、プログラムビルドによる生成前にソースコードを予めに分割して、それぞれの分割ソースコードをビルドして複数のプログラムブロックを生成する方法などが挙げられる。
図7を用いて、リプログラミングツール305と車載器2のプログラム更新の機能ブロックを説明する。図7は、リプログラミングツール305と車載器2のプログラム更新の機能ブロック図であり、車載器2を用いた識別子比較の例を示している。
リプログラミングツール305は、入力された圧縮ブロック群501と新識別子群502、及び抽出部701を備えている。抽出部701は、車載器2から受信した変更のあるブロックを特定する情報に基づいて、変更のあるブロックに対応する圧縮ブロック702を圧縮ブロック群501から抽出する役割を果たす。
車載器2は、マイコン処理部707(図4の演算装置403に相当)、FLASH ROM408を備えている。
FLASH ROM408は、ブートローダ405、旧プログラム406、旧識別子群407を備えている。
旧プログラム406と旧識別子群407の関係性は、図5に示した新プログラム304と新識別子群502の関係性と同様である。旧識別子群407は図4に示した各種パラメータ407に含まれる。
ブートローダ405は、解凍部703、FLASH操作部704、識別子比較部705を備えている。車載器2では、リプログラミングモードで起動後に、ブートローダ405の解凍部703、FLASH操作部704、識別子比較部705がマイコン処理部707により実行される。すなわち、マイコン処理部707は、ブートローダ405に含まれる解凍部703、FLASH操作部704、識別子比較部705を有する。
なお、車載器2の機能を分かり易くするために、図7には最小限の機能ブロックを示しているが、他の機能ブロックを備えていても良い。
解凍部703は、リプログラミングツール305から受信した圧縮ブロック702を解凍してブロック706を生成する役割を果たす。図5に示した圧縮部504の逆アルゴリズムである。
FLASH操作部704は、リプログラミングツール305から受信した新識別子群502、及びブロック706を用いて、旧プログラム406と旧識別子群407の対応箇所の消去及び書換えを行う。
識別子比較部705は、リプログラミングツール305から受信した新識別子群502とFLASH ROM408から読み出した旧識別子群407を比較する。
比較方法は、同じブロック位置の1対1の同一性比較である。差分のある識別子に対応するブロックが、変更のあるブロックになる。
例えば、新識別子群502のハッシュ1と旧識別子群407のハッシュ1の比較結果が不一致になった場合、新プログラム304のブロック1は旧プログラム406のブロック1に対して変更があるため、旧プログラム406のブロック1の更新が必要である。
そのため、識別子比較結果での差分に対応するブロックを特定する情報をリプログラミングツール305の抽出部701にフィードバックする。
識別子比較により変更のあるブロックを特定するため、無駄な旧プログラム406の送信や、新プログラム304と旧プログラム406とを直接比較する必要がなく、識別子比較のみにより更新が必要なブロックを把握できるため、時間の短縮が図れる。
また、旧プログラム406のバージョンなどを事前に把握する必要がないため、バージョン管理の手間を抑制することができる。
また、識別子比較部705での自動比較により、旧プログラム406のバージョンに沿った手動選択などの操作がないため、作業員による操作ミスのリスクも解消される。
図8を用いて、本発明のポイントである識別子比較により特定した変更のあるブロックのみをリプログラミングする方法を説明する。図8は、リプログラミングツール305と車載器2のプログラム更新のフローチャートであり、車載器2を用いた識別子比較の例を示している。
先ず、ステップS801において、リプログラミングツール305から車載器2へ新識別子群502を送信する。ステップS802において、車載器2は新識別子群502を受信する。
次に、ステップS803において、新識別子群502を旧識別子群407と比較する。
続いて、ステップS804において、ステップS803での比較結果である差分に対応するブロックを特定する情報を車載器2からリプログラミングツール305へ送信する。ステップS805において、リプログラミングツール305は差分に対応するブロックを特定する情報を受信する。
次に、ステップS806において、ステップS805で受信した情報に基づいて、差分のある識別子の有無、すなわちリプログラミングの必要なブロックの有無を判定する。
判定結果が無(NO)の場合、変更のあるブロックがなく、リプログラミングの必要はないため、リプログラミングツール305と車載器2でのリプログラミング動作を終了する。一方、判定結果が有(YES)の場合、リプログラミング動作を継続する。
リプログラミング動作を継続する場合、ステップS807において、リプログラミングツール305は、差分のある識別子に対応する圧縮ブロック、すなわちリプログラミングに必要な圧縮ブロックを抽出する。
続いて、ステップS808において、抽出した全ての圧縮ブロックデータを車載器2へ送信する。ステップS809において、車載器2は圧縮されたプログラムデータを受信する。
受信完了後、ステップS810において、圧縮ブロックデータを解凍して本来の新プログラム304のブロックに復元する。
最後に、ステップS811において、旧識別子群407及び特定されたブロックに対応するFLASH ROM408の該当箇所(セクタ)を消去した後、新識別子群502及び復元されたブロックを用いて、FLASH ROM408の消去した箇所(セクタ)に書込む。
以上の車載プログラム更新方法により、識別子比較により特定されたブロックのみを更新することができる。
図9及び図10を参照して、本発明の実施例2に係る車載プログラム更新システム及び車載プログラム更新方法について説明する。
実施例1では、識別子比較部705は車載器2に備えられており、識別子比較による変更のあるブロックの特定は車載器2側で行う。これに対し、本実施例では、識別子比較部901はリプログラミングツール305に備えられており、識別子比較による変更のあるブロックの特定はリプログラミングツール305側で行う。
図9を用いて、リプログラミングツール305と車載器2のプログラム更新の機能ブロックについて、実施例1(図7)との相違点を説明する。図9は、リプログラミングツール305と車載器2のプログラム更新の機能ブロック図であり、リプログラミングツール305を用いた識別子比較の例を示している。
本実施例(図9)のリプログラミングツール305の識別子比較部901が、実施例1(図7)のマイコン処理部707に示した識別子比較部705に相当する。
識別子比較部901は、車載器2から受信した旧識別子群407を新識別群502と比較する役割を果たす。この比較方法は、実施例1(図7)での説明内容と同様である。また、識別子比較部901以外の機能ブロックについては、実施例1(図7)と同様である。
図10を用いて、本発明のポイントである識別子比較により特定した変更のあるブロックのみをリプログラミングする方法について、実施例1(図8)との相違点を説明する。図10は、リプログラミングツール305と車載器2のプログラム更新のフローチャートであり、リプログラミングツール305を用いた識別子比較の例を示している。
先ず、ステップS1001において、リプログラミングツール305から車載器2へ旧識別子群407の要求を送信する。ステップS1002において、車載器2は旧識別子群407の要求を受信する。
次に、ステップS1003において、旧識別子群407を車載器2からリプログラミングツール305へ送信する。ステップS1004において、リプログラミングツール305は旧識別子群407を受信する。
続いて、ステップS1005において、受信した旧識別子群407を新識別子群502と比較する。
それ以降の処理ステップS1006、ステップS1007、ステップS1008、ステップS1009、ステップS1010、ステップS1011は、図8に示したステップS806、ステップS807、ステップS808、ステップS809、ステップS810、ステップS811と同様である。
図11を参照して、本発明の実施例3に係る車載プログラム更新システム及び車載プログラム更新方法について説明する。
実施例1及び実施例2では、新プログラム304が旧プログラム406に対して、ブロックデータが変更になるケースを説明した。本実施例では、新プログラム304が旧プログラム1103に対して、ブロック数が増加するケースについて説明する。
図11を用いて、リプログラミングツール305と車載器2のプログラム更新の機能ブロックについて、実施例1(図7)との相違点を説明する。図11は、リプログラミングツール305と車載器2のプログラム更新の機能ブロック図であり、ブロック数増加の例を示している。
ブロック数が増加する本実施例の前提として、車載器2のFLASH ROM408(旧プログラム1103)に空領域(余剰領域)があり、増加ブロックのデータをFLASH ROM408に記憶することができる必要がある。また、旧識別子群1104のハッシュ予備領域(余剰領域)も予め確保されている必要がある。一般には、車載器2のソフトウェアを設計する際に、ハッシュ予備領域を幾つか確保する。
旧プログラム1103に対して新プログラム304でブロック7が増加すると仮定する。従って、圧縮ブロック群1101に圧縮ブロック7が増え、新識別子群1102にもハッシュ7が増える。
実施例1(図7)と同様に、識別子比較部705は、リプログラミングツール305から受信した新識別子群1102とFLASH ROM408から読み出した旧識別子群1104を比較する。
比較方法は、同じブロック位置の1対1の同一性比較である。差分のある識別子に対応するブロックが、増加するブロックになる。
旧識別子群1104の予備領域の値は、通常オール0かオールFである。一方、新識別群1102のハッシュ7は新プログラム304の増えたブロック7から演算されており、必ずオール0かオールFにはならない。
本実施例(図11)では、ハッシュ7の新旧識別子比較の結果が差分ありとなるため、圧縮ブロック7を変更のあるブロックとして特定してリプログラミングする。
なお、ブロック数が増加する本実施例は、識別子比較がリプログラミングツール305または車載器2のいずれで実施されてもよく、処理フローチャートは、図8または図10のいずれも適用することができる。
また、上記では、新プログラム304が旧プログラム1103に対して、ブロック数が増加するケースについて説明したが、逆に新プログラム304が旧プログラム1103に対して、ブロック数が減少するケースについても同様に本発明を適用することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
1…PC(パソコン)、2…車載器(ECU)、301,403…演算装置、302…入出力装置、303,402…通信装置、304…新プログラム、305…リプログラミングツール、306…記憶装置、401…各種IC、404…RAM、405…ブートローダ、406,1103…旧プログラム、407…各種パラメータ(旧識別子群)、408…FLASH ROM、501,1101…圧縮ブロック群、502,1102…新識別子群、503…分割部、504…圧縮部、505…新ブロック群、506…識別子演算部、601…ブロック群、701…抽出部、702…圧縮ブロック、703…解凍部、704…FLASH操作部、705,901…識別子比較部、706…ブロック、707…マイコン処理部、1104…旧識別子群。
Claims (12)
- 車載器に搭載されたメモリ上の旧プログラムを新プログラムに更新する車載プログラム更新システムであって、
前記新プログラムが分割された複数のブロックの各々が固有にもつ識別子の集合である第一の識別子群を車載器に送信し、
前記車載器から、前記旧プログラムの各ブロックの各々が固有にもつ識別子の集合である第二の識別子群と前記第一の識別子群との差分に対応するブロックを特定するための領域情報を受信し、
前記新プログラムにおいて前記差分に相当するブロックを、前記車載器に送信することを特徴とする車載プログラム更新システム。 - 請求項1に記載の車載プログラム更新システムにおいて、
前記領域情報は、前記第一の識別子群と前記第二の識別子群との差分に関する情報、または前記第二の識別子群であることを特徴とする車載プログラム更新システム。 - 請求項1に記載の車載プログラム更新システムにおいて、
前記ブロックは、前記新プログラムおよび前記旧プログラムの機能に応じて分割されたものであることを特徴とする車載プログラム更新システム。 - 請求項1に記載の車載プログラム更新システムにおいて、
前記車載器は、ステレオカメラを制御する電子制御装置であって、
前記新プログラムは、当該ステレオカメラの右カメラ用データのブロックと左カメラ用データのブロックとが互いに独立に分割されることを特徴とする車載プログラム更新システム。 - 請求項1に記載の車載プログラム更新システムにおいて、
前記車載器は、複数のCPUからなる並列演算処理装置を有し、
前記ブロックは、前記複数のCPUのそれぞれへのタスク割り当てに基づいて分割されたものであることを特徴とする車載プログラム更新システム。 - 請求項1に記載の車載プログラム更新システムにおいて、
前記旧プログラムおよび前記第二の識別子群は、前記メモリの最小消去単位の大きさに応じた余剰領域をそれぞれ有することを特徴とする車載プログラム更新システム。 - 車載器に搭載されたメモリ上の旧プログラムを新プログラムに更新する車載プログラム更新方法であって、
(a)新プログラムが分割された複数のブロックの各々が固有にもつ識別子の集合である第一の識別子群を車載器に送信するステップと、
(b)前記車載器から、旧プログラムの各ブロックの各々が固有にもつ識別子の集合である第二の識別子群と前記第一の識別子群との差分に対応するブロックを特定するための領域情報を受信するステップと、
(c)前記新プログラムにおいて前記差分に相当するブロックを、前記車載器に送信するステップと、
を有することを特徴とする車載プログラム更新方法。 - 請求項7に記載の車載プログラム更新方法において、
前記領域情報は、前記第一の識別子群と前記第二の識別子群との差分に関する情報、または前記第二の識別子群であることを特徴とする車載プログラム更新方法。 - 請求項7に記載の車載プログラム更新方法において、
前記ブロックは、前記新プログラムおよび前記旧プログラムの機能に応じて分割されたものであることを特徴とする車載プログラム更新方法。 - 請求項7に記載の車載プログラム更新方法において、
前記車載器は、ステレオカメラを制御する電子制御装置であって、
前記新プログラムは、当該ステレオカメラの右カメラ用データのブロックと左カメラ用データのブロックとが互いに独立に分割されることを特徴とする車載プログラム更新方法。 - 請求項7に記載の車載プログラム更新方法において、
前記車載器は、複数のCPUからなる並列演算処理装置を有し、
前記ブロックは、前記複数のCPUのそれぞれへのタスク割り当てに基づいて分割されたものであることを特徴とする車載プログラム更新方法。 - 請求項7に記載の車載プログラム更新方法において、
前記旧プログラムおよび前記第二の識別子群は、前記メモリの最小消去単位の大きさに応じた余剰領域をそれぞれ有することを特徴とする車載プログラム更新方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2024507278A JPWO2023175752A1 (ja) | 2022-03-16 | 2022-03-16 | |
PCT/JP2022/011768 WO2023175752A1 (ja) | 2022-03-16 | 2022-03-16 | 車載プログラム更新システム、車載プログラム更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/011768 WO2023175752A1 (ja) | 2022-03-16 | 2022-03-16 | 車載プログラム更新システム、車載プログラム更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023175752A1 true WO2023175752A1 (ja) | 2023-09-21 |
Family
ID=88022485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/011768 WO2023175752A1 (ja) | 2022-03-16 | 2022-03-16 | 車載プログラム更新システム、車載プログラム更新方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2023175752A1 (ja) |
WO (1) | WO2023175752A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006025347A (ja) * | 2004-07-09 | 2006-01-26 | Sanyo Electric Co Ltd | 携帯端末 |
JP2010211295A (ja) * | 2009-03-06 | 2010-09-24 | Mitsubishi Electric Corp | データ更新装置、データ更新装置のデータ更新方法およびデータ更新プログラム |
JP2016170471A (ja) * | 2015-03-11 | 2016-09-23 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
JP2019139473A (ja) * | 2018-02-09 | 2019-08-22 | 株式会社デンソー | 配布対象データの配布システム、及び配布対象データの取得方法 |
JP2020201587A (ja) * | 2019-06-06 | 2020-12-17 | 京セラ株式会社 | 撮像装置、車両及びプログラム |
-
2022
- 2022-03-16 JP JP2024507278A patent/JPWO2023175752A1/ja active Pending
- 2022-03-16 WO PCT/JP2022/011768 patent/WO2023175752A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006025347A (ja) * | 2004-07-09 | 2006-01-26 | Sanyo Electric Co Ltd | 携帯端末 |
JP2010211295A (ja) * | 2009-03-06 | 2010-09-24 | Mitsubishi Electric Corp | データ更新装置、データ更新装置のデータ更新方法およびデータ更新プログラム |
JP2016170471A (ja) * | 2015-03-11 | 2016-09-23 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
JP2019139473A (ja) * | 2018-02-09 | 2019-08-22 | 株式会社デンソー | 配布対象データの配布システム、及び配布対象データの取得方法 |
JP2020201587A (ja) * | 2019-06-06 | 2020-12-17 | 京セラ株式会社 | 撮像装置、車両及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2023175752A1 (ja) | 2023-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112953820B (zh) | 网关装置、固件更新方法以及存储介质 | |
CN110244958B (zh) | 用于更新车辆的标定数据的方法和装置 | |
US11263001B2 (en) | Car onboard control device and program updating software | |
CN103744712A (zh) | 一种应用程序的更新方法及装置 | |
WO2019123747A1 (ja) | 自動車用電子制御装置及びその制御方法 | |
US12050903B2 (en) | OTA master, system, method, non-transitory storage medium, and vehicle | |
US20220391192A1 (en) | Ota master, center, system, method, non-transitory storage medium, and vehicle | |
US20220405083A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
WO2023175752A1 (ja) | 車載プログラム更新システム、車載プログラム更新方法 | |
US11954480B2 (en) | Center, OTA master, system, method, non-transitory storage medium, and vehicle | |
US11947824B2 (en) | Electronic control unit, method, and program | |
US20220244946A1 (en) | Ota master, update control method, non-transitory storage medium, and vehicle | |
JP7559600B2 (ja) | Otaマスタ、センタ、システム、方法、プログラム、及び車両 | |
US12067381B2 (en) | Center, update management method, and non-transitory storage medium | |
JP7540401B2 (ja) | センタ、otaマスタ、方法、プログラム、及び車両 | |
WO2020241473A1 (ja) | 演算処理装置、車両制御装置及び更新方法 | |
JP2022170949A (ja) | 制御装置およびデータ書き換え方法 | |
US20230143921A1 (en) | Electronic control system, storage medium storing data structure of software package, and storage medium storing computer program | |
WO2024062897A1 (ja) | 制御システム及びソフトウェア更新方法 | |
CN114764339A (zh) | 中心、管理方法以及非暂时性存储介质 | |
JP2022187056A (ja) | ソフトウエア特定装置 | |
JP2022133732A (ja) | センター装置及び車載電子制御装置 | |
JP2022163479A (ja) | 車両用電子制御装置、書換えプログラム及びデータ構造 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22932032 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2024507278 Country of ref document: JP |