WO2021205825A1 - 車載装置、情報処理方法及びコンピュータプログラム - Google Patents

車載装置、情報処理方法及びコンピュータプログラム Download PDF

Info

Publication number
WO2021205825A1
WO2021205825A1 PCT/JP2021/010612 JP2021010612W WO2021205825A1 WO 2021205825 A1 WO2021205825 A1 WO 2021205825A1 JP 2021010612 W JP2021010612 W JP 2021010612W WO 2021205825 A1 WO2021205825 A1 WO 2021205825A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
update
vehicle
input
information regarding
Prior art date
Application number
PCT/JP2021/010612
Other languages
English (en)
French (fr)
Inventor
健太郎 芦邉
泉 達也
一郎 神田
Original Assignee
株式会社オートネットワーク技術研究所
住友電装株式会社
住友電気工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社オートネットワーク技術研究所, 住友電装株式会社, 住友電気工業株式会社 filed Critical 株式会社オートネットワーク技術研究所
Priority to US17/995,536 priority Critical patent/US20230195445A1/en
Priority to CN202180023682.6A priority patent/CN115315686A/zh
Publication of WO2021205825A1 publication Critical patent/WO2021205825A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric 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/02Electric 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric 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/02Electric 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
    • B60R16/023Electric 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 for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

