WO2011062044A1 - Method of disabling execution of program, method of storing program, and airbag control device - Google Patents
Method of disabling execution of program, method of storing program, and airbag control device Download PDFInfo
- Publication number
- WO2011062044A1 WO2011062044A1 PCT/JP2010/069261 JP2010069261W WO2011062044A1 WO 2011062044 A1 WO2011062044 A1 WO 2011062044A1 JP 2010069261 W JP2010069261 W JP 2010069261W WO 2011062044 A1 WO2011062044 A1 WO 2011062044A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- machine language
- program
- language program
- execution
- code
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R21/00—Arrangements or fittings on vehicles for protecting or preventing injuries to occupants or pedestrians in case of accidents or other traffic risks
- B60R21/01—Electrical circuits for triggering passive safety arrangements, e.g. airbags, safety belt tighteners, in case of vehicle accidents or impending vehicle accidents
Definitions
- the present invention relates to a program execution disabling method for converting a machine language program for executing a process of forcibly deploying an airbag to a computer into an inexecutable state when the airbag is discarded, and the machine language program
- the present invention relates to a program storage method that converts a computer program into an inexecutable state and stores it in a storage unit, and an airbag control device that stores a machine language program in an inexecutable state.
- the airbag When a vehicle equipped with an airbag is to be discarded, the airbag must be forcibly deployed in advance to prevent accidental explosion of the airbag, and after the airbag is forcibly deployed, the vehicle should be discarded together with an inflator, etc. Has been done.
- the storage unit of the airbag control apparatus uses the disposal processing execution code as a non-execution code so that the airbag does not explode during non-disposal processing under any circumstances. Is required to be stored in.
- the non-executable code is stored in the ROM (Read Only Memory) of the airbag control device, and is stored in the RAM (Random Access Memory) only under a specific condition, that is, when a series of procedures is confirmed with the disposal tool. It must be restored and executed as executable code.
- ROM Read Only Memory
- RAM Random Access Memory
- a method using an illegal instruction or undefined instruction of a CPU can be considered. Specifically, by partially storing each instruction after generating an execution code in machine language, the execution code is made unexecutable in a normal processing procedure. That is, a process of converting each instruction of the execution code into an illegal instruction or an undefined instruction of the CPU is performed.
- a CPU Central Processing Unit
- FIG. 16A and 16B are explanatory diagrams conceptually showing a conventional non-executable coding and non-executable code restoration method.
- FIG. 16A is an explanatory diagram conceptually showing a process of converting an executable code into a non-executable code by partially storing it separately.
- a rectangular bar composed of four hatched cells represents execution code.
- One grid corresponds to 1 byte length, and the execution code shown in FIG. 16A is 4 bytes long.
- the execution code is converted into a non-execution code by separating the first byte (left side in the figure) of the execution code.
- Open squares indicate data portions separated from the execution code. The data portion is arbitrary data that can make the execution code undefined or illegal.
- the data portion is 1-byte length data of “0000000”.
- the separated 1-byte data at the head is stored in the ROM together with the non-executable code as mask data for restoring the non-executable code.
- FIG. 16B is an explanatory diagram conceptually showing a process of restoring the separated non-executable code.
- the non-executable code stored in the ROM has data of 3 bytes length after the executable code, and the mask data has the data of the first 1 byte length of the executable code. Can be used to restore the executable code.
- the present invention has been made in view of such circumstances, and an object thereof is to provide a part of instruction codes included in a source program of a machine language program for causing a computer to execute a process of forcibly deploying an airbag.
- the airbag is forcibly deployed by replacing it with another instruction code or by replacing a part of the reference memory address included in the source program with another reference memory address and compiling it into a non-executable code. It is not necessary to generate a non-executable machine language program after generating a machine language program that can be executed, and even if the non-executable machine language program is executed prior to execution coding, all operations are grasped and guaranteed. That can execute program, method for storing program, and air storing non-executable machine language program To provide a Tsu grayed controller.
- the program execution disabling method is a program execution for converting a machine language program for causing a computer to execute a process for forcibly deploying an air bag to an inexecutable state when the air bag is discarded.
- a part of the instruction code included in the source program of the machine language program is replaced with another instruction code, or a part of the reference memory address included in the source program is replaced with another reference memory address.
- a step of converting the source program into a non-executable machine language program a step of compiling a source program incapable of deploying an air bag into a non-executable machine language program, and the non-executable machine language
- a part of the instruction code included in the source program of the machine language program for causing the computer to execute the process of forcibly deploying the airbag is replaced with another instruction code, or the source program Is replaced with another reference memory address, thereby converting the machine language program into a source program incapable of deploying an airbag.
- Other instruction codes used for the replacement are regular codes used for operating the CPU of the computer, and the operation of the computer is guaranteed.
- the instruction code of the logical sum operation is replaced with the instruction code of the exclusive logical sum.
- the reference address is an effective address where a reference destination exists.
- the reference address is a broad address including all addresses necessary for reading and writing data.
- the reference address includes a RAM, a CPU cache memory, a register, a data input / output memory, and other storage devices. Address, etc. are included. Then, the replaced source program is compiled to create an inexecutable machine language program. Also, restoration data for restoring the non-executable machine language program to the machine language program capable of forcibly deploying the airbag is created.
- the execution order of the step of creating the restoration data and the step of creating the non-executable machine language program is not limited. Therefore, it is not necessary to generate a non-executable machine language program from the compiled machine language program. In addition, it is possible to verify and grasp the behavior of the CPU.
- the restoration data includes data indicating a difference between the disable executable machine language program and the machine language program.
- the restoration data includes data indicating a difference between the non-executable machine language program and the executable machine language program. Therefore, it is possible to restore an executable machine language program from the non-executable machine language program using the restored data.
- the restoration data may be generated by a person or may be generated by a computer.
- the restoration data includes an exclusive OR of the disable executable machine language program and the machine language program.
- the restoration data is an exclusive OR of the non-executable machine language program and the machine language program. Therefore, the restoration data can be easily generated. It is also easy to restore the non-executable machine language program. Further, when the difference between the non-executable machine language program and the executable machine language program is expressed by exclusive OR, the machine language program can be disabled and restored by the same thought process or operation, that is, exclusive OR. Can be realized. For this reason, it is not necessary to distinguish between the calculation method at the time of disabling execution and the calculation method at the time of restoration. In particular, when a person generates restoration data, it is not necessary to consider what the calculation method is when execution is disabled and what the calculation method is when restoration.
- the generation of the restoration data by exclusive OR may be performed by a person or may be generated by a computer.
- the program storage method according to the present invention includes a step of storing in the storage unit the non-executable machine language program and the restoration data created using the above-described program execution disable method.
- the non-executable machine language program and the restoration data are created using the above-described method for disabling the airbag discard program, and the created non-executable machine language program and the restoration data are stored in the storage unit.
- the machine language program for forcibly deploying the airbag is stored in the storage unit in an inexecutable state.
- the non-executable machine language program and the restored data may be stored in different storage units.
- the program storage method stores in a storage unit a restoration machine language program for causing a computer to execute a process of restoring the non-executable machine language program to the machine language program using the restoration data. It has the step to make it feature.
- the restoration machine language program for restoring the machine language program capable of deploying the airbag is stored in the storage unit using the restoration data and the non-executable machine language program. Therefore, by causing the CPU to execute the restored machine language program, it is possible to restore the machine language program that can deploy the airbag using the restored data and the non-executable machine language program.
- the airbag control apparatus includes a storage unit storing the non-executable machine language program and restoration data created by using the program execution disable method, and the execution stored in the storage unit. Based on the disabling machine language program and restoration data, the control unit that restores the non-executable machine language program to the machine language program and executes the machine language program, and the control unit that executes the machine language program And a circuit for deploying the airbag according to the control.
- the airbag is not deployed.
- the control unit can restore and execute the non-executable machine language program using the restoration data into a machine language program capable of forcibly deploying the airbag.
- the airbag is deployed under the control of the control unit that has executed the machine language program.
- the airbag control apparatus When the airbag control apparatus according to the present invention discards an airbag, some instruction codes included in a machine language program for executing a process of forcibly deploying the airbag are used as other instruction codes.
- the machine language program obtained by replacing or replacing a part of the reference memory address included in the machine language program with another reference memory address, and the machine language program disabled,
- the storage unit of the airbag control device converts some instruction codes included in the machine language program for causing the computer to execute processing for forcibly deploying the airbag to other instruction codes.
- a non-executable machine language program is stored by replacing or replacing a part of the reference memory address included in the machine language program with another reference memory address.
- the other instruction codes used for the replacement are regular codes used for operating the CPU of the computer, and the operation of the computer is guaranteed.
- the reference address is an effective address where a reference destination exists.
- the storage unit stores restoration data for restoring the non-executable machine language program into the machine language program capable of forcibly deploying the airbag.
- the control unit can restore and execute the non-executable machine language program using the restoration data into a machine language program capable of forcibly deploying the airbag.
- the airbag is deployed under the control of the control unit that has executed the machine language program.
- the present invention it is not necessary to perform the process of generating the non-executable machine language program after the generation of the machine language program capable of forcibly deploying the airbag, and the non-executable machine language is executed before execution coding. Even if the program is executed, all operations can be grasped and guaranteed. Therefore, it is possible to easily create an inexecutable machine language program having higher safety than the conventional inexecutability method and store it in the storage unit of the computer.
- FIG. 1 is a block diagram schematically showing a configuration example of an airbag control device 1 and a disposal device 2 according to an embodiment of the present invention.
- the airbag control device 1 is accommodated in a container (not shown), and is disposed at an appropriate location of the vehicle, for example, near the dashboard.
- the airbag control device 1 includes a CPU 11 that controls the operation of each component constituting the airbag control device 1.
- a ROM 12 and a RAM 13 are connected to the CPU 11 via a bus.
- the acceleration sensor 14, the ignition circuit 15, and the communication circuit 16 are connected to the CPU 11 via an I / O port (not shown) connected to the bus.
- the CPU 11 includes a control circuit, an arithmetic logic circuit, an instruction decoder, an address register, a data register, an instruction register, a program counter, a stack register, various registers such as a general-purpose register, an instruction decoder, and the like (not shown). Since the configurations and operations of various circuits and registers are well-known techniques, details thereof are omitted. In FIG. 1, only the r16 register, which is one general-purpose register, is shown for convenience of drawing and explanation. Further, the power source 3 mounted on the vehicle is connected to the CPU 11 via a regulator, and when the ignition switch is turned on, a predetermined voltage, for example, a voltage of 5V is applied to the CPU 11. ing.
- the ROM (storage unit) 12 is a non-volatile storage unit that stores a non-executable code (non-executable machine language program) and a restoration code (restoration machine language program) according to the present embodiment.
- the non-executable code terminates without executing the process of forcibly deploying the airbag even if the CPU 11 is deployed and executed in the RAM 13 as it is.
- the restoration code is a program for restoring the non-execution code into an execution code (machine language program) that can forcibly deploy the airbag.
- the execution code is a program for executing processing for forcibly deploying the airbag when the airbag is discarded. Details of the non-executable code and the restored code will be described later.
- the ROM 12 stores a program for deploying the airbag when a vehicle collision is detected.
- the ROM 12 includes a mask ROM and a PROM (Programmable Read Only Memory).
- the ROM 12 is an example of a storage unit, and non-executable code and restoration code are stored in an EEPROM (Erasable and Programmable Read Only Memory), an EEPROM (Electrically-Erasable and Programmable Read Only Memory), a flash memory, and other nonvolatile memories. You may let them.
- the RAM 13 is a volatile memory that temporarily stores data generated when the CPU 11 executes an execution code and other various programs.
- the acceleration sensor 14 is a circuit for detecting a vehicle collision, and outputs a signal corresponding to the acceleration acting on the vehicle to the CPU 11.
- a squib 15a is connected to the ignition circuit 15, and a voltage is applied to the squib 15a in accordance with a signal output from the CPU 11 to deploy the airbag.
- the squib 15a is accommodated in an inflator arranged in a steering hole or a dashboard, and gunpowder is arranged around the squib 15a.
- the squib 15a is connected to the power source 3 via a booster circuit (not shown) and has a heating element such as a filament that generates heat when it is turned on.
- the ignition circuit 15 includes a switch for interrupting energization to the squib 15a.
- the switch is, for example, a MOSFET, the gate terminal is connected to the I / O port of the CPU 11, the drain terminal is connected to the squib 15a, and the source terminal is grounded.
- the communication circuit 16 includes a connector for connecting to the disposal device 2 via a cable.
- the communication circuit 16 is a circuit for transmitting and receiving various data for forcibly deploying the airbag to and from the discarding device 2 under the control of the CPU 11.
- the discarding device 2 includes a control unit 21, a communication circuit 22, and an operation unit 23.
- the control unit 21 is a microcomputer provided with a CPU that controls the operation of each component of the discarding device 2, and a ROM, a RAM, and an I / O port (not shown) are connected to the CPU.
- the communication circuit 22 includes a connector for connecting to the airbag control device 1 via a cable.
- the communication circuit 22 is a circuit for transmitting and receiving various data for forcibly deploying the airbag to and from the airbag control device 1 under the control of the control unit 21.
- the operation unit 23 is a button, switch, touch sensor, or the like for receiving an operation for forcibly deploying the airbag when the airbag is discarded.
- the operation state of the operation unit 23 is controlled by the control unit 21. It is configured so that it can be detected.
- FIG. 2 is a flowchart showing a program execution disable method and a program storage method according to the embodiment of the present invention.
- the user of the program execution disablement method and the program storage method prepares an execution source code (source program) that is described in a lower language and for executing a process for forcibly deploying an airbag (step).
- the lower language is, for example, an assembly language.
- the lower language is an example of a language for describing a source program, and includes all computer languages except machine language.
- FIG. 3 is a flowchart showing a part of the processing procedure described in the execution source code.
- the CPU 11 executes the following processing by the execution code obtained by compiling the execution source code.
- the CPU 11 assigns a numerical value based on the data transmitted from the discarding device 2 to the variable A (step S31).
- the CPU 11 determines whether or not the value of the variable A is a predetermined value, for example, “0xAA” (step S32).
- the airbag control device 1 is configured such that “0xAA” is stored in the variable A when a series of procedures for forcibly deploying the airbag is performed with the disposal device 2. Note that “0xAA” represents a numerical value “AA” expressed in hexadecimal, and “170” when expressed in decimal.
- step S32: YES When it is determined that the variable A is “0xAA” (step S32: YES), the CPU 11 outputs a deployment signal for deploying the airbag to the ignition circuit 15, thereby discarding and deploying the airbag, and processing. Finish (step S33). When it is determined that the variable A is not “0xAA” (step S32: NO), the CPU 11 ends the process.
- step S11 the user who has finished the process of step S11 then converts the instruction code included in the execution source code into another instruction code, thereby converting it into a non-execution source code (Ste S12).
- FIGS. 4A and 4B are explanatory diagrams showing a method of converting execution source code into non-execution source code.
- FIG. 4A shows a part of the execution source code written in the assembly language.
- the assembly language shown in FIGS. 4A and 4B is a language for “NEC V850ES series microcomputer”.
- the execution source code shown in FIG. 4A corresponds to the process of step S32 shown in FIG. Specifically, in the first line program, the CPU 11 reads the contents of the 1-byte length variable A into the r16 register, and in the second line program, the CPU 11 reads the 1-byte length data read into the r16 register. Is signed extended to 4-byte data.
- the signed extension is an instruction for causing the CPU 11 to execute sign extension so that numerical values can be handled correctly as positive and negative numbers. Then, in the program on the third line, the CPU 11 performs an OR operation on the data in the r16 register and the data in the r16 register itself, and adds “0x56” to the r16 register in the program on the fourth line. To do. Note that “0x56” represents the numerical value “56” expressed in hexadecimal, and “86” when expressed in decimal. According to the above processing, when the content of the variable A is “0xAA”, the content of the r16 register is “0x00”, and when the content of the variable A is other than “0xAA”, the content of the r16 register is “0x00”. It will be other than. The following processing is executed forcibly deploying the airbag when the content of the r16 register is “0x00”, and forcibly terminated when the content of the r16 register is other than “0x00”. Is programmed.
- the content of the r16 register may be “0x00” immediately before the execution of the “addi” instruction on the fourth line.
- the content of the r16 register becomes “0x56” in the program on the fourth line. This is the same as the case where a value other than “0xAA” is stored in the variable A in the execution code, and the program is forcibly terminated without deploying the airbag.
- FIG. 4B is an example of non-executable source code.
- part of the instruction code included in the execution source code is converted so that the content of the r16 register becomes “0x00” immediately before the execution of the “addi” instruction on the fourth line.
- the “sxb” instruction on the second line is replaced with a “zxb” instruction
- the “or” instruction on the third line is replaced with an “xor” instruction.
- the CPU 11 performs an exclusive OR operation between the data in the r16 register and the data in the r16 register itself.
- the exclusive OR of data “1” and “1” expressed in binary numbers is “0”, and the exclusive OR of “0” and “0” is also “0” (FIG. 8A and FIG. 8B). Therefore, as a result of the exclusive OR operation on the same data, the content of the r16 register becomes “0x00” (see FIGS. 8A and 8B).
- the “zxb” instruction on the second line is an instruction for causing the CPU 11 to execute sign extension so that a numerical value can be handled as all positive and negative numbers.
- FIG. 5 is a flowchart showing a part of the processing procedure for non-executable data.
- the CPU 11 executes the following processing. First, the CPU 11 substitutes a numerical value based on the data transmitted from the discarding device 2 for the variable A (step S131). Then, the CPU 11 determines whether or not the value of the variable A is a predetermined value, for example, “0xAA” (step S132). However, in the non-executable code, it is always determined that the variable A is not a predetermined value regardless of the value of the variable A. For this reason, the CPU 11 always determines that the variable A is not a predetermined value (step S132: NO), and the process is forcibly terminated.
- a predetermined value for example, “0xAA”
- step S12 restores the replaced instruction code to the instruction code before the replacement, that is, mask data for restoring the non-executed code to the executable code ( Restored data) is created (step S13).
- 6A and 6B are explanatory diagrams showing execution codes and non-execution codes in which execution source code and non-execution source code are described in machine language.
- 6A is an execution code in which execution source code is described in machine language
- FIG. 6B is non-execution code in which non-execution source code is described in machine language.
- the portion where the data contents are changed by the replacement of the instruction code is underlined.
- r and R are data specifying a register
- d is a memory reference address
- i is data indicating a numerical value to be added.
- FIG. 7 is an explanatory diagram showing mask data
- FIGS. 8A and 8B are a truth table and a Venn diagram of exclusive OR operation.
- Mask data for restoring non-execution data to execution data is obtained by an exclusive OR operation between the execution data and the non-execution data.
- the exclusive OR operation as shown in FIGS. 8A and 8B, when the values of the first input and the second input are the same, the output is “0”, and the values of the first input and the second input are different. In this case, since the output is “1”, the difference between the execution data and the non-execution data can be expressed by the mask data.
- the mask data for restoring the instruction code described in the second and third lines is “00000000000001”. It is also preferable to create mask data for the part where the instruction code is not replaced. This is because the calculation at the time of restoration becomes easy.
- the mask data of the portion where the instruction code does not need to be restored is “0000...”.
- it is not indispensable to create mask data corresponding to all instruction codes and only mask data of a portion where instruction codes are replaced may be created.
- the mask data may be created manually by the user using an assembly language / machine language conversion table. However, the mask data can be generated by causing the computer to execute an exclusive OR operation of the execution code and the non-execution code. Data may be created.
- exclusive OR was illustrated as a creation method of mask data, it is not limited to this, and other methods can be used as long as at least data indicating a difference between an execution code and a non-execution code can be created. It may be adopted. For example, a value obtained by subtracting a non-executable code from an executable code may be used as mask data. In this case, the execution code can be restored by adding the non-execution code and the mask data. A value obtained by adding the non-executable code to the executable code may be used as mask data. In this case, the execution code can be restored by subtracting the non-execution code from the mask data. Furthermore, the mask data may be calculated by multiplication, division, and other reversible operations between the execution code and the non-execution code.
- the user who has finished the process of step S13 then compiles the non-executable code, the mask data, and the restoration program (step S14).
- the restoration program is a program that restores the non-executable code to the execution code by executing an exclusive OR operation between the non-executable code and the mask data, and expands the restored execution code in the RAM 13.
- the compiling is performed using a computer, but needless to say, it may be manually performed by a user using an assembly language / machine language conversion table.
- the user stores the compiled non-executable code and the restored code including the mask data in the ROM 12 (step S15).
- the mask data does not necessarily have to be integrated with the restoration code. If the non-execution code can be restored to the execution code using the mask data, the mask data may be stored in the ROM 12 separately. Further, it is not always necessary to store a non-executable code and a restoration code including mask data in one ROM 12.
- the non-executable code may be stored in the ROM 12 of the airbag control device 1 and the restoration code including the mask data may be stored in an EEPROM (not shown) of the airbag control device 1. Alternatively, only mask data may be stored in an EEPROM (not shown) of the airbag control device 1.
- FIG. 9 is a flowchart showing a processing procedure of the airbag control device 1 and the disposal device 2 related to disposal.
- the processing contents will be described on the assumption that the discarding device 2 is connected to the airbag control device 1 and data is transmitted and received via the communication circuits 16 and 22.
- the control unit 21 of the disposal apparatus 2 determines whether or not the start of the airbag disposal process has been instructed by monitoring the operation state of the operation unit 23 (step S51). If it is determined that the start of the discarding process has not been instructed (step S51: NO), the control unit 21 returns the process to step S51 again. If it is determined that the start of the discard process has been instructed (step S51: YES), the control unit 21 transmits the restoration execution data for requesting the restoration of the non-executed code to the airbag control device 1 through the communication circuit 22. (Step S52).
- the CPU 11 of the airbag control device 1 receives the restoration execution data transmitted from the discarding device 2 by the communication circuit 16 (step S53).
- the CPU 11 restores the execution code from the non-execution code stored in the ROM 12 and the mask data by executing the restoration code (restoration machine language program) stored in the ROM 12. Then, the restored execution code is expanded in the RAM 13 (step S54).
- FIG. 10 is an explanatory diagram conceptually showing a general method for restoring execution code using mask data
- FIGS. 11A and 11B conceptually show a specific method for restoring execution code using mask data
- FIG. 12 is a block diagram schematically showing a configuration example of the airbag control device 1 and the discarding device 2 in which the restored execution data is expanded in the RAM 13.
- the restoration of the non-executable code is performed by registering a non-executable code and a mask data for performing an exclusive OR operation for each predetermined byte from the beginning, for example, an exclusive OR operation. Is 16 bits, it is performed by sequentially executing 16 bits at a time.
- the non-executable code is restored by sequentially executing an exclusive OR operation between the non-executable data shown in FIG. 6B and the mask data shown in FIG. Specifically, the content of the non-execution data corresponding to the numerical value “1” of the mask data is converted from “1” to “0” or from “0” to “1”. As a result, the “zxb” instruction is restored to the “sxb” instruction as shown in FIG. 11A, and the “xor” instruction is restored to the “or” instruction as shown in FIG. 11B.
- the non-executable code shown in FIG. 6B is restored to the executable code shown in FIG. 6A, and the restored executable code is expanded in the RAM 13 as shown in FIG.
- the CPU 11 transmits restoration end notification data for notifying the end of restoration to the discarding device 2 through the communication circuit 16 (step S55).
- the control unit 21 of the discard apparatus 2 receives the restoration end notification data transmitted from the airbag control apparatus 1 by the communication circuit 22 (step S56). And the control part 21 determines whether execution of the disposal process of an airbag was instruct
- the CPU 11 of the airbag control device 1 receives the discard execution data transmitted from the discard device 2 via the communication circuit 16 (step S59). When the discard execution data is received, the CPU 11 executes the restored execution code (step S60) and ends the process. If a series of procedures for forcibly deploying the airbag is correctly performed with the disposal device 2 and the execution code is correctly restored, the variable A includes the numerical value “0xAA”. When the process shown in FIG. 3 is executed in step S60, the squib 15a is ignited and the airbag is forcibly deployed.
- the program execution disabling method, the program storage method, and the airbag control device it is not necessary to perform a non-executable code generation process after generating an execution code described in machine language. Further, even if a non-executable code is executed before restoration due to a malfunction of the CPU 11, all operations can be grasped and guaranteed. Therefore, it is possible to create a non-executable code with higher safety than the conventional execution disable method and store it in the ROM 12.
- the mask data is created by exclusive OR of the execution code and the non-execution code. Even when restoring the non-executable code, the non-executable code can be restored to the executable code by exclusive OR of the non-executable code and the mask data. Therefore, it is possible to easily create mask data and restore it to an execution code. That is, when the difference between the execution data and the non-execution data is expressed by exclusive OR, execution of the execution data can be disabled and restored by the same thought process or operation, that is, exclusive OR. For this reason, it is not necessary to distinguish between the calculation method at the time of disabling execution and the calculation method at the time of restoration. Especially when a person generates restoration data, what is the calculation method at the time of disabling execution, There is no need to think about what the method is.
- Modification 1 Since the airbag control device 1, the program execution disable method, and the program storage method according to the modification 1 are different only in the non-execution method, the difference will be mainly described below.
- the program storing method according to the first modification a part of the reference addresses included in the execution source program is replaced with another reference address to make the execution impossible.
- FIG. 13 is a flowchart showing a program execution disable method and a program storage method according to the first modification.
- the user of the program storage method first prepares an execution source code written in a lower language and for executing a process of forcibly deploying an airbag, as in the above-described embodiment. (Step S111). Then, the user converts the reference address included in the execution source code into a non-execution source code by replacing it with another reference address (step S112). Thereafter, in steps S113 to S115, processing similar to that in steps S13 to S15 is executed.
- FIG. 14A and FIG. 14B are explanatory diagrams showing an execution code and a non-execution code in which the execution source code and the non-execution source code in Modification 1 are described in machine language.
- the reference address of the variable A is “0000000000001000”.
- the user replaces the reference address of the variable A with “0000000000001000000”.
- the reference address is changed so that the same result as when a value other than “0xAA” is stored in the variable A in the execution code, such as the numerical value “0x00” is always stored in the reference address after replacement. .
- the program is forcibly terminated without deploying the airbag. Since the numerical value stored in the address may be replaced with an unexpected value when the CPU 11 malfunctions, it is better to replace the instruction code with another instruction code.
- an example in which only the reference memory address is replaced will be described.
- FIG. 15 is an explanatory diagram showing mask data in the first modification.
- the mask data is a mask for restoring the reference address after replacement to the reference address before replacement by performing an exclusive OR operation between the reference address “0000000000001000” of the variable A and the reference address “0000000000000010000” after replacement. Data can be created. As in the above-described embodiment, in FIG. 15, mask data for other instruction codes that are not replaced is also created.
- the same effects as those of the embodiment can be obtained.
- fault tolerance can be improved and malfunctions can be more effectively prevented.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Air Bags (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
Description
図16Bは、分離された非実行コードを復元する処理を概念的に示した説明図である。ROMに格納された非実行コードは、実行コードの後段3バイト長のデータを有し、マスクデータは、実行コードの先頭1バイト長のデータを有しているため、非実行コード及びマスクデータを用いて、実行コードを復元することができる。 16A and 16B are explanatory diagrams conceptually showing a conventional non-executable coding and non-executable code restoration method. FIG. 16A is an explanatory diagram conceptually showing a process of converting an executable code into a non-executable code by partially storing it separately. A rectangular bar composed of four hatched cells represents execution code. One grid corresponds to 1 byte length, and the execution code shown in FIG. 16A is 4 bytes long. In the example shown in FIG. 16A, the execution code is converted into a non-execution code by separating the first byte (left side in the figure) of the execution code. Open squares indicate data portions separated from the execution code. The data portion is arbitrary data that can make the execution code undefined or illegal. For example, the data portion is 1-byte length data of “0000000”. The separated 1-byte data at the head is stored in the ROM together with the non-executable code as mask data for restoring the non-executable code.
FIG. 16B is an explanatory diagram conceptually showing a process of restoring the separated non-executable code. The non-executable code stored in the ROM has data of 3 bytes length after the executable code, and the mask data has the data of the first 1 byte length of the executable code. Can be used to restore the executable code.
また、分離後の非実行コードは、CPUの未定義又は不正命令であり、CPU製造業者によって動作が保証されていない場合、CPUの異常動作などにより非実行コードが実行コード化される前に実行されたときのCPUの挙動すら検証・把握することができないなど、安全面での憂慮も払拭できないという問題があった。 However, a method of separately storing a part of execution data is performed after a machine language execution code is generated by a compiler or the like. Therefore, in this method, it is necessary to specify and process the function length and storage address of the execution code, and if the instruction is in a variable length format, the instruction analysis of the execution code must also be performed. There has been a problem that the process is very complicated.
The non-executable code after separation is an undefined or illegal instruction of the CPU, and if the operation is not guaranteed by the CPU manufacturer, it is executed before the non-executable code is converted into an executable code due to an abnormal operation of the CPU. There was a problem that safety concerns could not be eliminated, for example, even the behavior of the CPU when it was done could not be verified and grasped.
そして、置換後のソースプログラムをコンパイルして実行不能化機械語プログラムを作成する。また、実行不能化機械語プログラムを、エアバッグを強制的に展開させることが可能な前記機械語プログラムに復元するための復元データを作成する。なお、復元データを作成するステップと、実行不能化機械語プログラムを作成するステップとの実行順序は問わない。
従って、コンパイルされた機械語プログラムから実行不能化機械語プログラムを生成する処理は不要である。また、CPUの挙動を検証及び把握することが可能である。 In the present invention, a part of the instruction code included in the source program of the machine language program for causing the computer to execute the process of forcibly deploying the airbag is replaced with another instruction code, or the source program Is replaced with another reference memory address, thereby converting the machine language program into a source program incapable of deploying an airbag. Other instruction codes used for the replacement are regular codes used for operating the CPU of the computer, and the operation of the computer is guaranteed. For example, the instruction code of the logical sum operation is replaced with the instruction code of the exclusive logical sum. The reference address is an effective address where a reference destination exists. The reference address is a broad address including all addresses necessary for reading and writing data. The reference address includes a RAM, a CPU cache memory, a register, a data input / output memory, and other storage devices. Address, etc. are included.
Then, the replaced source program is compiled to create an inexecutable machine language program. Also, restoration data for restoring the non-executable machine language program to the machine language program capable of forcibly deploying the airbag is created. The execution order of the step of creating the restoration data and the step of creating the non-executable machine language program is not limited.
Therefore, it is not necessary to generate a non-executable machine language program from the compiled machine language program. In addition, it is possible to verify and grasp the behavior of the CPU.
なお、排他的論理和による復元データの生成は、人が行っても良いし、コンピュータに生成させても良い。 In the present invention, the restoration data is an exclusive OR of the non-executable machine language program and the machine language program. Therefore, the restoration data can be easily generated. It is also easy to restore the non-executable machine language program. Further, when the difference between the non-executable machine language program and the executable machine language program is expressed by exclusive OR, the machine language program can be disabled and restored by the same thought process or operation, that is, exclusive OR. Can be realized. For this reason, it is not necessary to distinguish between the calculation method at the time of disabling execution and the calculation method at the time of restoration. In particular, when a person generates restoration data, it is not necessary to consider what the calculation method is when execution is disabled and what the calculation method is when restoration.
The generation of the restoration data by exclusive OR may be performed by a person or may be generated by a computer.
従って、エアバッグ制御装置の制御部の誤作動によって、実行不能化機械語プログラムが実行されたとしても、エアバッグは展開しない。制御部は、復元データを用いて実行不能化機械語プログラムを、エアバッグを強制的に展開させることができる機械語プログラムに復元し、実行することができる。該機械語プログラムが実行された制御部の制御に従って、エアバッグは展開する。 In the present invention, the storage unit of the airbag control device converts some instruction codes included in the machine language program for causing the computer to execute processing for forcibly deploying the airbag to other instruction codes. A non-executable machine language program is stored by replacing or replacing a part of the reference memory address included in the machine language program with another reference memory address. The other instruction codes used for the replacement are regular codes used for operating the CPU of the computer, and the operation of the computer is guaranteed. The reference address is an effective address where a reference destination exists. Further, the storage unit stores restoration data for restoring the non-executable machine language program into the machine language program capable of forcibly deploying the airbag.
Therefore, even if the non-executable machine language program is executed due to a malfunction of the control unit of the airbag control device, the airbag is not deployed. The control unit can restore and execute the non-executable machine language program using the restoration data into a machine language program capable of forcibly deploying the airbag. The airbag is deployed under the control of the control unit that has executed the machine language program.
図1は、本発明の実施の形態に係るエアバッグ制御装置1及び廃棄装置2の一構成例を模式的に示したブロック図である。 Hereinafter, the present invention will be described in detail with reference to the drawings illustrating embodiments thereof.
FIG. 1 is a block diagram schematically showing a configuration example of an
なお、ROM12には、マスクROM及びPROM(Programmable Read Only Memory)が含まれる。また、ROM12は、記憶部の一例であり、EPROM(Erasable and Programmable Read Only Memory)、EEPROM(Electrically - Erasable and Programmable Read only Memory)、フラッシュメモリ、その他の不揮発メモリに非実行コード及び復元コードを格納させても良い。 The ROM (storage unit) 12 is a non-volatile storage unit that stores a non-executable code (non-executable machine language program) and a restoration code (restoration machine language program) according to the present embodiment. The non-executable code terminates without executing the process of forcibly deploying the airbag even if the
The
スクイブ15aは、ステアリングホール又はダッシュボードなどに配置されたインフレータ内に収容され、その周囲には火薬が配されている。スクイブ15aは、図示しない昇圧回路を介して電源3に接続されており、導通することによって発熱するフィラメントなどの発熱体を有する。
点火回路15は、スクイブ15aへの通電を遮断するためのスイッチを備える。該スイッチは例えば、MOSFETであり、ゲート端子は、CPU11のI/Oポートに接続され、ドレイン端子はスクイブ15aに接続され、ソース端子は接地されている。 A
The
The
制御部21は、廃棄装置2の各構成部の動作を制御するCPUを備えたマイクロコンピュータであり、該CPUには、図示しないROM、RAM、I/Oポートが接続されている。
通信回路22は、ケーブルを介してエアバッグ制御装置1と接続するためのコネクタを備える。通信回路22は、制御部21の制御に従って、エアバッグ制御装置1との間で、エアバッグを強制的に展開させるための各種データを送受信するための回路である。
操作部23は、エアバッグを廃棄する際に、エアバッグを強制的に展開させるための操作を受け付けるためのボタン、スイッチ、タッチセンサなどであり、操作部23の操作状態は、制御部21によって検出できるように構成されている。 The discarding
The
The
The
以上の処理によれば、変数Aの内容が「0xAA」である場合、r16レジスタの内容が「0x00」になり、変数Aの内容が「0xAA」以外である場合、r16レジスタの内容が「0x00」以外になる。そして、以下の処理は、r16レジスタの内容が「0x00」である場合、エアバッグを強制的に展開させる処理が実行され、r16レジスタの内容が「0x00」以外である場合、強制終了されるようにプログラムされている。 4A and 4B are explanatory diagrams showing a method of converting execution source code into non-execution source code. FIG. 4A shows a part of the execution source code written in the assembly language. The assembly language shown in FIGS. 4A and 4B is a language for “NEC V850ES series microcomputer”. The execution source code shown in FIG. 4A corresponds to the process of step S32 shown in FIG. Specifically, in the first line program, the
According to the above processing, when the content of the variable A is “0xAA”, the content of the r16 register is “0x00”, and when the content of the variable A is other than “0xAA”, the content of the r16 register is “0x00”. It will be other than. The following processing is executed forcibly deploying the airbag when the content of the r16 register is “0x00”, and forcibly terminated when the content of the r16 register is other than “0x00”. Is programmed.
なお、2行目の「zxb」命令は、数値を、正負の数字を全て正のデータとして扱えるように符号拡張をCPU11に実行させるための命令である。 FIG. 4B is an example of non-executable source code. In FIG. 4B, as described above, part of the instruction code included in the execution source code is converted so that the content of the r16 register becomes “0x00” immediately before the execution of the “addi” instruction on the fourth line. Specifically, the “sxb” instruction on the second line is replaced with a “zxb” instruction, and the “or” instruction on the third line is replaced with an “xor” instruction. In particular, in the program on the third line after replacement, the
The “zxb” instruction on the second line is an instruction for causing the
そして、CPU11は、復元の終了を通知する復元終了通知データを、通信回路16にて廃棄装置2へ送信する(ステップS55)。 FIG. 10 is an explanatory diagram conceptually showing a general method for restoring execution code using mask data, and FIGS. 11A and 11B conceptually show a specific method for restoring execution code using mask data. FIG. 12 is a block diagram schematically showing a configuration example of the
Then, the
変形例1に係るエアバッグ制御装置1、プログラム実行不能化方法及びプログラム格納方法は、非実行化の方法のみが異なるため、以下では主に上記相異点について説明する。変形例1に係るプログラム格納方法は、実行ソースプログラムに含まれる一部の参照アドレスを、他の参照アドレスに置換することによって、実行不能にするものである。 (Modification 1)
Since the
なお、アドレスに格納される数値は、CPU11が誤動作した場合、予想し得ない数値に置き換わるおそれがあるため、命令コードも合わせて他の命令コードに置換しておく方が良い。以下では、説明の便宜上、参照メモリアドレスのみを置換した例を説明する。 FIG. 14A and FIG. 14B are explanatory diagrams showing an execution code and a non-execution code in which the execution source code and the non-execution source code in
Since the numerical value stored in the address may be replaced with an unexpected value when the
2 廃棄装置
3 電源
11 CPU
12 ROM
13 RAM
14 加速度センサ
15 点火回路
15a スクイブ
16 通信回路
21 制御部
22 通信回路
23 操作部
DESCRIPTION OF
12 ROM
13 RAM
DESCRIPTION OF
Claims (7)
- エアバッグを廃棄する際、コンピュータに、エアバッグを強制的に展開させる処理を実行させるための機械語プログラムを、実行が不能な状態に変換するプログラム実行不能化方法において、
前記機械語プログラムのソースプログラムに含まれる一部の命令コードを他の命令コードに置換、又は該ソースプログラムに含まれる一部の参照メモリアドレスを他の参照メモリアドレスに置換することによって、エアバッグを展開させることが不能なソースプログラムに変換するステップと、
エアバッグを展開させることが不能なソースプログラムを実行不能化機械語プログラムにコンパイルするステップと、
該実行不能化機械語プログラムを、エアバッグを強制的に展開させることが可能な前記機械語プログラムに復元するための復元データを作成するステップと
を有することを特徴とするプログラム実行不能化方法。 In a program execution disabling method for converting a machine language program for causing a computer to execute a process of forcibly deploying an air bag when the air bag is discarded,
By replacing some instruction codes included in the source program of the machine language program with other instruction codes, or by replacing some reference memory addresses included in the source program with other reference memory addresses Converting to a source program that cannot be expanded,
Compiling a source program incapable of deploying an airbag into an inexecutable machine language program;
And a step of creating restoration data for restoring the machine language program to the machine language program capable of forcibly deploying an airbag. - 前記復元データは、
前記実行不能化機械語プログラムと、前記機械語プログラムとの差分を示したデータを含む
ことを特徴とする請求項1に記載のプログラム実行不能化方法。 The restored data is
The program execution disabling method according to claim 1, further comprising data indicating a difference between the disabling machine language program and the machine language program. - 前記復元データは、
前記実行不能化機械語プログラムと、前記機械語プログラムとの排他的論理和を含む
ことを特徴とする請求項1に記載のプログラム実行不能化方法。 The restored data is
The program execution disablement method according to claim 1, comprising an exclusive OR of the disable execution machine language program and the machine language program. - 請求項1乃至請求項3のいずれか一つに記載のプログラム実行不能化方法を用いて作成された前記実行不能化機械語プログラム及び復元データを記憶部に格納させるステップを有する
ことを特徴とするプログラム格納方法。 A step of storing in the storage unit the non-executable machine language program and the restoration data created by using the program execution disable method according to any one of claims 1 to 3. Program storage method. - コンピュータに、前記復元データを用いて、前記実行不能化機械語プログラムを、前記機械語プログラムに復元する処理を実行させるための復元機械語プログラムを記憶部に格納させるステップを有する
ことを特徴とする請求項4に記載のプログラム格納方法。 A step of storing in the storage unit a restored machine language program for causing the computer to execute a process of restoring the non-executable machine language program to the machine language program using the restored data. The program storage method according to claim 4. - 請求項1乃至請求項3のいずれか一つに記載のプログラム実行不能化方法を用いて作成された前記実行不能化機械語プログラム及び復元データを格納した記憶部と、
該記憶部が格納している前記実行不能化機械語プログラム及び復元データに基づいて、前記実行不能化機械語プログラムを、前記機械語プログラムに復元し、該機械語プログラムを実行する制御部と、
前記機械語プログラムを実行した前記制御部の制御に従ってエアバッグを展開させる回路と
を備えることを特徴とするエアバッグ制御装置。 A storage unit storing the non-executable machine language program and restoration data created by using the program non-executable method according to any one of claims 1 to 3.
Based on the non-executable machine language program and the restoration data stored in the storage unit, the non-executable machine language program is restored to the machine language program and the machine language program is executed.
An air bag control apparatus comprising: a circuit that deploys an air bag according to control of the control unit that executes the machine language program. - エアバッグを廃棄する際に、該エアバッグを強制的に展開させる処理を実行するための機械語プログラムに含まれる一部の命令コードを他の命令コードに置換、又は該機械語プログラムに含まれる一部の参照メモリアドレスを他の参照メモリアドレスに置換することによって得られた実行不能化機械語プログラム、及び該実行不能化機械語プログラムを、前記機械語プログラムに復元するための復元データを格納した記憶部と、
該記憶部が格納している前記実行不能化機械語プログラム及び復元データに基づいて、前記実行不能化機械語プログラムを、前記機械語プログラムに復元し、該機械語プログラムを実行する制御部と、
前記機械語プログラムを実行した前記制御部の制御に従ってエアバッグを展開させる回路と
を備えることを特徴とするエアバッグ制御装置。
When discarding an airbag, a part of the instruction code included in the machine language program for executing the process of forcibly deploying the airbag is replaced with another instruction code, or included in the machine language program A non-executable machine language program obtained by replacing some reference memory addresses with other reference memory addresses, and restoration data for restoring the non-executable machine language program into the machine language program are stored. Storage unit
Based on the non-executable machine language program and the restoration data stored in the storage unit, the non-executable machine language program is restored to the machine language program and the machine language program is executed.
An air bag control apparatus comprising: a circuit that deploys an air bag according to control of the control unit that executes the machine language program.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011541867A JP5468086B2 (en) | 2009-11-20 | 2010-10-29 | Program execution disable method, program storage method and airbag control device |
CN201080052705.8A CN102666211B (en) | 2009-11-20 | 2010-10-29 | Method of disabling execution of program, method of storing program, and airbag control device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009265329 | 2009-11-20 | ||
JP2009-265329 | 2009-11-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011062044A1 true WO2011062044A1 (en) | 2011-05-26 |
Family
ID=44059527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/069261 WO2011062044A1 (en) | 2009-11-20 | 2010-10-29 | Method of disabling execution of program, method of storing program, and airbag control device |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP5468086B2 (en) |
CN (1) | CN102666211B (en) |
WO (1) | WO2011062044A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104670145B (en) * | 2013-11-27 | 2019-06-07 | 博世汽车部件(苏州)有限公司 | The method and apparatus of automotive safety buffering are provided |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1129003A (en) * | 1997-05-15 | 1999-02-02 | Toyota Motor Corp | Starting device of occupant protective device |
JPH11301391A (en) * | 1998-04-24 | 1999-11-02 | Keihin Corp | Air bag disposal device |
JPH11301387A (en) * | 1998-04-24 | 1999-11-02 | Keihin Corp | Air bag disposal device |
JPH11301388A (en) * | 1998-04-24 | 1999-11-02 | Keihin Corp | Air bag disposal device |
JPH11301390A (en) * | 1998-04-24 | 1999-11-02 | Keihin Corp | Air bag disposal device |
WO2004087468A1 (en) * | 2003-04-01 | 2004-10-14 | Robert Bosch Gmbh | Control unit for a restraint system |
JP2006256371A (en) * | 2005-03-15 | 2006-09-28 | Toyota Motor Corp | Starter of occupant crash protection device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19849079A1 (en) * | 1998-10-24 | 2000-04-27 | Bayerische Motoren Werke Ag | Process for disarming pyrotechnic actuators in a vehicle |
JP4266357B2 (en) * | 2004-03-29 | 2009-05-20 | 三菱電機株式会社 | In-vehicle electronic control unit |
-
2010
- 2010-10-29 WO PCT/JP2010/069261 patent/WO2011062044A1/en active Application Filing
- 2010-10-29 JP JP2011541867A patent/JP5468086B2/en active Active
- 2010-10-29 CN CN201080052705.8A patent/CN102666211B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1129003A (en) * | 1997-05-15 | 1999-02-02 | Toyota Motor Corp | Starting device of occupant protective device |
JPH11301391A (en) * | 1998-04-24 | 1999-11-02 | Keihin Corp | Air bag disposal device |
JPH11301387A (en) * | 1998-04-24 | 1999-11-02 | Keihin Corp | Air bag disposal device |
JPH11301388A (en) * | 1998-04-24 | 1999-11-02 | Keihin Corp | Air bag disposal device |
JPH11301390A (en) * | 1998-04-24 | 1999-11-02 | Keihin Corp | Air bag disposal device |
WO2004087468A1 (en) * | 2003-04-01 | 2004-10-14 | Robert Bosch Gmbh | Control unit for a restraint system |
JP2006256371A (en) * | 2005-03-15 | 2006-09-28 | Toyota Motor Corp | Starter of occupant crash protection device |
Also Published As
Publication number | Publication date |
---|---|
CN102666211B (en) | 2014-09-17 |
JP5468086B2 (en) | 2014-04-09 |
JPWO2011062044A1 (en) | 2013-04-04 |
CN102666211A (en) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111164577A (en) | Vehicle-mounted electronic control device and abnormal time processing method thereof | |
CN103688268A (en) | Vehicle unit and method for operating the vehicle unit | |
JP6139386B2 (en) | Programmable controller | |
CN107534592A (en) | For method, data/address bus transceiver and the data highway system of the configuration data for protecting data/address bus transceiver | |
US9654047B2 (en) | Drive device | |
US9778642B2 (en) | Protection unit for a programmable data-processing system | |
US20200233676A1 (en) | Bios management device, bios management system, bios management method, and bios management program-stored recording medium | |
JP2001515814A (en) | Method and apparatus for controlling data transmission between two modules provided in a motor vehicle | |
JP5468086B2 (en) | Program execution disable method, program storage method and airbag control device | |
KR101533813B1 (en) | Apparatus and method for controlling power relay assembly | |
CN114077729A (en) | Accelerated verification of automotive software in a vehicle | |
JP4591383B2 (en) | Bus communication system | |
ITMI20001380A1 (en) | PROCEDURE AND DEVICE FOR CHANGING THE MEMORY CONTENT OF CONTROL DEVICES. | |
US12050691B2 (en) | Security processing device | |
US7263421B2 (en) | Control unit for a restraint system | |
JP2002323902A (en) | Electronic controller | |
JP4254577B2 (en) | Control device | |
JP2012183877A (en) | Detection processing device of vehicle occupant protection system | |
KR102001420B1 (en) | Electronic Control Unit, Communication Security System and Method for Vehicle | |
JP2016126692A (en) | Electronic control device | |
JP2019061520A (en) | Electronic control device and control program verification method | |
JP4955417B2 (en) | Memory check system for electronic control unit | |
CN116569170A (en) | Control device | |
JP6714950B2 (en) | Control device for vehicle generator | |
KR101233591B1 (en) | Tuning protection method and apparatus for electronic control unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080052705.8 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10831439 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011541867 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10831439 Country of ref document: EP Kind code of ref document: A1 |