Arithmetic processing device, vehicle control device, and update method
By introducing a common storage area and byte-level erasure technology for EEPROM into the vehicle control device, the problem of long update time caused by large EEPROM erase units is solved, and efficient program update and rollback functions are realized.
Patent Information
- Application Number
- CN202080031161.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-28
- Filing Date
- 2020-05-22
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2040-05-22
AI Technical Summary
Existing technologies require transferring data between two storage units when updating vehicle control programs, resulting in excessively long update times. Furthermore, the EEPROM has a large erase unit, making it difficult to update data efficiently.
The accompanying data of the storage control program is stored in a common storage area. Precise byte-level erasure and update are achieved through EEPROM, reducing the amount of data transmission. The block-level erasure feature of flash memory is used to optimize the data update process.
It shortens program update time, improves data update efficiency, reduces EEPROM usage, and supports the effective execution of rollback functions.
Smart Images

Figure CN113841116B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to an arithmetic processing device and a vehicle control device. BACKGROUND
[0002] In the past reprogramming, a device connected externally and a vehicle-mounted control device (ECU: Electric Control Unit) are connected, and a new control program and data attached to the control program are transferred to the ECU while being written.
[0003] The attached data is data of a small size (1 byte or so) that is referred to by the control program, has an influence on execution of the control program, and can switch ON / OFF of a function implemented by the control program.
[0004] The device described in Patent Literature 1 provides the following technology: two program areas of an old program and a new program are provided inside the device, one of the two programs is selected and executed, and a new program and attached data are transferred to the other program area while being written.
[0005] The device described in Patent Literature 2 provides the following technology: control data is stored in a duplicated form inside the device, and when a failure occurs, normal control data of the same content is used to recover.
[0006] In addition, EEPROM (Electrically Erasable Programmable Read Only Memory) is widely used as a nonvolatile memory in a vehicle-mounted control device, but EEPROM can erase stored information in units of bytes, but since the storage capacity is several tens to several kbytes or so, it is not suitable for storage of a large amount of control data. Therefore, in recent years, a flash memory of a larger capacity has been adopted.
[0007] The flash memory is a nonvolatile memory that can be electrically erased or rewritten, like EEPROM, and has a larger storage capacity (several 10 kbytes to several hundred Mbytes: for example, several Mbytes) than EEPROM.
[0008] The flash memory is large in capacity, but on the other hand, as a cost for pursuing high integration, the erase processing that can be performed in units of bytes in EEPROM can be performed only in units of blocks (sector units) of several tens of kbytes, and there is a difficulty that it takes time to erase once.
[0009] However, since it is necessary to erase or rewrite information in units of bytes, a technology that can simulate EEPROM on a flash memory is also provided.
[0010] PRIOR ART DOCUMENTS
[0011] Patent Literature
[0012] Patent Literature 1: Japanese Patent Laid-Open No. 2003-114807
[0013] Patent Literature 2: Japanese Patent Laid-Open No. 2008-77221 SUMMARY
[0014] PROBLEMS TO BE SOLVED BY THE INVENTION
[0015] However, the above-described conventional device, when rewriting the control program using the external communication unit, transfers the two control programs and the accompanying data (Config data) that can be executed in the two program areas respectively each time the control program is updated. Also, the conventional device, since the update is performed on the basis of the program selected to be updated, needs to transfer the control program that is not used, and thus there is a problem that the update takes time.
[0016] That is, in the above-described prior art, in the configuration in which the two control programs are stored in the two memories A and B respectively, the control program and the accompanying data are one pair, and the data received needs two memories. This is because the control program and the accompanying data are dedicated data for the memory A and the memory B respectively, and thus in order to receive the data of the two memories, the configuration of the memory on one side is rewritten, and the reception of the two memories is needed.
[0017] An object of the present application is to reduce the amount of data transferred and shorten the time required for the update of the program when one of the two control programs is selected and the control program is updated in the device that can execute.
[0018] TECHNICAL MEANS FOR SOLVING THE PROBLEMS
[0019] The present application has a first rewritable memory section that stores two programs, a CPU that selects one of the two programs and executes, and a second rewritable memory section that stores common data accompanying the two programs.
[0020] EFFECTS OF THE INVENTION
[0021] According to the present application, when the program is updated, the amount of data transferred for the update can be reduced without transferring the two programs, and the time for the update can be shortened.
[0022] The details of one or more embodiments of the subject matter disclosed in this specification are described in the accompanying drawings and following description. Other features, ways, and effects of the disclosed subject matter will become apparent from the following disclosure, drawings, and technical solutions. BRIEF DESCRIPTION OF DRAWINGS
[0023] Figure 1 is a functional block diagram showing the entire configuration of a program update system including an arithmetic processing device, which is a prior art example.
[0024] Figure 2 is a view showing an example of the existing example, showing an example of a flash memory.
[0025] Figure 3 is a flowchart showing an example of the existing example, showing an example of a program update process.
[0026] Figure 4 is a view showing an example of the existing example, showing an example of a data flow of an update program received.
[0027] Figure 5 is a view showing Embodiment 1 of the present application, showing an example of a method of generalizing data attached to a program.
[0028] Figure 6 is a functional block diagram showing the overall configuration of a program update system including a computation processing device, showing Embodiment 1 of the present application.
[0029] Figure 7 is a view showing an example of a data flow of an update program, showing Embodiment 1 of the present application.
[0030] Figure 8A is a view showing an update object in a case where common attached data is saved to a flash memory, showing Embodiment 2 of the present application.
[0031] Figure 8B is a view showing an erase range in a case where common attached data is saved to a flash memory, showing Embodiment 2 of the present application.
[0032] Figure 8C is a view showing an updated view in a case where common attached data is saved to a flash memory, showing Embodiment 2 of the present application.
[0033] Figure 9A is a view showing an update object in a case where common attached data is saved to an EEPROM, showing Embodiment 2 of the present application.
[0034] Figure 9B is a view showing an erase range in a case where common attached data is saved to an EEPROM, showing Embodiment 2 of the present application.
[0035] Figure 9C is a view showing an updated view in a case where common attached data is saved to an EEPROM, showing Embodiment 2 of the present application.
[0036] Figure 10 is a functional block diagram showing the overall configuration of a program update system including a computation processing device, showing Embodiment 2 of the present application.
[0037] Figure 11is a functional block diagram showing the overall configuration of the program update system according to Embodiment 3 of the present application.
[0038] Figure 12 is a functional block diagram showing the overall configuration of the program update system according to Embodiment 3 of the present application.
[0039] Figure 13 is a flowchart showing an example of the update processing according to Embodiment 3 of the present application.
[0040] Figure 14 is a flowchart showing an example of the rollback processing according to Embodiment 3 of the present application. DETAILED DESCRIPTION
[0041] Embodiment 1
[0042] Hereinafter, an embodiment of a program update system including a vehicle control device (an arithmetic processing device) will be described with reference to the drawings.
[0043] First, Figure 1 is a functional block diagram showing the overall configuration of the program update system according to Embodiment 1 of the present application. The arithmetic processing device 1 includes a control section 2, a communication control section 3, a storage section 4, a timer management section 5, a signal input section 6, and a power supply control section 7.
[0044] The timer management section 5 measures various times. The signal input section 6 inputs signals from various sensors. The control section 2 controls the entire processing of the arithmetic processing device 1 by executing a control program stored in the storage section 4 and constituted mainly of a CPU 2a.
[0045] The storage section 4 includes various storage media such as a RAM (Random Access Memory) 14, an EEPROM (Electrically Erasable Programmable Read Only Memory) 15, and a flash memory 16. Among them, the flash memory 16 stores in advance a control program to be executed by the control section 2. The RAM (main storage) 14 is used to temporarily store the control program to be executed, various information, and to perform read and write.
[0046] Figure 2 is a diagram showing an example of the flash memory 16 according to the prior example. As shown in Figure 2 , the flash memory 16 has storage areas Pa, Pb, and stores therein control programs of different generations that can be executed by the control section 2. In addition, the two storage areas Pa, Pb can be constituted by two different storage bodies.
[0047] The control section 2 can select either of the storage areas Pa, Pb to execute, and normally executes the control program of the new side at the update time (update date and time). The update date and time of the control program is set by the program update device 9, the control section 2.
[0048] Likewise, as shown in Figure 2 , the flash memory 16 has the data (DPa, DPb) attached to the control program, and stores the data attached to the control program read out from the control program stored in the storage areas Pa, Pb, and written in.
[0049] In addition, in Figure 1 , each of the electric blocks is functionally shown, but in the integrated circuit device in recent years, since there are also those in which the storage section 4 is mounted in the inside of the CPU 2a, it can be applied to those which are integrated in hardware, and also to those which are separated.
[0050] As shown in Figure 1 , the arithmetic processing device 1 is connected to the data center 13 via the base station 11 and the communication network (including wireless or wired communication network) 12 through the wireless communication device 10.
[0051] In addition, various ECUs (Electronic Control Unit) such as the program update device 9, the wireless communication device 10 are connected to the vehicle communication network 17. The control section 2 executes the program recorded in the flash memory 16, and thereby performs communication between the various ECUs of the vehicle communication network 17 through the communication control section 3.
[0052] The power supply control section 7 is connected to the vehicle battery 8, and converts the battery voltage and supplies power to each of the blocks in the arithmetic processing device 1.
[0053] Figure 3 is a flowchart showing the entire processing at the time of program update of the prior art example.
[0054] Figure 4 is a diagram showing an example of the data flow of the received update program of the prior art example.
[0055] At the time of updating the control program of the arithmetic processing device 1, as shown in Figure 3 and Figure 4 , the update data 20 (102) containing the two control programs which can be executed in the storage areas Pa, Pb, respectively, and the attached data are received from the program update device 9, the wireless communication device 10 via the communication control section 3.
[0056] In addition, the program update device 9 receives the update program from the wireless communication device 10 and transmits the update program to each of the arithmetic processing devices 1 at a prescribed time. The arithmetic processing devices 1 mounted on the vehicle constitute a plurality of ECUs such as an engine ECU, a motor ECU, a brake ECU, a steering ECU, a drive assist ECU, and the like. The program update device 9 receives the update programs of the various ECUs received from the data center 13, selects the update program of each of the ECUs, and transmits the same.
[0057] The control section 2 of the arithmetic processing device 1 determines the region to be updated (103), and selects a control program that can be executed in a storage region not currently executed among the storage regions Pa and Pb as an update object. Also, the control section 2 can consider the method of performing erasure and writing of data in the storage region Pa (Pb) of the update object (104, 105), and also performs erasure and writing of data (storage regions DPa, DPb) attached to the control program to be updated.
[0058] However, in the method of transferring two control programs that can be executed in the storage regions Pa and Pb, respectively, and the attached data each time the control program is updated, and performing the update on the basis of the control program to be updated, the unused control program also needs to be transferred, and thus the update takes time.
[0059] Therefore, in the present embodiment 1, the problem is solved by introducing the following method at the time of generation of the program.
[0060] Figure 5 is a diagram showing an example of a method of generalizing data attached to the program of the present application. Figure 6 is a functional block diagram showing the overall configuration of the program update system including the arithmetic processing device 1 of embodiment 1. Figure 7 is a diagram showing an example of the data flow of the update program of embodiment 1.
[0061] Figure 6 The arithmetic processing device 1 of embodiment 1 is different from the above-described prior example in that the common storage region ComD in which the common attached data (common attached data in the diagram) 32 is stored is provided in the flash memory 16, and the other configurations are the same as those of the above-described prior example. Figure 1 , Figure 2
[0062] In the prior example shown in Figure 2 , since the information dependent on the control program is included in the data attached to the control program, the dedicated attached data thereof is required in the control program.
[0063] Therefore, as shown in Figure 5 As shown, the information common to the control programs (the accompanying data) is defined as common accompanying data 32 on the premise that the control programs and the accompanying data are updated, and the accompanying data that is not common is included in the control programs, thereby eliminating the dependency of the accompanying data and the control programs.
[0064] As a result, as shown in Figure 7 As shown, a common storage area ComD storing the common accompanying data 32 is provided in the flash memory 16, and the accompanying data that is not common is included in the control programs (the storage areas Pa, Pb), thereby enabling the generation of the control programs that are not dependent on the storage areas Pa, Pb, either of which can be executed, and as shown in the update data 21, the additional transfer of unused information is no longer required, so that the time required for the update can be shortened.
[0065] In addition, in the above-described embodiment 1, an example in which the program update device 9 acquires the update program and transfers the update program to the arithmetic processing device 1 at a prescribed time is described, but is not limited thereto. The arithmetic processing device 1 can also receive the update program from the wireless communication device 10.
[0066] Embodiment 2
[0067] This embodiment reduces the update time in the above-described embodiment 1.
[0068] Figure 8A - Figure 8C and Figure 9A - Figure 9C A summary of the rewriting process in the case where the common storage area ComD storing the common accompanying data 32 is the flash memory 16 and the EEPROM (including an analog EEPROM) is shown. Figure 8A is a diagram showing the update target in the case where the common storage area ComD is provided as the flash memory 16, Fig. 8 is a diagram showing the erasing range, Figure 8C is a diagram showing the updated state. Figure 9A is a diagram showing the update target in the case where the common storage area ComD is provided as the EEPROM 15, Figure 9B is a diagram showing the erasing range, Figure 9C is a diagram showing the updated state.
[0069] As shown, by making the accompanying data in the control programs common (the common accompanying data 32), there is an advantage in that the control programs that are not dependent on the storage areas Pa, Pb can be generated, but in the update of the common accompanying data 32 in the common storage area ComD on the flash memory 16, there is a problem in that the update takes time. Figure 6 As an example of the common accompanying data 32, data such as ON / OFF information of the function implemented by the control program and the like, which is small in data size (less than 1 byte), can be given. However, as
[0070] Figure 8A - Figure 8C As shown, when the common attached data 32 on the flash memory 16 is updated, not only the data to be updated but also the peripheral data thereof are erased, and then, the writing of the data to be updated and the restoration of the erased data are required.
[0071] This is because, on the characteristics of the flash memory 16, the unit of erasing (writing) is not a bit unit but only a block unit (sector unit) can be erased.
[0072] Therefore, even if the data to be updated is very small as the common attached data 32, since the erasing unit is large on the characteristics of the flash memory 16, the time required for the update is increased.
[0073] Therefore, as shown in Figure 9A - Figure 9C and Figure 10 by setting the storage destination (common storage area ComD) of the common attached data 32 to the EEPROM 15 (including the analog EEPROM), the above problem can be solved.
[0074] Figure 10 is a block diagram showing an example of the arithmetic processing device 1 of Embodiment 2. The arithmetic processing device 1 of Embodiment 2 sets the common storage area ComD storing the common attached data 32 in the EEPROM 15 of the storage section 4. The other configurations are the same as those of Embodiment 1 described above.
[0075] As shown in Figure 9A - Figure 9C the EEPROM 15 can be erased in a bit unit (or a byte unit) as in the above prior example, and thus, the common attached data 32 to be updated can be updated accurately (in a byte unit), and the time required for the update can be shortened.
[0076] Further, even in the analog EEPROM widely used in recent years, since the erasing unit is small as in the EEPROM 15, the same effect can be obtained.
[0077] Therefore, compared with the case where the data is stored in the flash memory 16, the time required for erasing and rewriting can be shortened when the data is stored in the EEPROM 15.
[0078] Embodiment 3
[0079] This embodiment reduces the amount of use of the EEPROM 15 in Embodiment 2.
[0080] A rollback function employed when the storage areas Pa, Pb storing 2 executable programs are used will be described. The rollback function is a function of recovering to the state (control program and attached data) at the time point of normal operation before the update of the control program when a failure occurs in the update of the control program, and attempting the recovery.
[0081] However, as shown inFigure 11 As shown, to implement the rollback function, two regions (ComD and ComD2) need to be prepared for the common data, one old and one new, thus limiting the use of EEPROM 15. Additionally, Figure 11 This is a block diagram of an arithmetic processing device 1 configured to store the common accompanying data 32 before the update in an EEPROM 15.
[0082] In addition, since the rollback function is a safety measure in case of failure, it is executed infrequently, which is inefficient in consuming EEPROM15 capacity.
[0083] Therefore, in this embodiment, the problem is solved by using the storage areas Pa and Pb of the storage control program as the storage destination for the common accompanying data 32 before the update.
[0084] Figure 12 This is a block diagram of an arithmetic processing device 1 that stores the common accompanying data 32 before the update in the flash memory 16. Figure 12 A common storage area ComD2 for the common accompanying data 32 before the storage update is set in flash memory 16. The other configurations are the same as in embodiment 2 above.
[0085] like Figure 12 As shown, the common storage area ComD2 of the common accompanying data 32 before storage update uses the storage area Pb of the currently unexecuted control program as the save destination (if the area of the unexecuted control program is Pa, the storage area Pa becomes the save destination). Thus, it is possible to manage the control program and accompanying data to be rolled back together.
[0086] in addition, Figure 13 This is a flowchart illustrating an example of the update process for common accompanying data 32 and the saving process for data before the update. This process... Figure 12 The control unit 2 shown executes at predetermined intervals. After receiving update data 21, it updates the common auxiliary data 32 after updating the control program. The update of common auxiliary data 32 is performed by saving the value of common storage area ComD (common auxiliary data 32) before the update to the storage area Pb of the unexecuted control program while the control program of storage area Pa is being executed.
[0087] In the following description, an example is shown where the control program for storage areas Pa and Pb includes an update function. However, the update process can also be executed as a separate program by the control unit 2. Furthermore, the control unit 2 will be described as the main processing unit below, but the control program loaded into CPU 2a can also be considered the main processing unit. Additionally, when the update process is complete, the control program executes the prescribed processing (vehicle control, etc.).
[0088] First, the control section 2 receives the update data 21 as shown in step 102, and determines whether the control program of the storage area Pa is being executed in step 103. In the case where the control program of the storage area Pa is being executed, step 104 is entered, and in the case where the control program of the storage area Pb is being executed, step 105 is entered.
[0089] In step 104, the control section 2 implements writing after erasing the control program of the storage area Pb which is not being executed, and updates to the received control program. In step 105, the control section 2 implements writing after erasing the control program of the storage area Pa which is not being executed, and updates to the received control program.
[0090] In step 106, the control section 2 determines whether the update is completed, and in the case where the update is completed, step 107 is entered, and in the case where the update is not completed, step 102 is returned, and the above-described processing is repeated.
[0091] In step 107, if the update of the control program is completed, the control section 2 performs switching of the control program being executed. The switching of the control program stops the control program of the storage area Pa being currently executed, and starts the control program of the storage area Pb after the update, if a prescribed condition (for example, in a parking or a stopped state) is satisfied. In the case where the prescribed condition is not satisfied, step 108 is entered.
[0092] In addition, the switching of the control program can not be performed by the control program itself, but can be delegated to another program executed by the control section 2.
[0093] After the switching of the control program is completed, the control section 2 determines whether or not the update of the common attached data 32 is required as shown in step 108, and if the update is required, step 109 is entered, and if the update is not required, the processing is ended.
[0094] In step 109, the control section 2 determines whether the control program of the storage area Pa is being executed. In the case where the control program of the storage area Pa is being executed, step 110 is entered, and in the case where the control program of the storage area Pb is being executed, step 111 is entered.
[0095] In step 110, the current value of the common attached data 32 of the storage area Pb which is not being executed by the control section 2 is saved into the common storage area ComD2. On the other hand, in step 111, the current value of the common attached data 32 of the storage area Pa which is not being executed by the control section 2 is saved into the common storage area ComD2.
[0096] The object saved by the control section 2 can be all of the common attached data 32, or can be only the updated data. Then, after the saving is completed, the control section 2 updates the common attached data 32 of the common storage area ComD based on the received update data 21, as shown in step 112.
[0097] In addition, as described in step 107, the updating of the common attached data 32 of the common storage area ComD can be performed only when the control section 2 determines that the prescribed condition is satisfied.
[0098] Through these processes, the updating of the common attached data 32 and the saving of the pre-update data to the common storage area ComD 2 can be achieved.
[0099] In addition, Figure 14 A flowchart showing the process when the rollback function is executed. In the following description, an example is shown in which the control programs of the storage areas Pa, Pb include the rollback function, but the rollback process can be executed as an independent program by the control section 2. In addition, the control section 2 is described below as the main body of the process, but the control program read into the CPU 2a can be the main body of the process. In addition, when the rollback process ends, the control program performs a prescribed process (vehicle control, etc.).
[0100] First, as shown in step 202, the control section 2 performs a determination of whether rollback is required, and executes rollback only when the execution requirement of rollback is satisfied. The execution requirement of rollback can be, for example, when a request is received from another ECU, or when an error is detected by the ECU (the arithmetic processing device 1) itself. When the execution requirement is satisfied, the process proceeds to step 203, and when the execution requirement is not satisfied, the process ends.
[0101] In addition, when a request is received from another ECU, for example, when a failure occurs in the control program updated by another ECU, in the case where rollback of the control program by another ECU is performed, the control program executed by the arithmetic processing device 1 is also rolled back regardless of the presence or absence of failure in order to make the versions consistent.
[0102] The control section 2 determines in step 203 whether the control program of the storage area Pa is being executed. When the control program of the storage area Pa is being executed, the process proceeds to step 204, and when the control program of the storage area Pb is being executed, the process proceeds to step 205.
[0103] In step 204, the control section 2 writes and reflects the pre-update common attached data 32 saved in the storage area Pb into the common storage area ComD. In step 205, the control section 2 writes and reflects the pre-update common attached data 32 saved in the storage area Pa into the common storage area ComD.
[0104] Then, in step 206, the control section 2, after the reflection of the pre-update common attached data 32 is completed, proceeds to step 207 to perform the switching of the control program being executed. If the reflection of the pre-update common attached data 32 is not completed, the control section 2 returns to step 203 to repeat the above processing.
[0105] Through the above processing, the capacity of the EEPROM 15 for the pre-update common attached data 32 can be reduced, and the rollback function can be realized.
[0106] Further, after the rollback is completed, the control section 2 can also report to the display screen or the like of a navigation device (omitted from the drawing) connected to the arithmetic processing device 1 that the rollback has been implemented.
[0107] Further, the notification is not limited to an image, but can also be a sound or a vibration.
[0108] Further, as the execution condition of the rollback, it is preferable that the start of the rollback is notified to the driver after the ignition key (omitted from the drawing) of the vehicle is turned off, or before the ignition key is turned on and the vehicle is started, or the like in the parking or the parking of the vehicle.
[0109] Further, when the update of the control program fails, the control section 2 can also inquire whether to perform the update at the next start (turn-on) through the navigation device or the like connected to the arithmetic processing device 1.
[0110] Further, in the present embodiment, an example in which the pre-update common attached data 32 is stored in the storage areas Pa and Pb is shown, but is not limited thereto, and can be any prescribed area of the flash memory 16.
[0111] <Summary>
[0112] As described above, the arithmetic processing device 1 or the vehicle control device of the above embodiment can be configured as follows.
[0113] (1). Having: a first rewritable storage section (flash memory 16, storage areas Pa and Pb) that stores 2 programs; a CPU (2a) that selects any one of the 2 programs and executes; and a second rewritable storage section (common storage area ComD, EEPROM 15) that stores common data (common attached data 32) attached to the 2 programs.
[0114] With the above configuration, the information common to the control programs (the attached data) is defined as the common attached data 32 with the control programs and the common attached data 32 being updated as a premise, and the attached data not common is included in the control programs, thereby eliminating the dependency of the attached data and the control programs. The common storage area ComD storing the common attached data 32 is provided in the flash memory 16, and the attached data not common is included in the control programs, thereby enabling the control programs not dependent on the storage areas Pa, Pb, either of which can be executed, as shown in the update data 21, and since the extra transfer of the unused information is no longer required, the time required for the update can be shortened.
[0115] (2). In the arithmetic processing device according to the above (1), the first rewritable storage section (16) storing the two programs has a prescribed rewritable unit (block unit), and the second rewritable storage section (ComD, 15) storing the common data attached to the two programs has a rewritable unit (byte unit) smaller than the rewritable unit of the first rewritable storage section (16) storing the programs.
[0116] According to the above configuration, the erasure or rewriting of the data can be performed in the EEPROM 15 in the (byte unit), and thus the common attached data 32 to be updated can be updated accurately in the (byte unit), and the time required for the update can be shortened.
[0117] (3). In the arithmetic processing device according to the above (1), when the common data (32) attached to the two programs is updated, the common data before the update is stored as old data, and the storage destination of the old data is the second rewritable storage section (ComD, 15) storing the common data (32).
[0118] According to the above configuration, by storing the common attached data 32 before the update in the common storage area ComD in advance, the execution environment of the program before the update can be reproduced using the old data of the common storage area ComD when the program before the update is rolled back.
[0119] (4). In the arithmetic processing device according to the above (1), when the common data (32) attached to the two programs is updated, the common data before the update is stored as old data, and the storage destination of the old data is the first rewritable storage section (16).
[0120] According to the above configuration, by storing the common attached data 32 before the update in the common storage area ComD of the flash memory 16 in advance, the execution environment of the program before the update can be reproduced using the old data of the common storage area ComD when the program before the update is rolled back.
[0121] (5). In the arithmetic processing device described in (1) above, further comprising a communication interface (communication control section 3) that performs data exchange with an external system, and the CPU (2a) receives common data attached to the program that is not selected via the communication interface (3) and performs updating.
[0122] With the above configuration, it is possible to receive update data 21 from an external system to update the common attached data 32.
[0123] (6). In the arithmetic processing device described in (1) above, the common data contains information that has an influence on execution of the program, and has an influence on control of the vehicle.
[0124] With the above configuration, it is possible to use the common attached data 32 in updating of a control program of an ECU or the like of a vehicle, and it is possible to ensure shortening of update time and execution of rollback.
[0125] In addition, the present application is not limited to the above-described embodiments, and various modifications are included.
[0126] For example, the above-described embodiments are described in detail in order to easily understand the present application, and are not necessarily limited to having all the configurations described. In addition, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and in addition, the configuration of another embodiment can be added to the configuration of one embodiment. In addition, any one of addition, deletion, or substitution of other configurations for a part of the configuration of each embodiment can be applied individually or in combination.
[0127] In addition, each of the above-described configurations, functions, processing sections, and processing units, etc. can be realized by hardware by, for example, designing a part or all of them by an integrated circuit, or the like. In addition, each of the above-described configurations and functions, etc. can be realized by software by a processor interpreting and executing a program that realizes each function. The program, table, file, etc. information that realizes each function can be placed in a memory, a hard disk, an SSD (Solid State Drive), or the like recording device, or an IC card, an SD card, a DVD, or the like recording medium.
[0128] In addition, control lines, information lines are described as necessary in the description, and all of the control lines, information lines are not necessarily indicated on the product. In fact, it can be considered that almost all of the configurations are connected to each other.
[0129] Symbol Explanation
[0130] 1: arithmetic processing device, 2: control section, 2a: CPU, 3: communication control section, 4: storage section, 14: RAM, 15: EEPROM, 16: flash memory, 21: update data, 32: common attached data, Pa: storage area, Pb: storage area, ComD: common storage area, ComD2: common storage area.
Claims
1. An arithmetic processing device that receives an update program to update programs, characterized by comprising: a first rewritable storage section that stores one program in each of two storage areas; a CPU that selects one of the two programs to execute and updates the program not selected by the execution of the program that can execute in either of the two storage areas; and a second rewritable storage section that stores common data attached to the two programs, the common data including information that affects the execution of the programs, wherein the common data is defined as the common data attached to the two programs at the time of generation of the update program, and the common data not attached to the two programs is included in the two programs, and wherein, at the time of updating the common data attached to the two programs, the common data before the update is stored as old data, and the storage destination of the old data is the storage area of the first rewritable storage section that is not in execution.
2. The arithmetic processing device according to claim 1, characterized in that the first rewritable storage section that stores the two programs has a prescribed rewritable unit, and the second rewritable storage section that stores the common data attached to the two programs has a rewritable unit smaller than the rewritable unit of the first rewritable storage section that stores the programs.
3. The arithmetic processing device according to claim 1, characterized by further comprising a communication interface that exchanges data with an external system, and wherein the CPU receives the common data attached to the program not selected via the communication interface and updates the common data.
4. A vehicle control device that includes the arithmetic processing device according to claim 1, characterized in that the common data affects the control of a vehicle.
5. An update method that uses an arithmetic processing device to receive an update program to update a CPU and a main storage section with programs, characterized by comprising: a first step in which the CPU stores the two programs in two storage areas in a first rewritable storage section, respectively; a second step in which the CPU stores common data attached to the two programs in a second rewritable storage section, the common data including information that affects the execution of the programs; a third step in which the CPU selects one of the two programs to execute and updates the program not selected by the execution of the program that can execute in either of the two storage areas; and a fourth step in which the CPU updates the common data attached to the two programs, wherein the common data is defined as the common data attached to the two programs at the time of generation of the update program, and the common data not attached to the two programs is included in the two programs, and wherein, at the fourth step, at the time of updating the common data attached to the two programs, the common data before the update is stored as old data in the storage area of the first rewritable storage section that is not in execution.
6. The update method according to claim 5, characterized in that the first rewritable storage section that stores the two programs has a prescribed rewritable unit, and the second rewritable storage section that stores the common data attached to the two programs has a rewritable unit smaller than the rewritable unit of the first rewritable storage section that stores the programs. The second rewritable storage section storing common data attached to the two programs has a rewritable unit smaller than that of the first rewritable storage section storing the programs.
7. The update method according to claim 5, wherein It also has a communication interface for exchanging data with external systems, In the fourth step, common data attached to the programs not selected is received via the communication interface and updated.
Citation Information
Patent Citations
Electronics device and method for rewriting main body control program
JP2003114807A
Vehicular control device
JP2008077221A
Method for upgrading software for embedded Ethernet equipment and embedded Ethernet equipment
CN102364891A
Information processing device, image forming apparatus, and update method
JP2018156638A
Disk drive and method of changing a program therefor
US20100125700A1