Definitions

  • the present disclosure relates to in-vehicle devices, information processing methods and computer programs.
  • This application claims priority based on Japanese Application No. 2020-69814 filed on April 8, 2020, and incorporates all the contents described in the Japanese application.
  • the vehicle is equipped with an in-vehicle ECU (Electronic Control Unit) for controlling in-vehicle devices such as a power train system such as engine control and a body system such as air conditioner control.
  • the in-vehicle ECU includes a calculation processing unit such as an MPU, a rewritable non-volatile storage unit such as a RAM, and a communication unit for communicating with another in-vehicle ECU, and reads and executes a control program stored in the storage unit. By doing so, the in-vehicle device is controlled.
  • the vehicle is equipped with a relay device having a wireless communication function, which communicates with the program providing device connected to the network outside the vehicle via the relay device and controls the in-vehicle ECU from the program providing device.
  • the program can be downloaded (received) and the control program of the vehicle-mounted ECU can be updated (see, for example, Patent Document 1).
  • the in-vehicle device is an in-vehicle device including a processing unit and a storage unit in which a plurality of programs that can be executed by the processing unit are stored. Includes a boot program that is executed at startup, a basic program that is selectively executed by the boot program, and an update processing program that is selectively executed by the boot program and communicates information about updates with a server outside the vehicle.
  • the storage unit includes a shared area for storing information regarding whether or not the control program of the own device is updated, and the shared area can be accessed by executing the boot program and is included in the basic program.
  • the processing unit acquires information regarding the presence / absence of the update provided from a server outside the vehicle, and obtains the acquired information regarding the presence / absence of the update as the basic. It is saved in the shared area by an input / output function different from the input / output function included in the program, and the basic program or the update processing program is executed after the execution of the boot program is started based on the saved information regarding the presence / absence of the update. do.
  • the purpose of the present disclosure is to provide an in-vehicle device capable of efficiently updating the control program of the own device.
  • the in-vehicle device is an in-vehicle device including a processing unit and a storage unit in which a plurality of programs that can be executed by the processing unit are stored.
  • An update processing program that is selectively executed by the boot program, a boot program that is executed when the processing unit is started, a basic program that is selectively executed by the boot program, and an update processing program that is selectively executed by the boot program and communicates information about updates with a server outside the vehicle.
  • the storage unit includes a shared area for storing information regarding whether or not the control program of the own device is updated, and the shared area can be accessed by executing the boot program, and the basic program.
  • the processing unit acquires information regarding the presence / absence of the update provided from the server outside the vehicle, and obtains the acquired information regarding the presence / absence of the update.
  • the basic program or the update process is saved after the execution of the boot program is started, based on the information regarding the presence or absence of the update saved in the shared area by an input / output function different from the input / output function included in the basic program. Run the program.
  • a plurality of programs including a boot program, a basic program, an update processing program, a control program executed on the basic program, and the like are stored in the storage unit of the in-vehicle device.
  • the processing unit of the in-vehicle device executes processing based on different control contents and access privileges for each program to be executed.
  • the processing unit that executes the boot program determines whether to select and start the basic program or the update processing program by identifying the information regarding the presence or absence of updates provided from the server outside the vehicle and stored in the storage unit. ..
  • the processing unit stores an identifier indicating that there is information about the update in a shared area configured to be accessible by the processing unit that executes the boot program without going through the basic program.
  • the program to be executed can be determined in the boot phase by acquiring information regarding the presence or absence of updates by the processing unit that executes the boot program, so it depends on the determination result. It is possible to efficiently update the program based on the update processing program that is selectively started.
  • the shared area is inaccessible to the processing unit that executes the basic program, and by making it a dedicated area that stores only information regarding the presence or absence of updates, efficient processing can be performed while preventing the occurrence of conflicts with a simple configuration. Achieve execution.
  • the plurality of programs include the control program and the diagnostic program executed on the basic program, and the diagnostic program is included in the basic program.
  • the processing unit that includes an input / output function different from the output function and is executing the control program controls relay with a plurality of in-vehicle ECUs connected by communication, and the processing unit that is executing the diagnostic program is outside the vehicle.
  • the information regarding the presence / absence of the update provided from the server is acquired, and the acquired information regarding the presence / absence of the update is stored in the shared area by an input / output function different from the input / output function included in the basic program.
  • control program and the diagnostic program are executed in parallel using the basic program as a platform, so that the in-vehicle device can execute efficient update processing while having a function as, for example, a gateway.
  • the processing unit designates the shared area by a physical address indicating a physical storage position in the storage unit, and information regarding the presence or absence of the update in the designated shared area. To save.
  • information regarding the presence or absence of update is stored in the shared area directly specified by the physical address.
  • other programs can refer to the shared area without controlling the input / output functions included in the basic program, and the processing can be executed efficiently.
  • the shared area can be accessed by executing the update processing program, and the processing unit that executes the update processing program has completed the update processing. In this case, information indicating that the update process is completed is saved in the shared area.
  • the update processing program saves information indicating the completion of the update in the shared area when the update process is completed. Since the shared area is configured to be accessible by the processing unit that executes the update processing program without going through the basic program, the processing can be executed efficiently.
  • the information processing method is a boot process executed at startup, a basic process selectively executed by the boot process, and a boot process selectively executed outside the vehicle.
  • the shared area for storing information regarding whether or not the control program of the own device has been updated, including the update process for communicating information about the update with the server, can be accessed by executing the boot process, and the basic process. It is an area different from the area that can be accessed by the input / output function included in the above, and the information regarding the presence / absence of the update provided from the server outside the vehicle is acquired, and the acquired information regarding the presence / absence of the update is used in the basic processing. It is stored in the shared area by an input / output function different from the included input / output function, and the basic process or the update process is executed after the execution of the boot process is started based on the saved information regarding the presence or absence of the update.
  • control program of the own device can be updated efficiently.
  • the computer program includes a boot program executed at startup, a basic program selectively executed by the boot program, and a server outside the vehicle which is selectively executed by the boot program.
  • the shared area that stores information on whether or not the control program of the own device is updated, including the update processing program that communicates information about the update, can be accessed by executing the boot program, and the basic program. It is an area different from the area that can be accessed by the input / output function included in the above, and the information regarding the presence / absence of the update provided from the server outside the vehicle is acquired, and the acquired information regarding the presence / absence of the update is added to the basic program. It is stored in the shared area by an input / output function different from the included input / output function, and the basic program or the update processing program is executed after the execution of the boot program is started based on the information regarding the presence or absence of the saved update.
  • control program of the own device can be updated efficiently.
  • FIG. 1 is a schematic diagram illustrating the configuration of an in-vehicle system including the relay device (in-vehicle device) 2 according to the present embodiment.
  • FIG. 2 is a block diagram illustrating the configuration of a relay device and the like.
  • the in-vehicle system includes an external communication device 1, a relay device 2, and an external server 100 mounted on the vehicle C.
  • the relay device 2 corresponds to an in-vehicle device that stores the boot program 2a, the basic program 2b, the update processing program 2g, and the like.
  • the relay device 2 acquires a program or data from the external server 100 connected via the vehicle exterior network N, and transmits the program or data to the vehicle-mounted ECU 3 (Electronic Control Unit) mounted on the vehicle C.
  • the vehicle-mounted ECU 3 Electronic Control Unit
  • the external server 100 is a computer such as a server connected to an external network N such as the Internet or a public network, and includes a storage unit 101 such as a RAM (Random Access Memory), a ROM (Read Only Memory), or a hard disk. ..
  • the storage unit 101 stores a program or data for controlling the relay device 2 created by the manufacturer or the like of the relay device 2.
  • the program or data is transmitted to the vehicle C as an update program as described later, and is used to update the control program 2c or the data of the relay device 2 mounted on the vehicle C.
  • the external server 100 configured in this way is also referred to as an OTA (Over The Air) server.
  • the relay device 2 mounted on the vehicle C acquires an update program transmitted by wireless communication from the external server 100 and applies it as a control program for executing the update program to update the control program executed by the own device. Can be (repro).
  • the storage unit 101 of the external server 100 stores the configuration information of the relay device 2 transmitted from the external authentication device 5.
  • the configuration information includes identification information (VIN: vehicle identification number) for identifying the vehicle C.
  • the external server 100 identifies the vehicle C based on the identification information, and communicates with the identified vehicle C regarding the configuration information of the relay device 2 of the vehicle C.
  • the vehicle C is equipped with an external communication device 1, a relay device 2, a display device 7, and a plurality of in-vehicle ECUs 3 for controlling various in-vehicle devices.
  • the out-of-vehicle communication device 1 and the relay device 2 are connected so as to be able to communicate with each other by, for example, a harness such as a serial cable.
  • the relay device 2 and the in-vehicle ECU 3 are communicably connected by a communication line 41 corresponding to a communication protocol such as CAN (Control Area Network / registered trademark) or Ethernet (Ethernet / registered trademark) and an in-vehicle LAN 4.
  • the out-of-vehicle communication device 1 includes an out-of-vehicle communication unit 11 and an input / output I / F (interface) 12 for communicating with the relay device 2.
  • the out-of-vehicle communication unit 11 is a communication device for wireless communication using mobile communication protocols such as 3G, LTE, 4G, 5G, and WiFi, and is external via an antenna 13 connected to the out-of-vehicle communication unit 11. Sends and receives data to and from the server 100. Communication between the vehicle-outside communication device 1 and the external server 100 is performed via, for example, a vehicle-outside network N such as a public network or the Internet.
  • a vehicle-outside network N such as a public network or the Internet.
  • the input / output I / F 12 is a communication interface for serial communication with the relay device 2, for example.
  • the out-of-vehicle communication device 1 and the relay device 2 communicate with each other via harnesses such as a serial cable connected to the input / output I / F12 and the input / output I / F12.
  • the external communication device 1 is a separate device from the relay device 2, and these devices are communicably connected by input / output I / F12 and the like, but the present invention is not limited to this.
  • the out-of-vehicle communication device 1 may be built in the relay device 2 as a component of the relay device 2.
  • the relay device 2 includes a processing unit 20, a storage unit 21, an input / output I / F 22, an in-vehicle communication unit 23, and the like.
  • the relay device 2 controls the segment of the system by a plurality of communication lines 41 such as the control system in-vehicle ECU 3, the safety in-vehicle ECU 3, and the body system in-vehicle ECU 3, and communicates between these segments.
  • the relay device 2 is, for example, a gateway or an ether switch.
  • the relay device 2 may be configured as one functional unit of, for example, a body ECU that controls the entire vehicle C, an automatic driving ECU that controls automatic driving, and the like.
  • the processing unit 20 is composed of a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like.
  • the processing unit 20 performs various control processing, arithmetic processing, and the like by reading and executing each program and data stored in advance in the storage unit 21.
  • program may include a program and data necessary for executing the program.
  • the storage unit 21 is composed of a volatile memory element such as RAM (RandomAccessMemory) or a non-volatile memory element such as ROM (ReadOnlyMemory), EEPROM (ElectricallyErasableProgrammableROM) or flash memory.
  • the storage unit 21 includes a boot program area 211, a basic program area 212, an update processing program area 215, a shared area 216, and the like.
  • the boot program 2a is stored in the boot program area 211.
  • the boot program 2a is the program that is first started after the relay device 2 is reset.
  • the processing unit 20 selectively starts either the basic program 2b or the update processing program 2g, which will be described later, according to the information regarding the presence or absence of the update stored in the shared area 216. I do.
  • the information regarding the presence / absence of an update is information indicating whether or not the external server 100 has information regarding an update program.
  • the information regarding the presence / absence of an update includes, for example, an update flag indicating that there is information regarding the update, a completion flag indicating that there is no information regarding the update, and the like. If there is an update flag, the processing unit 20 starts the update processing program 2g. If there is a completion flag, the processing unit 20 starts the basic program 2b.
  • the boot program 2a may be one that terminates after executing the process of starting the update process program 2g or the basic program 2b.
  • the update processing program 2g is stored in the update processing program area 215.
  • the update processing program 2g is a program for executing an update process for updating the control program 2c to be updated to the update program when the update program is provided from the external server 100.
  • the processing unit 20 communicates information regarding the update of the control program 2c described later with the external server 100 via the external communication device 1, and acquires the update program from the external server 100. Perform update processing.
  • the acquired update program is stored in the basic program area 212.
  • the processing unit 20 stores an identifier indicating that the update process is completed in the shared area 216.
  • the basic program area 212 includes a program area (code flash) 213 and a data area (data flash) 214.
  • the program area 213 stores a basic program 2b, a control program 2c executed on the basic program 2b, a diagnostic program 2d, a security program 2e, and the like.
  • the data area 214 includes an NVM management area 2f managed by the input / output function (NVM) of the basic program 2b.
  • the basic program 2b is a computer program related to the operating system.
  • the basic program 2b may be compliant with, for example, an AUTOSAR (Automotive Open System Architecture) standard.
  • control program 2c, the diagnostic program 2d, and the security program 2e are all programs executed using the basic program 2b as a platform.
  • the control program 2c is a program executed in a state where the update process based on the update process program 2g is not executed, and relays communication between, for example, the vehicle-mounted ECU 3 or between the external server 100 and the vehicle-mounted ECU 3.
  • This control program 2c is a target to be updated by the update program transmitted from the relay device 2.
  • the processing unit 20 By executing the control program 2c, the processing unit 20 relays the CAN message, IP packet, etc. transmitted from the vehicle-mounted ECU 3 by referring to the relay route information (routing table) stored in the storage unit 21, for example. ..
  • the diagnostic program 2d is a program executed in parallel with the control program 2c, and monitors the presence or absence of information regarding the update program. By executing the diagnostic program 2d, the processing unit 20 communicates with the external server 100 using the external communication device 1, and whether or not there is information regarding the update of the control program 2c mounted on the vehicle C on a regular basis. Make an inquiry. When there is information about the update, the processing unit 20 stores an identifier indicating that the update request has been made in the shared area 216.
  • the diagnostic program 2d is not limited to a program executed in parallel with the control program 2c. For example, it may be configured as one module included in the control program 2c and executed as a subprocess of the process of the control program 2c.
  • the security program 2e is a program executed in parallel with the control program 2c and the diagnostic program 2d, and manages the security information in the control program 2c and the diagnostic program 2d.
  • control program 2c, the diagnostic program 2d, and the security program 2e executed on the basic program 2b are configured as different program modules
  • the present embodiment is not limited.
  • control program 2c, the diagnostic program 2d, and the security program 2e may be included in the basic program 2b as a part of the functions of the basic program 2b.
  • the boot program 2a, the basic program 2b, the control program 2c, the diagnostic program 2d, the security program 2e, and the update processing program 2g stored in the storage unit 21 are read from the recording medium 2A readable by the relay device 2.
  • the boot program 2a, the basic program 2b, the control program 2c, the diagnostic program 2d, the security program 2e, and the update processing program 2g may be stored respectively.
  • the boot program 2a, the basic program 2b, the control program 2c, the diagnostic program 2d, the security program 2e, and the update processing program 2g are downloaded from an external computer (not shown) connected to a communication network (not shown), and stored in the storage unit 21. It may be a memorized one.
  • the storage unit 21 stores the configuration information of all the vehicle-mounted ECUs 3 mounted on the self-relay device 2 and the vehicle C.
  • the NVM management area 2f is a data storage area managed by the input / output function (memory management function) included in the basic program 2b.
  • the processing unit 20 that executes the basic program 2b accesses the NVM management area 2f by using the input / output function that converts the logical address into the physical address in the processing based on the basic program 2b, and saves the data. That is, the processing unit 20 that executes the basic program 2b stores the conversion information to be converted in association with the logical address and the physical address by the input / output function, and stores the data in the NVM management area 2f specified by referring to the conversion information. ..
  • the processing unit 20 that executes another program that does not have the input / output function included in the basic program 2b. That is, when the boot program 2a and the update processing program 2g are executed, the processing unit 20 cannot refer to the information in the NVM management area 2f.
  • the processing unit 20 can perform data, sound, etc. to the NVM management area 2f. Read and write.
  • the shared area (data flash) 216 is an identifier-dedicated area that stores only an identifier indicating information regarding the presence or absence of update.
  • the identifier indicating the presence / absence of update may include, for example, the above-mentioned update flag, completion flag, and the like.
  • the shared area 216 is a data storage area that is not managed by the input / output function included in the basic program 2b, and is a storage area that can uniquely specify a location using a physical address.
  • the processing unit 20 that executes the input / output function included in the basic program 2b cannot access the shared area 216.
  • the processing unit 20 that executes the diagnostic program 2d and the update processing program 2g identifies the information regarding the presence or absence of the update, or when the update process is completed, the identifier corresponding to these results is stored in the shared area 216. ..
  • the processing unit 20 designates the shared area 216 using the physical address which is the physical position information in the non-volatile memory of the storage unit 21, and stores the identifier in the shared area 216. That is, the processing unit 20 that executes the diagnostic program 2d or the update processing program 2g has an input / output function for directly designating a physical address, which is different from the input / output function of the basic program 2b that performs conversion processing for associating a logical address with a physical address. Accesses the shared area 216 and saves the data.
  • the storage unit 21 is provided with the shared area 216 that is not managed by the input / output function of the basic program 2b, the storage unit 21 is directly shared from the processing unit 20 that executes another program without executing the basic program 2b. Area 216 can be accessed. Even when the processing unit 20 executes processing based on the boot program 2a, it is possible to directly access the shared area 216 and recognize an identifier indicating information regarding the presence or absence of an update without starting the basic program 2b. Subsequent startup processing can be performed efficiently.
  • the input / output I / F 22 is, for example, a communication interface for serial communication, like the input / output I / F 12 of the external communication device 1.
  • the relay device 2 is communicably connected to the external communication device 1 and the IG switch 6 via the input / output I / F 22.
  • the in-vehicle communication unit 23 is an input / output interface using a communication protocol such as CAN (Control Area Network) or Ethernet (Ethernet / registered trademark), and the processing unit 20 connects to the in-vehicle LAN 4 via the in-vehicle communication unit 23. It communicates with an in-vehicle device such as an in-vehicle ECU 3 or another relay device.
  • a plurality of in-vehicle communication units 23 are provided, and communication lines 41 constituting the in-vehicle LAN 4 are connected to each of the in-vehicle communication units 23.
  • the in-vehicle LAN 4 is divided into a plurality of segments, and the in-vehicle ECU is divided into each segment for the functions (control system function, safety system function, body system function) of the in-vehicle ECU.
  • An external authentication device 5 described later is connected to the in-vehicle communication unit 23 as needed, and when the external authentication device 5 is connected, the processing unit 20 mutually communicates with the external authentication device 5 via the in-vehicle communication unit 23. connect.
  • the in-vehicle ECU 3 includes a control unit 30, a storage unit 31, and an in-vehicle communication unit 32.
  • the storage unit 31 is composed of a volatile memory element such as RAM or a non-volatile memory element such as ROM, EEPROM or flash memory, and stores a program or data of the vehicle-mounted ECU 3.
  • the control unit 30 is composed of a CPU, an MPU, or the like, and reads and executes programs and data stored in the storage unit 31 to perform control processing and the like to control an in-vehicle device or actuator including the in-vehicle ECU 3.
  • the external authentication device 5 is a device (diag tool) used by a vehicle C maintenance company including a regular dealer or the like responsible for maintenance work of the vehicle C such as replacement of an in-vehicle ECU 3, and is general-purpose information such as a personal computer, a tablet PC, or a smartphone.
  • the external authentication device 5 includes a control unit by a CPU or MPU, a storage unit, an in-vehicle communication unit (none of which is shown), and the like, similarly to the in-vehicle ECU 3 described above.
  • the in-vehicle communication unit of the external authentication device 5 is not limited to CAN or Ethernet similar to the in-vehicle ECU 3, and may be an input / output I / F or a communication module for communication by a wire harness such as a serial cable.
  • the external authentication device 5 communicates with the relay device 2 or the in-vehicle ECU 3 via the in-vehicle LAN or the like by the in-vehicle communication unit.
  • the in-vehicle communication unit of the external authentication device 5 may have a wireless communication function, and the external authentication device 5 may communicate with the relay device 2 by wireless communication.
  • the external authentication device 5 includes an external communication unit (not shown) for communicating with the external server 100.
  • the external authentication device 5 is a communication module having a wired or wireless communication function, and the external authentication device 5 communicates with the external server 100 via the external network N by the external authentication device 5.
  • An IG (ignition) switch 6 for starting or stopping the vehicle C is communicably connected to the input / output I / F 22 of the relay device 2 by a wire harness such as a serial cable.
  • the processing unit 20 of the relay device 2 acquires (receives) the signal output (transmitted) from the IG switch 6 via the input / output I / F 22. Based on the acquired signal, the processing unit 20 of the relay device 2 transmits information regarding the on / off of the IG switch 6 (IG on signal or IG off signal) to all the in-vehicle ECUs 3 and the in-vehicle communication unit 23 via the in-vehicle communication unit 23.
  • the external authentication device 5 When the external authentication device 5 is connected to the vehicle C, the external authentication device 5 is also transmitted.
  • the in-vehicle ECU 3 and the external authentication device 5 acquire information regarding the on / off of the IG switch 6 transmitted from the relay device 2, and perform a predetermined operation based on the acquired information.
  • the display device 7 is an HMI (Human Machine Interface) device such as a car navigation display.
  • the display device 7 is communicably connected to the input / output I / F 22 of the relay device 2 by a harness such as a serial cable.
  • the display device 7 displays data or information output from the processing unit 20 of the relay device 2 via the input / output I / F 22.
  • FIG. 3 is a flowchart showing the procedure of the update flag storage process performed by the relay device 2 according to the present embodiment.
  • the processing unit 20 of the relay device 2 constantly performs the following processing in a start state (IG switch 6 is on) or a stop state (IG switch 6 is off) of the vehicle C, for example.
  • the processing unit 20 of the relay device 2 communicates with the external server 100 via the external communication device 1 and makes an inquiry regarding the presence or absence of information regarding the update program (step S11).
  • the processing unit 20 determines whether or not there is information about the update program such as campaign information, that is, whether or not there is an update request (step S12). Whether or not there is the update request is determined based not only on pull-type communication by inquiry from the relay device 2 to the external server 100 but also on push-type communication such as a message transmitted from the external server 100 to the relay device 2. It may be the one that is used.
  • the inquiry for information regarding the update program may be made by connecting the external authentication device 5 to the in-vehicle communication unit 23.
  • step S12 NO
  • the processing unit 20 executes the process of S11 again in order to execute the process of S11 again. Perform loop processing. By performing the loop processing, the processing unit 20 periodically makes inquiries about the update program to the external server 100.
  • the processing unit 20 When it is determined that there is information about the update program by receiving a response indicating that there is information about the update program from the external server 100 (step S12: YES), the processing unit 20 indicates that there is information about the update program.
  • the update flag (for example, the identifier “1”) is stored in the shared area 216 (step S13), and the process ends.
  • the processing unit 20 directly specifies the physical address, which is the physical position information of the shared area 216, and stores the update flag in the shared area 216, without performing the conversion process of associating the logical address with the physical address. .. That is, the processing unit 20 stores the update flag in the shared area 216 by an input / output function different from the input / output function of the basic program 2b.
  • FIG. 4 is a flowchart showing the procedure of the activation process performed by the relay device 2 according to the present embodiment. For example, when a reset signal instructing the reset of the vehicle C is acquired, or when the IG switch 6 changes from the off state to the on state or from the on state to the off state, the processing unit 20 of the relay device 2 executes the following processing.
  • the processing unit 20 expands the boot program 2a stored in the storage unit 21 on the RAM and starts the boot program 2a (step S21).
  • the processing unit 20 refers to the shared area 216 specified based on the physical address, and determines whether or not there is an update flag (step S22).
  • the processing unit 20 determines that there is an update flag, for example, when the identifier "1" is stored in the shared area 216. On the other hand, when the identifier "0" is stored, the processing unit 20 determines that there is no update flag.
  • the processing unit 20 specifies a program to be started based on the presence or absence of the update flag.
  • step S22 determines that there is an update flag.
  • the processing unit 20 determines that the update processing program 2g is started.
  • the processing unit 20 selects and starts the update processing program 2g stored in the update processing program area 215 (step S23), and ends the processing of the boot program 2a.
  • the processing unit 20 shifts to processing based on the update processing program 2g.
  • the processing unit 20 acquires an update program from the external server 100 via the external communication device 1 (step S24).
  • the processing unit 20 may acquire an update program from the external authentication device 5 via the in-vehicle communication unit 23.
  • the processing unit 20 executes an update process for updating the control program 2c to the acquired update program, that is, a new control program 2c (step S25). Specifically, the processing unit 20 deletes the control program 2c stored in the program area and newly stores the acquired update program to execute the update process to which the update program is applied. Alternatively, when the program area of the storage unit 21 is provided with two areas, the processing unit 20 stores the update program acquired in the other area, which is different from the area for storing the control program 2c to be updated. May be stored. The processing unit 20 executes the update process by switching the area of the storage unit 21 that reads out the control program 2c to be applied from the area in which the previous control program 2c is stored to the area in which the update program is stored.
  • the processing unit 20 When the new control program 2c is applied and the update process is completed normally, the processing unit 20 resets the flag stored in the shared area 216.
  • the processing unit 20 stores, for example, the completion of the update process, that is, the completion flag (for example, the identifier “0”) indicating that the information about the update is properly stored and there is no information about the update in the shared area 216 (step S26).
  • the processing of the update processing program 2g is terminated. Even in this case, the processing unit 20 directly specifies the physical address, which is the physical position information of the shared area 216, and stores the completion flag in the shared area 216, without performing the conversion process of associating the logical address with the physical address. do. That is, the processing unit 20 stores the completion flag in the shared area 216 by an input / output function different from the input / output function of the basic program 2b.
  • step S22 determines that there is no update flag.
  • the processing unit 20 determines that the basic program 2b is started.
  • the processing unit 20 selects and starts the basic program 2b stored in the program area 213 (step S27), and ends the processing of the boot program 2a.
  • the processing unit 20 shifts to processing based on the basic program 2b.
  • the processing unit 20 starts the control program 2c on the basic program 2b (step S28), and starts the processing based on the control program 2c.
  • the processing unit 20 executes, for example, a relay process of relaying a CAN message, an IP packet, or the like transmitted from the vehicle-mounted ECU 3 (step S29), and ends the processes of the control program 2c and the basic program 2b.
  • the processing unit 20 generates a sub-process and performs the processing of step S30 in parallel with the processing of step S28 and subsequent steps.
  • the processing unit 20 starts the diagnostic program 2d on the basic program 2b (step S30), and starts the processing based on the diagnostic program 2d.
  • the processing unit 20 executes a process of monitoring information regarding the presence or absence of an update (step S31), and ends the processes of the diagnostic program 2d and the basic program 2b.
  • the processing unit 20 may further generate a sub-process and execute a process of invoking the security program 2e in parallel with steps S28 and S30.
  • information regarding the presence or absence of update can be stored in the shared area 216 that is commonly accessible by the processing unit 20 that executes a plurality of programs. Since the processing unit 20 can specify the program to be started by referring to the information regarding the presence / absence of the update stored in the shared area 216 by the function of the boot program, the update of the control program 2c of the own device can be efficiently performed. It will be possible to carry out.
  • External network 100 External server (OTA server) 101 Storage unit 1 External communication device 11 External communication unit 12 Input / output I / F 13 Antenna 2 Relay device (vehicle-mounted device, gateway) 20 Processing unit 21 Storage unit 211 Boot program area 212 Basic program area 213 Program area 214 Data area 215 Update processing program area 216 Shared area 2a Boot program 2b Basic program 2c Control program 2d Diag program 2e Security program 2f NVM management area 2g Update processing Program 2A Recording medium 22 Input / output I / F 23 In-vehicle communication unit 3 In-vehicle ECU 30 Control unit 31 Storage unit 32 In-vehicle communication unit 4 In-vehicle LAN 41 Communication line 5 External authentication device 6 IG switch 7 Display device (HMI device)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

車載装置は、処理部と、前記処理部が実行可能な複数のプログラムが記憶される記憶部とを備える車載装置であって、前記処理部は、車外のサーバから提供される更新の有無に関する情報を取得し、取得した前記更新の有無に関する情報を、基本プログラムに含まれる入出力機能とは異なる入出力機能を実行することにより共有領域に保存し、保存した前記更新の有無に関する情報に基づき、ブートプログラムの実行開始後に、前記基本プログラム又は更新処理プログラムを選択的に実行するよう構成されている。

Description

車載装置、情報処理方法及びコンピュータプログラム
 本開示は、車載装置、情報処理方法及びコンピュータプログラムに関する。
 本出願は、2020年4月8日出願の日本出願第2020-69814号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
 車両には、エンジン制御等のパワー・トレーン系、エアコン制御等のボディ系等の車載機器を制御するための車載ECU(Electronic Control Unit)が搭載されている。車載ECUは、MPU等の演算処理部、RAM等の書き換え可能な不揮発性の記憶部、及び他の車載ECUと通信するための通信部を含み、記憶部に記憶した制御プログラムを読み込んで実行することにより、車載機器の制御を行う。更に車両には、無線通信の機能を備えた中継装置が実装されており、中継装置を介して、車外のネットワークに接続されているプログラム提供装置と通信し、当該プログラム提供装置から車載ECUの制御プログラムをダウンロード(受信)し、当該車載ECUの制御プログラムを更新することができる(例えば特許文献1参照)。
特開2017-97851号公報
 本開示の一態様に係る車載装置は、処理部と、前記処理部が実行可能な複数のプログラムが記憶される記憶部とを備える車載装置であって、前記複数のプログラムは、前記処理部の起動時に実行されるブートプログラムと、前記ブートプログラムにより選択的に実行される基本プログラムと、前記ブートプログラムにより選択的に実行され、車外のサーバと更新に関する情報の通信を行う更新処理プログラムとを含み、前記記憶部は、自装置の制御プログラムの更新の有無に関する情報を保存する共有領域を含み、前記共有領域は、前記ブートプログラムを実行することによりアクセスが可能であり、前記基本プログラムに含まれる入出力機能によるアクセスが可能な領域とは異なる領域であり、前記処理部は、車外のサーバから提供される前記更新の有無に関する情報を取得し、取得した前記更新の有無に関する情報を、前記基本プログラムに含まれる入出力機能とは異なる入出力機能により前記共有領域に保存し、保存した前記更新の有無に関する情報に基づき、前記ブートプログラムの実行開始後に、前記基本プログラム又は前記更新処理プログラムを実行する。
本実施の形態に係る中継装置(車載装置)を含む車載システムの構成を例示する模式図である。 中継装置等の構成を例示するブロック図である。 本実施の形態に係る中継装置が行う更新フラグの格納処理の手順を示すフローチャートである。 本実施の形態に係る中継装置が行う起動処理の手順を示すフローチャートである。
[本開示が解決しようとする課題]
 特許文献1の中継装置は、自装置にて実行する制御プログラムを更新する処理に関する事項は考慮されていないため、当該自装置の制御プログラムの更新を効率的に実施できないことが懸念される。
 本開示の目的は、自装置の制御プログラムの更新を効率的に実施することができる車載装置を提供することである。
[本開示の効果]
 本開示の一態様によれば、自装置の制御プログラムの更新を効率的に実施することができる。
[本開示の実施形態の説明]
 最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本開示の一態様に係る車載装置は、処理部と、前記処理部が実行可能な複数のプログラムが記憶される記憶部とを備える車載装置であって、前記複数のプログラムは、前記処理部の起動時に実行されるブートプログラムと、前記ブートプログラムにより選択的に実行される基本プログラムと、前記ブートプログラムにより選択的に実行され、車外のサーバと更新に関する情報の通信を行う更新処理プログラムとを含み、前記記憶部は、自装置の制御プログラムの更新の有無に関する情報を保存する共有領域を含み、前記共有領域は、前記ブートプログラムを実行することによりアクセスが可能であり、前記基本プログラムに含まれる入出力機能によるアクセスが可能な領域とは異なる領域であり、前記処理部は、車外のサーバから提供される前記更新の有無に関する情報を取得し、取得した前記更新の有無に関する情報を、前記基本プログラムに含まれる入出力機能とは異なる入出力機能により前記共有領域に保存し、保存した前記更新の有無に関する情報に基づき、前記ブートプログラムの実行開始後に、前記基本プログラム又は前記更新処理プログラムを実行する。
 本態様にあっては、車載装置の記憶部にはブートプログラム、基本プログラム、更新処理プログラム、基本プログラム上で実行される制御プログラム等を含む複数のプログラムが記憶されている。車載装置の処理部は、実行するプログラム毎に異なる制御内容、アクセス権限に基づき処理を実行する。ブートプログラムを実行する処理部は、車外のサーバから提供され記憶部に記憶された更新の有無に関する情報を識別することにより、基本プログラム又は更新処理プログラムのいずれを選択して起動するかを決定する。更新に関する情報がある場合、処理部は、基本プログラムを介することなくブートプログラムを実行する処理部によりアクセス可能に構成されている共有領域に、当該更新に関する情報があることを示す識別子を保存する。基本プログラムの実行開始前であっても、ブートプログラムを実行する処理部により更新の有無に関する情報を取得することで、ブートフェーズにおいて実行対象となるプログラムを判定することができるため、判定結果に応じて選択的に起動された更新処理プログラムに基づき、プログラムの更新を効率的に実施することができる。共有領域は、基本プログラムを実行する処理部がアクセス不可能であり、更新の有無に関する情報のみを格納する専用領域とすることで、簡易な構成によりコンフリクトの発生を防止しつつ効率的な処理の実行を実現する。
(2)本開示の一態様に係る車載装置は、前記複数のプログラムは、前記基本プログラム上で実行される前記制御プログラムとダイアグプログラムとを含み、前記ダイアグプログラムは、前記基本プログラムに含まれる入出力機能とは異なる入出力機能を含み、前記制御プログラムを実行中の処理部は、通信により接続する複数の車載ECUとの中継を制御し、前記ダイアグプログラムを実行中の処理部は、前記車外のサーバから提供される前記更新の有無に関する情報を取得し、取得した前記更新の有無に関する情報を前記基本プログラムに含まれる入出力機能とは異なる入出力機能により前記共有領域に保存する。
 本態様にあっては、基本プログラムをプラットフォームとして制御プログラム及び診断プログラムが並行して実行されることで、車載装置が例えばゲートウェイとしての機能を備えつつ効率的な更新処理を実行することができる。
(3)本開示の一態様に係る車載装置は、前記処理部は、前記記憶部における物理記憶位置を示す物理アドレスにより前記共有領域を指定し、指定した前記共有領域に前記更新の有無に関する情報を保存する。
 本態様にあっては、直接物理アドレスにより指定される共有領域に更新の有無に関する情報が保存される。これにより、基本プログラムに含まれる入出力機能の制御によることなく他のプログラムが共有領域を参照することができ、効率的に処理を実行することができる。
(4)本開示の一態様に係る車載装置は、前記共有領域は、前記更新処理プログラムを実行することによりアクセスが可能であり、前記更新処理プログラムを実行する処理部は、更新処理が完了された場合に更新処理が完了したことを示す情報を前記共有領域に保存する。
 本態様にあっては、更新処理プログラムにより、更新処理が完了した場合に更新完了を示す情報が共有領域に保存される。共有領域は、基本プログラムを介することなく更新処理プログラムを実行する処理部によりアクセス可能に構成されているため、効率的に処理を実行することができる。
(5)本開示の一態様に係る情報処理方法は、起動時に実行されるブート処理と、前記ブート処理により選択的に実行される基本処理と、前記ブート処理により選択的に実行され、車外のサーバと更新に関する情報の通信を行う更新処理とを含み、自装置の制御プログラムの更新の有無に関する情報を保存する共有領域は、前記ブート処理を実行することによりアクセスが可能であり、前記基本処理に含まれる入出力機能によるアクセスが可能な領域とは異なる領域であり、車外のサーバから提供される前記更新の有無に関する情報を取得し、取得した前記更新の有無に関する情報を、前記基本処理に含まれる入出力機能とは異なる入出力機能により前記共有領域に保存し、保存した前記更新の有無に関する情報に基づき、前記ブート処理の実行開始後に、前記基本処理又は前記更新処理を実行する。
 本態様にあっては、自装置の制御プログラムの更新を効率的に実施することができる。
(6)本開示の一態様に係るコンピュータプログラムは、起動時に実行されるブートプログラムと、前記ブートプログラムにより選択的に実行される基本プログラムと、前記ブートプログラムにより選択的に実行され、車外のサーバと更新に関する情報の通信を行う更新処理プログラムとを含み、自装置の制御プログラムの更新の有無に関する情報を保存する共有領域は、前記ブートプログラムを実行することによりアクセスが可能であり、前記基本プログラムに含まれる入出力機能によるアクセスが可能な領域とは異なる領域であり、車外のサーバから提供される前記更新の有無に関する情報を取得し、取得した前記更新の有無に関する情報を、前記基本プログラムに含まれる入出力機能とは異なる入出力機能により前記共有領域に保存し、保存した前記更新の有無に関する情報に基づき、前記ブートプログラムの実行開始後に、前記基本プログラム又は前記更新処理プログラムを実行する。
 本態様にあっては、自装置の制御プログラムの更新を効率的に実施することができる。
[本開示の実施形態の詳細]
 本開示の実施形態に係る中継装置の具体例を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 図1は、本実施の形態に係る中継装置(車載装置)2を含む車載システムの構成を例示する模式図である。図2は、中継装置等の構成を例示するブロック図である。車載システムは、車両Cに搭載された車外通信装置1、中継装置2及び外部サーバ100を含む。本実施形態においては、中継装置2は、ブートプログラム2a、基本プログラム2b、更新処理プログラム2g等を記憶する車載装置に相当する。中継装置2は、車外ネットワークNを介して接続された外部サーバ100からプログラム又はデータを取得し、車両Cに搭載されている車載ECU3(Electronic Control Unit)に送信する。また、車両Cに外部認証装置5が接続された場合、外部認証装置5は、車外ネットワークNを介して外部サーバ100と通信する。
 外部サーバ100は、例えばインターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータであり、RAM(Random Access Memory)、ROM(Read Only Memory)又はハードディスク等による記憶部101を備える。記憶部101には、中継装置2の製造メーカ等によって作成された当該中継装置2を制御するためのプログラム又はデータが保存されている。当該プログラム又はデータは、更新プログラムとして、後述のごとく車両Cに送信され、車両Cに搭載されている中継装置2の制御プログラム2c又はデータを更新するために用いられる。このように構成された外部サーバ100は、OTA(Over The Air)サーバとも称される。車両Cに搭載される中継装置2は、外部サーバ100から無線通信により送信された更新プログラムを取得し、当該更新プログラムを実行する制御プログラムとして適用することにより、自装置が実行する制御プログラムを更新(リプロ)することができる。外部サーバ100の記憶部101には、外部認証装置5から送信された中継装置2の構成情報が記憶される。当該構成情報には、車両Cを識別するための識別情報(VIN:車両識別番号)が含まれている。外部サーバ100は、当該識別情報に基づき車両Cを特定し、特定した車両Cとの間で、当該車両Cの中継装置2の構成情報に関する通信を行う。
 車両Cには、車外通信装置1、中継装置2、表示装置7、及び種々の車載機器を制御するための複数の車載ECU3が搭載されている。車外通信装置1と中継装置2とは、例えばシリアルケーブル等のハーネスにより通信可能に接続されている。中継装置2及び車載ECU3は、CAN(Control Area Network/登録商標)又はイーサネット(Ethernet/登録商標)等の通信プロトコルに対応した通信線41及び車内LAN4によって通信可能に接続されている。
 車外通信装置1は、車外通信部11及び、中継装置2と通信するための入出力I/F(インターフェイス)12を含む。車外通信部11は、3G、LTE、4G、5G、WiFi等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部11に接続されたアンテナ13を介して外部サーバ100とデータの送受信を行う。車外通信装置1と外部サーバ100との通信は、例えば公衆回線網又はインターネット等の車外ネットワークNを介して行われる。
 入出力I/F12は、中継装置2と、例えばシリアル通信するための通信インターフェイスである。車外通信装置1と中継装置2とは、入出力I/F12及び入出力I/F12に接続されたシリアルケーブル等のハーネスを介して相互に通信する。本実施形態では、車外通信装置1は、中継装置2と別装置とし、入出力I/F12等によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置1は、中継装置2の一構成部位として、中継装置2に内蔵されるものであってもよい。
 中継装置2は、図2に示す如く、処理部20、記憶部21、入出力I/F22、車内通信部23などを含む。中継装置2は、例えば、制御系の車載ECU3、安全系の車載ECU3及び、ボディ系の車載ECU3等の複数の通信線41による系統のセグメントを統括し、これらセグメント間での車載ECU3同士の通信を中継する。中継装置2は、例えばゲートウェイ又はイーサスイッチである。中継装置2は、例えば車両C全体をコントロールするボディECU、自動運転を制御する自動運転ECU等の一機能部として構成されるものであってもよい。
 処理部20は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成されている。処理部20は、記憶部21に予め記憶された各プログラム及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行う。なお以下において"プログラム"との記載には、プログラムと、当該プログラムの実行に必要なデータとを含み得る。
 記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してある。記憶部21には、ブートプログラム領域211、基本プログラム領域212、更新処理プログラム領域215、共有領域216等が含まれている。
 ブートプログラム領域211には、ブートプログラム2aが格納されている。ブートプログラム2aは、中継装置2のリセット後、最初に起動されるプログラムである。処理部20は、ブートプログラム2aを実行することにより、共有領域216に保存される更新の有無に関する情報に応じて、後述する基本プログラム2b又は更新処理プログラム2gのいずれかを選択的に起動する処理を行う。更新の有無に関する情報とは、外部サーバ100に更新プログラムに関する情報があるか否かを示す情報である。更新の有無に関する情報は、例えば、更新に関する情報があることを示す更新フラグ、更新に関する情報がないことを示す完了フラグ等が含まれる。更新フラグがある場合には、処理部20は更新処理プログラム2gを起動させる。完了フラグがある場合には、処理部20は基本プログラム2bを起動させる。ブートプログラム2aは、更新処理プログラム2g又は基本プログラム2bを起動させる処理を実行後、終了するものであってよい。
 更新処理プログラム領域215には、更新処理プログラム2gが格納されている。更新処理プログラム2gは、外部サーバ100から更新プログラムが提供された場合に、更新対象である制御プログラム2cを更新プログラムへと更新する更新処理を実行するためのプログラムである。処理部20は、更新処理プログラム2gを実行することにより、車外通信装置1を介して、外部サーバ100と後述する制御プログラム2cの更新に関する情報の通信を行い、外部サーバ100から更新プログラムを取得する更新処理を行う。取得した更新プログラムは、基本プログラム領域212に格納される。更新処理が完了した場合、処理部20は、更新処理が完了したことを示す識別子を共有領域216に格納する。
 基本プログラム領域212には、プログラム領域(コードフラッシュ)213及びデータ領域(データフラッシュ)214が含まれている。プログラム領域213には、基本プログラム2b、当該基本プログラム2b上で実行される制御プログラム2c、ダイアグプログラム2d及びセキュリティプログラム2eなどが格納されている。データ領域214には、基本プログラム2bの有する入出力機能(NVM)により管理されるNVM管理領域2fが含まれている。基本プログラム2bは、オペレーティングシステムに係るコンピュータプログラムである。基本プログラム2bは、例えばAUTOSAR(Automotive Open System Architecture )の規格に準拠したものであってもよい。
 制御プログラム2c、ダイアグプログラム2d及びセキュリティプログラム2eはいずれも、基本プログラム2bをプラットフォームとして実行されるプログラムである。
 制御プログラム2cは、更新処理プログラム2gに基づく更新処理を実施していない状態において実行されるプログラムであり、例えば車載ECU3間、あるいは外部サーバ100と車載ECU3との間における通信の中継を行う。この制御プログラム2cが、中継装置2から送信される更新プログラムによって更新される対象である。処理部20は、制御プログラム2cを実行することにより、例えば記憶部21に記憶されている中継経路情報(ルーティングテーブル)を参照して、車載ECU3から送信されるCANメッセージ、IPパケット等を中継する。
 ダイアグプログラム2dは、制御プログラム2cに並行して実行されるプログラムであり、更新プログラムに関する情報の有無を監視する。処理部20は、ダイアグプログラム2dを実行することにより、車外通信装置1を用いた外部サーバ100との通信を行い、定期的に車両Cに搭載された制御プログラム2cの更新に関する情報があるか否かの問い合わせを行う。更新に関する情報があった場合、処理部20は、更新要求があったことを示す識別子を共有領域216に格納する。なお、ダイアグプログラム2dは、制御プログラム2cに並行して実行されるプログラムに限定されるものではない。例えば、制御プログラム2cに含まれる1モジュールとして構成され、制御プログラム2cのプロセスのサブプロセスとして実行されるものであってもよい。
 セキュリティプログラム2eは、制御プログラム2c及びダイアグプログラム2dと並行して実行されるプログラムであり、これら制御プログラム2c及びダイアグプログラム2dにおけるセキュリティ情報を管理する。
 上記では、基本プログラム2b上で実行される制御プログラム2c、ダイアグプログラム2d及びセキュリティプログラム2eが、それぞれ異なるプログラムモジュールとして構成される例を説明したが、本実施形態は限定されるものではない。例えば、制御プログラム2c、ダイアグプログラム2d及びセキュリティプログラム2eは、基本プログラム2bの機能の一部として基本プログラム2bに含まれる構成であってもよい。
 記憶部21に記憶された上述のブートプログラム2a、基本プログラム2b、制御プログラム2c、ダイアグプログラム2d、セキュリティプログラム2e、及び更新処理プログラム2gは、中継装置2が読み取り可能な記録媒体2Aから読み出されたブートプログラム2a、基本プログラム2b、制御プログラム2c、ダイアグプログラム2d、セキュリティプログラム2e、及び更新処理プログラム2g夫々を記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータからブートプログラム2a、基本プログラム2b、制御プログラム2c、ダイアグプログラム2d、セキュリティプログラム2e、及び更新処理プログラム2g夫々をダウンロードし、記憶部21に記憶させたものであってもよい。更に、記憶部21には、自中継装置2及び車両Cに搭載される全ての車載ECU3の構成情報が記憶される。
 NVM管理領域2fは、基本プログラム2bに含まれる入出力機能(メモリ管理機能)により管理されるデータ保存領域である。基本プログラム2bを実行する処理部20は、基本プログラム2bに基づく処理において、論理アドレスを物理アドレスに変換する入出力機能を用いてNVM管理領域2fにアクセスし、データを保存する。すなわち基本プログラム2bを実行する処理部20は、入出力機能により論理アドレスと物理アドレスと対応付けて変換する変換情報を記憶し、変換情報を参照して特定したNVM管理領域2fにデータを格納する。従って、NVM管理領域2fは、基本プログラム2bに含まれる入出力機能を備えない他のプログラムを実行する処理部20からはアクセスが制限される。すなわちブートプログラム2a及び更新処理プログラム2gを実行する場合、処理部20はNVM管理領域2fの情報を参照することができない。この様に構成されるNVM管理領域2fに対して、基本プログラム2bが備える入出力機能を用いて入出力処理を実行することにより、処理部20は、当該NVM管理領域2fへのデータ、音等の読み書きを実行する。
 共有領域(データフラッシュ)216は、更新の有無に関する情報を示す識別子のみを格納する識別子専用領域である。更新の有無に関する情報を示す識別子には、例えば上述の更新フラグ、完了フラグ等が含まれてよい。共有領域216は、基本プログラム2bが備える入出力機能で管理されないデータ保存領域であり、物理アドレスを用いて一意に場所を指定することができる記憶領域である。共有領域216に対しては、基本プログラム2bが備える入出力機能を実行する処理部20はアクセスすることができない。ダイアグプログラム2d及び更新処理プログラム2gを実行する処理部20は、更新の有無に関する情報を識別した場合、あるいは更新処理が完了した場合には、これらの結果に応じた識別子を共有領域216に保存する。この場合において、処理部20は、記憶部21の不揮発性メモリにおける物理位置情報である物理アドレスを用いて共有領域216を指定し、当該共有領域216に識別子を格納する。すなわち、ダイアグプログラム2d又は更新処理プログラム2gを実行する処理部20は、論理アドレスと物理アドレスとを対応付ける変換処理を行う基本プログラム2bの入出力機能とは異なる、直接物理アドレスを指定する入出力機能により、共有領域216にアクセスしデータを保存する。
 上記のように、記憶部21に基本プログラム2bが備える入出力機能で管理されない共有領域216が備えられることにより、基本プログラム2bを実行することなく、他のプログラムを実行する処理部20から直接共有領域216にアクセスすることが可能となる。処理部20がブートプログラム2aに基づき処理を実行する場合であっても、基本プログラム2bを起動することなく、直接共有領域216へアクセスし更新の有無に関する情報を示す識別子を認識することができ、効率的にその後の起動処理を行うことができる。
 入出力I/F22は、車外通信装置1の入出力I/F12と同様に、例えばシリアル通信するための通信インターフェイスである。入出力I/F22を介して、中継装置2は、車外通信装置1及びIGスイッチ6と通信可能に接続される。
 車内通信部23は、例えばCAN(Control Area Network)又はイーサネット(Ethernet/登録商標)等の通信プロトコルを用いた入出力インターフェイスであり、処理部20は、車内通信部23を介して車内LAN4に接続されている車載ECU3又は他の中継装置等の車載機器と相互に通信する。車内通信部23は、複数個設けられており、車内通信部23夫々に、車内LAN4を構成する通信線41が接続されている。このように車内通信部23を複数個設けることにより、車内LAN4は複数個のセグメントに分け、各セグメントに車載ECUを、当該車載ECUの機能(制御系機能、安全系機能、ボディ系機能)に応じて接続する。車内通信部23には、後述する外部認証装置5が必要に応じて接続され、外部認証装置5が接続された場合、処理部20は、車内通信部23を介して外部認証装置5と相互に通信する。
 車載ECU3は、制御部30、記憶部31及び車内通信部32を含む。記憶部31は、RAM等の揮発性のメモリ素子又は、ROM、EEPROM若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、車載ECU3のプログラム又はデータが記憶されている。制御部30は、CPU又はMPU等により構成してあり、記憶部31に記憶されたプログラム及びデータを読み出し実行して制御処理等を行い、当該車載ECU3を含む車載機器又はアクチュエータ等を制御する。
 外部認証装置5は、車載ECU3の交換等の車両Cの整備作業を担う正規ディーラ等を含む車両C整備業者によって用いられる装置(ダイアグツール)であり、例えばパソコン、タブレットPC又はスマートフォン等の汎用情報端末に専用アプリケーションをインストールした装置、又はハードウェアを含み専用情報端末として構成された装置である。外部認証装置5は、前述の車載ECU3と同様にCPU又はMPUによる制御部、記憶部、及び車内通信部(いずれも図示せず)等を含む。外部認証装置5の車内通信部は、車載ECU3と同様のCAN又はイーサネットに限定されず、例えばシリアルケーブル等のワイヤーハーネスによる通信するための入出力I/F又は通信モジュールであってもよい。
 外部認証装置5は、車内通信部によって、車内LAN等を介して中継装置2又は車載ECU3夫々と通信する。又は、外部認証装置5の車内通信部は、無線通信の機能を有し、外部認証装置5は無線通信により中継装置2と通信するものであってもよい。更に外部認証装置5は、外部サーバ100と通信するための車外通信部(図示せず)を含む。外部認証装置5の車外通信部は、有線又は無線による通信機能を有する通信モジュールであり、外部認証装置5は、車外通信部によって、車外ネットワークNを介して外部サーバ100と通信する。
 中継装置2の入出力I/F22には、シリアルケーブル等のワイヤーハーネスにより、車両Cの起動又は停止を行うIG(イグニッション)スイッチ6が通信可能に接続されている。IGスイッチ6がオン又はオフにされた場合、IGスイッチ6から出力(送信)された信号を、中継装置2の処理部20は、入出力I/F22を介して取得(受信)する。中継装置2の処理部20は、取得した信号に基づき、当該IGスイッチ6のオン又はオフに関する情報(IGオンの信号又はIGオフの信号)を、車内通信部23を介して全ての車載ECU3及び、外部認証装置5が車両Cに接続されている場合は、外部認証装置5に対しても送信する。車載ECU3及び外部認証装置5は、中継装置2から送信されたIGスイッチ6のオン又はオフに関する情報を取得し、取得した情報に基づき所定の動作を行う。
 表示装置7は、例えばカーナビゲーションのディスプレイ等のHMI(Human Machine Interface)装置である。表示装置7は、中継装置2の入出力I/F22とシリアルケーブル等のハーネスにより通信可能に接続されている。表示装置7には、中継装置2の処理部20から入出力I/F22を介して出力されたデータ又は情報が表示される。
 図3は、本実施の形態に係る中継装置2が行う更新フラグの格納処理の手順を示すフローチャートである。中継装置2の処理部20は、例えば車両Cが起動状態(IGスイッチ6がオン)又は停止状態(IGスイッチ6がオフ)において、定常的に以下の処理を行う。
 中継装置2の処理部20は、車外通信装置1を介して外部サーバ100と通信し、更新プログラムに関する情報の有無に関する問い合わせを行う(ステップS11)。処理部20は、キャンペーン情報等、当該更新プログラムに関する情報があるか否か、すなわち更新要求があるか否かを判定する(ステップS12)。当該更新要求があるか否かの判定は、中継装置2から外部サーバ100への問合せによるプル型通信のみならず、外部サーバ100から中継装置2へ送信されるメッセージ等のプッシュ型通信に基づき行われるものであってもよい。なお、更新プログラムに関する情報の問い合わせは、車内通信部23に外部認証装置5が接続されることにより行われてもよい。
 外部サーバ100から更新プログラムに関する情報がないことを示す応答を受信したことにより更新プログラムに関する情報がないと判定した場合(ステップS12:NO)、処理部20は、再度S11の処理を実行すべく、ループ処理を行う。当該ループ処理を行うことにより、処理部20は、外部サーバ100に対する更新プログラムに関する問い合わせを周期的に行うものとなる。
 外部サーバ100から更新プログラムに関する情報があることを示す応答を受信したことにより更新プログラムに関する情報があると判定した場合(ステップS12:YES)、処理部20は、更新プログラムに関する情報があることを示す更新フラグ(例えば識別子「1」)を共有領域216に格納し(ステップS13)、処理を終了する。この場合において、処理部20は、論理アドレスと物理アドレスとを対応付ける変換処理を行うことなく、共有領域216の物理位置情報である物理アドレスを直接指定して、共有領域216に更新フラグを格納する。すなわち、処理部20は、基本プログラム2bの入出力機能とは異なる入出力機能により、共有領域216に更新フラグを格納する。
 図4は、本実施の形態に係る中継装置2が行う起動処理の手順を示すフローチャートである。例えば車両Cのリセットを指示するリセットシグナルを取得し、あるいはIGスイッチ6がオフ状態からオン状態又はオン状態からオフ状態へ変化すると、中継装置2の処理部20により以下の処理が実行される。
 処理部20は、記憶部21に格納されたブートプログラム2aをRAM上に展開し、ブートプログラム2aを起動する(ステップS21)。処理部20は、物理アドレスに基づき特定される共有領域216を参照し、更新フラグがあるか否かを判定する(ステップS22)。処理部20は、例えば共有領域216に識別子「1」が格納されている場合、更新フラグがあると判定する。一方識別子「0」が格納されている場合、処理部20は更新フラグがないと判定する。処理部20は、更新フラグの有無に基づき起動すべきプログラムを特定する。
 更新フラグがあると判定した場合(ステップS22:YES)、処理部20は、更新処理プログラム2gを起動すると判断する。処理部20は、更新処理プログラム領域215に保存される更新処理プログラム2gを選択して起動し(ステップS23)、ブートプログラム2aの処理を終了する。
 処理部20は、更新処理プログラム2gに基づく処理に移行する。処理部20は、車外通信装置1を介して、外部サーバ100から更新プログラムを取得する(ステップS24)。処理部20は、車内通信部23を介して外部認証装置5から更新プログラムを取得してもよい。
 処理部20は、制御プログラム2cを、取得した更新プログラム、すなわち新たな制御プログラム2cに更新する更新処理を実行する(ステップS25)。具体的には、処理部20は、プログラム領域に保存される制御プログラム2cを削除し、取得した更新プログラムを新たに格納することで更新プログラムを適用する更新処理を実行する。あるいは、処理部20は、記憶部21のプログラム領域に2つの領域が設けられている場合には、更新対象である制御プログラム2cを記憶する領域とは異なる、他方の領域に取得した更新プログラムを格納してもよい。処理部20は、適用する制御プログラム2cを読み出す記憶部21の領域を、以前の制御プログラム2cが記憶された領域から、更新プログラムを記憶した領域に切り替えることで、更新処理を実行する。
 新たな制御プログラム2cを適用し更新処理が正常に完了した場合、処理部20は、共有領域216に格納されるフラグをリセットする。処理部20は、例えば更新処理の完了、すなわち、更新に関する情報が適切に保存され更新に関する情報がないことを示す完了フラグ(例えば識別子「0」)を共有領域216に保存し(ステップS26)、更新処理プログラム2gの処理を終了する。この場合においても、処理部20は、論理アドレスと物理アドレスとを対応付ける変換処理を行うことなく、共有領域216の物理位置情報である物理アドレスを直接指定して、共有領域216に完了フラグを格納する。すなわち、処理部20は、基本プログラム2bの入出力機能とは異なる入出力機能により、共有領域216に完了フラグを格納する。
 一方、更新フラグがないと判定した場合(ステップS22:NO)、処理部20は、基本プログラム2bを起動すると判断する。処理部20は、プログラム領域213に保存される基本プログラム2bを選択して起動し(ステップS27)、ブートプログラム2aの処理を終了する。
 処理部20は、基本プログラム2bに基づく処理に移行する。処理部20は、基本プログラム2b上で制御プログラム2cを起動し(ステップS28)、制御プログラム2cに基づく処理を開始する。処理部20は、例えば車載ECU3から送信されるCANメッセージ、IPパケット等を中継する中継処理を実行し(ステップS29)、制御プログラム2c及び基本プログラム2bの処理を終了する。
 処理部20は、サブプロセスを発生させ、ステップS28以下の処理に並行してステップS30の処理を行う。処理部20は、基本プログラム2b上でダイアグプログラム2dを起動し(ステップS30)、ダイアグプログラム2dに基づく処理を開始する。処理部20は、図3で示した如く、更新の有無に関する情報を監視する処理を実行し(ステップS31)、ダイアグプログラム2d及び基本プログラム2bの処理を終了する。なお、処理部20はさらにサブプロセスを発生させ、ステップS28及びステップS30に並行して、セキュリティプログラム2eを起動させる処理を実行してよい。
 本実施形態によれば、複数のプログラムを実行する処理部20により共通してアクセス可能に構成される共有領域216に、更新の有無に関する情報を格納することができる。処理部20は、ブートプログラムの機能により、共有領域216に格納された更新の有無に関する情報を参照し起動すべきプログラムを特定することができるため、自装置の制御プログラム2cの更新を効率的に実施することが可能となる。
 今回開示された実施の形態は全ての点で例示であって、制限的なものではない。本発明の範囲は、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれる。
 C 車両
 N 車外ネットワーク
 100 外部サーバ(OTAサーバ)
 101 記憶部
 1 車外通信装置
 11 車外通信部
 12 入出力I/F
 13 アンテナ
 2 中継装置(車載装置、ゲートウェイ)
 20 処理部
 21 記憶部
 211 ブートプログラム領域
 212 基本プログラム領域
 213 プログラム領域
 214 データ領域
 215 更新処理プログラム領域
 216 共有領域
 2a ブートプログラム
 2b 基本プログラム
 2c 制御プログラム
 2d ダイアグプログラム
 2e セキュリティプログラム
 2f NVM管理領域
 2g 更新処理プログラム
 2A 記録媒体
 22 入出力I/F
 23 車内通信部
 3 車載ECU
 30 制御部
 31 記憶部
 32 車内通信部
 4 車内LAN
 41 通信線
 5 外部認証装置
 6 IGスイッチ
 7 表示装置(HMI装置)
 

Claims (6)

  1.  処理部と、前記処理部が実行可能な複数のプログラムが記憶される記憶部とを備える車載装置であって、
     前記複数のプログラムは、
     前記処理部の起動時に実行されるブートプログラムと、
     前記ブートプログラムにより選択的に実行される基本プログラムと、
     前記ブートプログラムにより選択的に実行され、車外のサーバと更新に関する情報の通信を行う更新処理プログラムとを含み、
     前記記憶部は、自装置の制御プログラムの更新の有無に関する情報を保存する共有領域を含み、
     前記共有領域は、前記ブートプログラムを実行することによりアクセスが可能であり、前記基本プログラムに含まれる入出力機能によるアクセスが可能な領域とは異なる領域であり、
     前記処理部は、
     車外のサーバから提供される前記更新の有無に関する情報を取得し、
     取得した前記更新の有無に関する情報を、前記基本プログラムに含まれる入出力機能とは異なる入出力機能により前記共有領域に保存し、
     保存した前記更新の有無に関する情報に基づき、前記ブートプログラムの実行開始後に、前記基本プログラム又は前記更新処理プログラムを実行する
     車載装置。
  2.  前記複数のプログラムは、前記基本プログラム上で実行される前記制御プログラムとダイアグプログラムとを含み、
     前記ダイアグプログラムは、前記基本プログラムに含まれる入出力機能とは異なる入出力機能を含み、
     前記制御プログラムを実行中の処理部は、通信により接続する複数の車載ECUとの中継を制御し、
     前記ダイアグプログラムを実行中の処理部は、前記車外のサーバから提供される前記更新の有無に関する情報を取得し、取得した前記更新の有無に関する情報を前記基本プログラムに含まれる入出力機能とは異なる入出力機能により前記共有領域に保存する
     請求項1に記載の車載装置。
  3.  前記処理部は、前記記憶部における物理記憶位置を示す物理アドレスにより前記共有領域を指定し、指定した前記共有領域に前記更新の有無に関する情報を保存する
     請求項1又は請求項2に記載の車載装置。
  4.  前記共有領域は、前記更新処理プログラムを実行することによりアクセスが可能であり、
     前記更新処理プログラムを実行する処理部は、更新処理が完了された場合に更新処理が完了したことを示す情報を前記共有領域に保存する
     請求項1から請求項3のいずれか1項に記載の車載装置。
  5.  起動時に実行されるブート処理と、
     前記ブート処理により選択的に実行される基本処理と、
     前記ブート処理により選択的に実行され、車外のサーバと更新に関する情報の通信を行う更新処理とを含み、
     自装置の制御プログラムの更新の有無に関する情報を保存する共有領域は、前記ブート処理を実行することによりアクセスが可能であり、前記基本処理に含まれる入出力機能によるアクセスが可能な領域とは異なる領域であり、
     車外のサーバから提供される前記更新の有無に関する情報を取得し、
     取得した前記更新の有無に関する情報を、前記基本処理に含まれる入出力機能とは異なる入出力機能により前記共有領域に保存し、
     保存した前記更新の有無に関する情報に基づき、前記ブート処理の実行開始後に、前記基本処理又は前記更新処理を実行する
     処理をコンピュータに実行させるための情報処理方法。
  6.  起動時に実行されるブートプログラムと、
     前記ブートプログラムにより選択的に実行される基本プログラムと、
     前記ブートプログラムにより選択的に実行され、車外のサーバと更新に関する情報の通信を行う更新処理プログラムとを含み、
     自装置の制御プログラムの更新の有無に関する情報を保存する共有領域は、前記ブートプログラムを実行することによりアクセスが可能であり、前記基本プログラムに含まれる入出力機能によるアクセスが可能な領域とは異なる領域であり、
     車外のサーバから提供される前記更新の有無に関する情報を取得し、
     取得した前記更新の有無に関する情報を、前記基本プログラムに含まれる入出力機能とは異なる入出力機能により前記共有領域に保存し、
     保存した前記更新の有無に関する情報に基づき、前記ブートプログラムの実行開始後に、前記基本プログラム又は前記更新処理プログラムを実行する
     処理をコンピュータに実行させるためのコンピュータプログラム。
     
PCT/JP2021/010612 2020-04-08 2021-03-16 車載装置、情報処理方法及びコンピュータプログラム WO2021205825A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/995,536 US20230195445A1 (en) 2020-04-08 2021-03-16 On-board device, information processing method, and computer program
CN202180023682.6A CN115315686A (zh) 2020-04-08 2021-03-16 车载装置、信息处理方法及计算机程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020069814A JP7415756B2 (ja) 2020-04-08 2020-04-08 車載装置、情報処理方法及びコンピュータプログラム
JP2020-069814 2020-04-08

Publications (1)

Publication Number Publication Date
WO2021205825A1 true WO2021205825A1 (ja) 2021-10-14

Family

ID=78022160

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/010612 WO2021205825A1 (ja) 2020-04-08 2021-03-16 車載装置、情報処理方法及びコンピュータプログラム

Country Status (4)

Country Link
US (1) US20230195445A1 (ja)
JP (1) JP7415756B2 (ja)
CN (1) CN115315686A (ja)
WO (1) WO2021205825A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7392544B2 (ja) * 2020-03-26 2023-12-06 住友電装株式会社 車載ecu、プログラム及び情報処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011148398A (ja) * 2010-01-21 2011-08-04 Denso Corp 車両用プログラム更新システム
JP2015144008A (ja) * 2015-03-13 2015-08-06 日本電気株式会社 情報処理装置、及び、情報処理方法
JP2018190223A (ja) * 2017-05-09 2018-11-29 株式会社オートネットワーク技術研究所 車載中継装置、制御プログラム及びメモリ共有方法
JP6528700B2 (ja) * 2016-02-17 2019-06-12 株式会社デンソー 車載制御装置、及び車載制御装置を含む車載ネットワーク

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011148398A (ja) * 2010-01-21 2011-08-04 Denso Corp 車両用プログラム更新システム
JP2015144008A (ja) * 2015-03-13 2015-08-06 日本電気株式会社 情報処理装置、及び、情報処理方法
JP6528700B2 (ja) * 2016-02-17 2019-06-12 株式会社デンソー 車載制御装置、及び車載制御装置を含む車載ネットワーク
JP2018190223A (ja) * 2017-05-09 2018-11-29 株式会社オートネットワーク技術研究所 車載中継装置、制御プログラム及びメモリ共有方法

Also Published As

Publication number Publication date
US20230195445A1 (en) 2023-06-22
JP2021165999A (ja) 2021-10-14
JP7415756B2 (ja) 2024-01-17
CN115315686A (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
US11507365B2 (en) On-board update device, update processing program, program update method, and on-board update system
JP7192415B2 (ja) プログラム更新システム及び更新処理プログラム
JP7160111B2 (ja) 監視装置、監視プログラム及び監視方法
US11967188B2 (en) Vehicle mounted update apparatus, update processing program, and program update method
US11630746B2 (en) Substitution apparatus, substitution control program, and substitution method
US10625754B2 (en) Control apparatus, control method, and computer program
WO2019202965A1 (ja) 車載更新装置、車載更新システム、更新処理方法及び更新処理プログラム
WO2021205825A1 (ja) 車載装置、情報処理方法及びコンピュータプログラム
WO2021106568A1 (ja) 車載更新装置、プログラム及び、プログラムの更新方法
WO2021205819A1 (ja) 車載中継装置、情報処理方法及びプログラム
CN113631430B (zh) 车载计算机、计算机执行方法及计算机程序
JP2022041194A (ja) 車載機器、情報生成方法、情報生成プログラム、および、車両
US20230095760A1 (en) On-vehicle relay device, information processing method and program
US11958423B2 (en) On-board communication device, program, and communication method
JP7211189B2 (ja) 更新処理システム及び更新処理方法
WO2023063068A1 (ja) 車載装置、プログラム及び、プログラムの更新方法
JP7157214B1 (ja) 車載制御装置、車載システム、情報処理方法、及びプログラム
WO2024048328A1 (ja) 車載装置、プログラム及び情報処理方法
JP2022168981A (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: 21785232

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21785232

Country of ref document: EP

Kind code of ref document: A1