US20230185654A1 - Method for determining a reset cause of an embedded controller for a vehicle and an embedded controller for a vehicle to which the method is applied - Google Patents
Method for determining a reset cause of an embedded controller for a vehicle and an embedded controller for a vehicle to which the method is applied Download PDFInfo
- Publication number
- US20230185654A1 US20230185654A1 US17/874,608 US202217874608A US2023185654A1 US 20230185654 A1 US20230185654 A1 US 20230185654A1 US 202217874608 A US202217874608 A US 202217874608A US 2023185654 A1 US2023185654 A1 US 2023185654A1
- Authority
- US
- United States
- Prior art keywords
- log
- embedded controller
- reset
- cause
- vehicle
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0736—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
- G06F11/0739—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0769—Readable error formats, e.g. cross-platform generic formats, human understandable formats
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/28—DMA
Definitions
- the present disclosure relates to a vehicle. More particularly, the present disclosure relates to a method for determining a reset cause of an embedded controller for a vehicle and relates to an embedded controller for a vehicle to which the method is applied.
- an embedded system e.g., an electronic control unit (ECU), which is a system embedded in a vehicle
- ECU electronice control unit
- software firmware
- the embedded system refers to a device that performs only the functions specified by an original manufacturer by embedding a microprocessor or microcontroller and refers to a specific application system including hardware and software for performing special tasks.
- an embedded system is a system in which an operating system and application programs with real-time processing performance are driven using limited resources.
- the present disclosure provides a method for determining a cause of reset of an embedded controller for a vehicle that can determine a reset cause of the controller by collecting a log (or log file) during the runtime (or execution time) of the embedded controller for the vehicle.
- the present disclosure also provides an embedded controller for a vehicle to which the method is applied.
- a method for determining a reset cause of an embedded controller for a vehicle includes: executing an embedded controller for the vehicle by a central processing unit (CPU) of the embedded controller for a vehicle. The method also includes generating a log based on information related to reset of the embedded controller for a vehicle collected from the running embedded controller for the vehicle, and a sequence number generated by the running embedded controller for vehicle by the embedded controller for the vehicle. The method also includes determining cause information of a reset trigger by analyzing the log including the reset trigger log and determining reset cause information of the embedded controller for the vehicle based on the cause information of the reset trigger by a log analyzer of the embedded controller for a vehicle.
- CPU central processing unit
- the method also includes storing a cause analysis result log including the reset cause information in a cause analysis result buffer in response to the reset cause information by the embedded controller for a vehicle.
- the method also includes storing the cause analysis result log in a non-volatile storage device by the log recorder.
- the generating the log may include generating, by the log collector of the running embedded controller for the vehicle, a first log included in the log based on the information related to the reset of the embedded controller for a vehicle collected from the CPU of the running embedded controller for the vehicle, and the sequence number generated by the sequence number generator of the running embedded controller for the vehicle.
- the generating the log may also include generating a second log related to the reset of the embedded controller for the vehicle and including the log based on the sequence number generated by the sequence number generator by a direct memory access (DMA) of the running embedded controller for the vehicle.
- DMA direct memory access
- the first log may include a log including scheduler information related to a process task of an operating system of the embedded controller for the vehicle.
- the second log may include a log including a register value collected by the DMA controller and stored in a program counter, and the second log may also include a log including a register value collected by the DMA controller and stored at a stack pointer.
- the cause information of the reset trigger and the reset cause information may be already stored in a global buffer of the log analyzer.
- the non-volatile storage device may include an electrically erasable programmable read-only memory (EEPROM).
- EEPROM electrically erasable programmable read-only memory
- an embedded controller for a vehicle includes a sequence number generator that generates a sequence number.
- the embedded controller also includes a log collector that generates a first log based on information related to reset of the embedded controller for the vehicle and collected from a central processing unit (CPU) of the running embedded controller for the vehicle, and the sequence number.
- the embedded controller also includes a direct memory access (DMA) controller that generates a second log related to reset of the embedded controller for the vehicle based on the sequence number.
- the embedded controller also includes a log analyzer that determines cause information of a reset trigger by analyzing the first log including a reset trigger log and a second log and determines reset cause information of the embedded controller for the vehicle based on cause information of the reset trigger.
- the embedded controller also includes a log recorder that stores a cause analysis result log including the reset cause information in a cause analysis result buffer in response to the reset cause information and stores the cause analysis result log in a non-volatile storage device.
- the first log may include a log including scheduler information related to a process task of an operating system of the embedded controller for the vehicle.
- the second log may include a log including a register value collected by the DMA controller and stored in a program counter, and a log including a register value collected by the DMA controller and stored at a stack pointer.
- the cause information of the reset trigger and the reset cause information may be already stored in a global buffer of the log analyzer.
- the non-volatile storage device may include an electrically erasable programmable read-only memory (EEPROM).
- EEPROM electrically erasable programmable read-only memory
- the method for determining the cause of reset of the embedded controller for the vehicle can determine the cause of the reset of the controller by collecting logs during the runtime of the embedded controller for the vehicle.
- FIG. 1 is a flowchart illustrating a reset cause determination method of an embedded controller for a vehicle according to an embodiment of the present disclosure
- FIG. 2 is a block diagram depicting the embedded controller for vehicle to which the reset cause determination method shown in FIG. 1 applies;
- FIG. 3 is provided for description of a structure of a log stored in a CPU buffer shown in FIG. 2 ;
- FIG. 4 is provided for description of a structure of a log stored in a global buffer in one embodiment of the present disclosure.
- FIG. 5 is provided for description of a structure of a log stored in a cause analysis result buffer shown in FIG. 2 .
- HW controller hardware
- SW software
- FIG. 1 is a flowchart illustrating a reset cause determination method of an embedded controller for a vehicle according to an embodiment of the present disclosure.
- FIG. 2 is a schematical block diagram illustrating the embedded controller for vehicle to which the reset cause determination method shown in FIG. 1 applies in another embodiment of the present disclosure.
- FIG. 3 depicts a structure of a log stored in a CPU buffer shown in FIG. 2 .
- FIG. 4 illustrates a structure of a log stored in a global buffer.
- FIG. 5 describes a structure of a log stored in a cause analysis result buffer shown in FIG. 2 .
- a log collector 220 of an embedded controller for a vehicle may generate a first log based on information related to reset of the embedded controller for a vehicle, collected from a central processing unit (CPU) 230 , and a sequence number generated by a sequence number generator 270 of the running embedded controller for a vehicle.
- a direct memory access (DMA) controller 290 of the running embedded controller for a vehicle may generate a second log related to the reset of the embedded controller for a vehicle based on the sequence number generated by the sequence number generator 270 .
- the CPU 230 may execute the embedded controller for a vehicle.
- the DMA controller 290 does not use resources of the CPU 230 .
- the sequence number may indicate the generation order of the first log and the generation order of the second log.
- the first log may include a log including scheduler information about a processing task of an operating system (OS), which is software of the controller; a log including interrupt information about the priority of the interrupt of the controller's OS; a log including critical section information about synchronization tools such as a spinlock; a log including information about a trap (or a condition delivery point) of the OS of the controller; a log including information about input/output (I/O) functions of the OS of the controller; a log including information about a safety mechanism, which is a rule of the controller that causes a reset to occur in case of violation; a log including information about a watchdog timer that detects a CPU failure; a log including information about a register in which reset trigger information that has occurred after the controller reset is stored; a log including information about the register in which interrupt disabling information is stored; or a log including information about software (SW) reset of the controller after controller reset (e.g., cause of software (SW) reset).
- OS operating system
- SW software
- the second log may include a log including a register value collected by the DMA controller and stored in a program counter PC and may include a log including a register value collected by the DMA controller and stored at a stack pointer SP.
- a program counter and a stack pointer may be included in the CPU 230 .
- the first log and the second log illustrated in FIG. 3 may be stored in a CPU buffer 205 of a log analyzer 200 .
- the embedded controller for a vehicle such as a microprocessor includes a log analyzer 200 including a CPU buffer 205 and a global buffer 210 ; a log collector 220 ; a CPU 230 ; a log recorder 240 including a cause analysis result buffer 250 ; a sequence number generator 270 ; a non-volatile storage device 280 such as an electrically erasable programmable read-only memory (EEPROM); and a direct memory access (DMA) controller 290 .
- a log analyzer 200 including a CPU buffer 205 and a global buffer 210 ; a log collector 220 ; a CPU 230 ; a log recorder 240 including a cause analysis result buffer 250 ; a sequence number generator 270 ; a non-volatile storage device 280 such as an electrically erasable programmable read-only memory (EEPROM); and a direct memory access (DMA) controller 290 .
- EEPROM electrically erasable programmable read-only memory
- the CPU 230 such as a microprocessor may control the entire operation of the embedded controller for a vehicle that controls the operation of the vehicle.
- the CPU 230 may be operated by a program (i.e., a control logic), and the program is a series of instructions for performing a reset cause determination method of the embedded controller for a vehicle according to the embodiment of the present disclosure.
- the instruction may be stored in the memory of the embedded controller for vehicle.
- the CPU 230 may detect that the embedded controller for vehicle is reset.
- the log analyzer 200 determines the cause information of a reset trigger by analyzing the first log including the reset trigger log related to the reset of the detected embedded controller for a vehicle and by analyzing the second log.
- the log analyzer 200 also determines the reset cause information of the embedded controller for a vehicle based on the cause information of the reset trigger.
- the log including the cause information of the reset trigger, and the reset cause information shown in FIG. 4 may have already been stored in the global buffer 210 .
- the log recorder 240 includes reset cause information in response to the reset cause information, and the log recorder 240 may store the cause analysis result log shown in FIG. 5 in the cause analysis result buffer 250 .
- the reset trigger may include a software (SW) reset trigger (or an application reset trigger), a warm power-on reset trigger, or a cold power-on reset trigger.
- SW software
- the reset trigger may include a software (SW) reset trigger (or an application reset trigger), a warm power-on reset trigger, or a cold power-on reset trigger.
- the cause information of the reset trigger may include watchdog error information related to a watchdog timer corresponding to a software reset trigger, safety mechanism violation information corresponding to the reset trigger, or software reset request information corresponding to the software reset trigger.
- the cause information of the reset trigger may further include external health check failure information related to execution monitoring of the controller and may further include power supply failure information related to power supplied to the controller by a regulator corresponding to the warm power-on reset trigger and the cold power-on reset trigger.
- the reset cause information may include timing violation (e.g., task deadline miss of the OS) corresponding to the software reset request information; invalid data (e.g., an inappropriate condition value) corresponding to the software reset request information; stack overflow (e.g., stack overflow of the OS) corresponding to the software reset request information, access violation (e.g., an attempt to access an inaccessible area of memory) corresponding to the software reset request information; a semantic violation corresponding to the watchdog error information and the safety mechanism violation information; or unstable power supply corresponding to the power supply failure information (e.g., oversupplied power to the controller or insufficient power to operate the controller).
- timing violation e.g., task deadline miss of the OS
- invalid data e.g., an inappropriate condition value
- stack overflow e.g., stack overflow of the OS
- access violation e.g., an attempt to access an inaccessible area of memory
- a semantic violation corresponding to the watchdog error information and the safety mechanism violation information e.g., over
- the log recorder 240 may store (or record) the cause analysis result log stored in the cause analysis result buffer 250 in the non-volatile storage device 280 .
- the cause analysis result log stored in the non-volatile storage device 280 may be displayed to a developer of the embedded controller for a vehicle through the display device.
- the constituent elements or “-unit” or “-group” or a block or module used in the embodiment of the present disclosure can be implemented as tasks, classes, subroutines, processes, objects, execution threads, software such as a program, or hardware such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC), or a combination of the software and hardware.
- the constituent elements or “-unit” may be included in a computer-readable storage medium, or a part thereof may be dispersed and distributed in a plurality of computers.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
Description
- This application claims priority to and the benefit of Korean Patent Application No. 10-2021-0178080, filed in the Korean Intellectual Property Office on Dec. 13, 2021, the entire contents of which are incorporated herein by reference.
- The present disclosure relates to a vehicle. More particularly, the present disclosure relates to a method for determining a reset cause of an embedded controller for a vehicle and relates to an embedded controller for a vehicle to which the method is applied.
- In general, an embedded system (e.g., an electronic control unit (ECU), which is a system embedded in a vehicle) refers to a system in which software (firmware) that operates the system is embedded in hardware to perform only special functions. Unlike a general computer, it performs only predefined tasks. In other words, the embedded system refers to a device that performs only the functions specified by an original manufacturer by embedding a microprocessor or microcontroller and refers to a specific application system including hardware and software for performing special tasks.
- Unlike a personal computer that has an operating system that is built-in in a large capacity storage device such as a hard disk, an embedded system is a system in which an operating system and application programs with real-time processing performance are driven using limited resources.
- Features of such an embedded system include that it can process a specific function at a very high speed compared to a general computer.
- The above information disclosed in this Background section is only for enhancement of understanding of the background of the present disclosure, and therefore it may contain information that does not form the prior art that is already known to a person of ordinary skill in the art.
- The present disclosure provides a method for determining a cause of reset of an embedded controller for a vehicle that can determine a reset cause of the controller by collecting a log (or log file) during the runtime (or execution time) of the embedded controller for the vehicle. The present disclosure also provides an embedded controller for a vehicle to which the method is applied.
- In one embodiment of the present disclosure, a method for determining a reset cause of an embedded controller for a vehicle includes: executing an embedded controller for the vehicle by a central processing unit (CPU) of the embedded controller for a vehicle. The method also includes generating a log based on information related to reset of the embedded controller for a vehicle collected from the running embedded controller for the vehicle, and a sequence number generated by the running embedded controller for vehicle by the embedded controller for the vehicle. The method also includes determining cause information of a reset trigger by analyzing the log including the reset trigger log and determining reset cause information of the embedded controller for the vehicle based on the cause information of the reset trigger by a log analyzer of the embedded controller for a vehicle. The method also includes storing a cause analysis result log including the reset cause information in a cause analysis result buffer in response to the reset cause information by the embedded controller for a vehicle. The method also includes storing the cause analysis result log in a non-volatile storage device by the log recorder.
- The generating the log may include generating, by the log collector of the running embedded controller for the vehicle, a first log included in the log based on the information related to the reset of the embedded controller for a vehicle collected from the CPU of the running embedded controller for the vehicle, and the sequence number generated by the sequence number generator of the running embedded controller for the vehicle. The generating the log may also include generating a second log related to the reset of the embedded controller for the vehicle and including the log based on the sequence number generated by the sequence number generator by a direct memory access (DMA) of the running embedded controller for the vehicle.
- The first log may include a log including scheduler information related to a process task of an operating system of the embedded controller for the vehicle.
- The second log may include a log including a register value collected by the DMA controller and stored in a program counter, and the second log may also include a log including a register value collected by the DMA controller and stored at a stack pointer.
- The cause information of the reset trigger and the reset cause information may be already stored in a global buffer of the log analyzer.
- The non-volatile storage device may include an electrically erasable programmable read-only memory (EEPROM).
- In order to solve the problem, an embedded controller for a vehicle according to an embodiment of the present disclosure includes a sequence number generator that generates a sequence number. The embedded controller also includes a log collector that generates a first log based on information related to reset of the embedded controller for the vehicle and collected from a central processing unit (CPU) of the running embedded controller for the vehicle, and the sequence number. The embedded controller also includes a direct memory access (DMA) controller that generates a second log related to reset of the embedded controller for the vehicle based on the sequence number. The embedded controller also includes a log analyzer that determines cause information of a reset trigger by analyzing the first log including a reset trigger log and a second log and determines reset cause information of the embedded controller for the vehicle based on cause information of the reset trigger. The embedded controller also includes a log recorder that stores a cause analysis result log including the reset cause information in a cause analysis result buffer in response to the reset cause information and stores the cause analysis result log in a non-volatile storage device.
- The first log may include a log including scheduler information related to a process task of an operating system of the embedded controller for the vehicle.
- The second log may include a log including a register value collected by the DMA controller and stored in a program counter, and a log including a register value collected by the DMA controller and stored at a stack pointer.
- The cause information of the reset trigger and the reset cause information may be already stored in a global buffer of the log analyzer.
- The non-volatile storage device may include an electrically erasable programmable read-only memory (EEPROM).
- The method for determining the cause of reset of the embedded controller for the vehicle according to the above-described an embodiment of the present disclosure and the embedded controller for the vehicle to which the method is applied can determine the cause of the reset of the controller by collecting logs during the runtime of the embedded controller for the vehicle.
- In order that the disclosure may be well understood, there will now be described various forms thereof, given by way of example, reference being made to the accompanying drawings, in which:
-
FIG. 1 is a flowchart illustrating a reset cause determination method of an embedded controller for a vehicle according to an embodiment of the present disclosure; -
FIG. 2 is a block diagram depicting the embedded controller for vehicle to which the reset cause determination method shown inFIG. 1 applies; -
FIG. 3 is provided for description of a structure of a log stored in a CPU buffer shown inFIG. 2 ; -
FIG. 4 is provided for description of a structure of a log stored in a global buffer in one embodiment of the present disclosure; and -
FIG. 5 is provided for description of a structure of a log stored in a cause analysis result buffer shown inFIG. 2 . - The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way.
- In order to fully understand the present disclosure and the object achieved by the practice of the present disclosure, reference should be made to the accompanying drawings illustrating an embodiment of the present disclosure.
- Hereinafter, the present disclosure is described in detail by describing an embodiment of the present disclosure with reference to the accompanying drawings. In description of the present disclosure, when it is determined that a detailed description of a related known configuration or function may obscure the gist of the present disclosure, the detailed description has been omitted. The same reference signs presented in each drawing may indicate the same or equivalent constituent elements.
- The terminology used in the present specification is only used to describe a specific embodiment and is not intended to limit the present disclosure. Expressions in the singular include expressions of the plural unless the context clearly dictates otherwise. In the present specification, terms such as “include” or “comprise” are intended to designate the existence of a feature, number, step, action, constituent element, part, or combinations thereof described in the specification, and it should be understood that they do not preclude the possibility of the existence or addition of one or more other features, numbers, steps, actions, constituent elements, parts, or combinations thereof.
- Throughout this specification and the claims that follow, when it is described that an element is “coupled” to another element, this includes not only the case of “directly connected” but also the case of “electrically or mechanically connected” with other constituent elements in between.
- Unless defined otherwise, terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present disclosure belongs. Terms such as those defined in the generally-used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology. Unless explicitly defined in the present specification, they are not to be interpreted in an idealized or excessively formal meaning. When a component, device, element, or the like of the present disclosure is described as having a purpose or performing an operation, function, or the like, the component, device, or element should be considered herein as being “configured to” meet that purpose or to perform that operation or function.
- An unexpected reset phenomenon of an embedded controller for a vehicle is a problem that threatens safety and performance of the vehicle. However, since a reset generally initializes controller hardware (HW), which is a controller, and software (SW) included in the controller, it is difficult to find clues as to why, even though a memory area of the controller that is not initialized is used, it is difficult to select information that is needed to analyze the cause of a reset that occurs due to various reasons.
- In the technology for debugging according to the related technology, additional cost may be incurred because the information recorded for debugging is insufficient to analyze the cause of reset, or separate hardware is implemented to record information for debugging.
-
FIG. 1 is a flowchart illustrating a reset cause determination method of an embedded controller for a vehicle according to an embodiment of the present disclosure.FIG. 2 is a schematical block diagram illustrating the embedded controller for vehicle to which the reset cause determination method shown inFIG. 1 applies in another embodiment of the present disclosure.FIG. 3 depicts a structure of a log stored in a CPU buffer shown inFIG. 2 .FIG. 4 illustrates a structure of a log stored in a global buffer.FIG. 5 describes a structure of a log stored in a cause analysis result buffer shown inFIG. 2 . - Referring to
FIG. 1 -FIG. 5 , ingeneration 100, alog collector 220 of an embedded controller for a vehicle may generate a first log based on information related to reset of the embedded controller for a vehicle, collected from a central processing unit (CPU) 230, and a sequence number generated by asequence number generator 270 of the running embedded controller for a vehicle. A direct memory access (DMA)controller 290 of the running embedded controller for a vehicle may generate a second log related to the reset of the embedded controller for a vehicle based on the sequence number generated by thesequence number generator 270. TheCPU 230 may execute the embedded controller for a vehicle. TheDMA controller 290 does not use resources of theCPU 230. The sequence number may indicate the generation order of the first log and the generation order of the second log. - For example, the first log may include a log including scheduler information about a processing task of an operating system (OS), which is software of the controller; a log including interrupt information about the priority of the interrupt of the controller's OS; a log including critical section information about synchronization tools such as a spinlock; a log including information about a trap (or a condition delivery point) of the OS of the controller; a log including information about input/output (I/O) functions of the OS of the controller; a log including information about a safety mechanism, which is a rule of the controller that causes a reset to occur in case of violation; a log including information about a watchdog timer that detects a CPU failure; a log including information about a register in which reset trigger information that has occurred after the controller reset is stored; a log including information about the register in which interrupt disabling information is stored; or a log including information about software (SW) reset of the controller after controller reset (e.g., cause of software (SW) reset).
- For example, the second log may include a log including a register value collected by the DMA controller and stored in a program counter PC and may include a log including a register value collected by the DMA controller and stored at a stack pointer SP. For example, a program counter and a stack pointer may be included in the
CPU 230. - The first log and the second log illustrated in
FIG. 3 may be stored in aCPU buffer 205 of alog analyzer 200. - The embedded controller for a vehicle such as a microprocessor includes a
log analyzer 200 including aCPU buffer 205 and aglobal buffer 210; alog collector 220; aCPU 230; alog recorder 240 including a causeanalysis result buffer 250; asequence number generator 270; anon-volatile storage device 280 such as an electrically erasable programmable read-only memory (EEPROM); and a direct memory access (DMA)controller 290. - The
CPU 230 such as a microprocessor may control the entire operation of the embedded controller for a vehicle that controls the operation of the vehicle. TheCPU 230 may be operated by a program (i.e., a control logic), and the program is a series of instructions for performing a reset cause determination method of the embedded controller for a vehicle according to the embodiment of the present disclosure. The instruction may be stored in the memory of the embedded controller for vehicle. - According to step 120, the
CPU 230 may detect that the embedded controller for vehicle is reset. - According to step 140, the
log analyzer 200 determines the cause information of a reset trigger by analyzing the first log including the reset trigger log related to the reset of the detected embedded controller for a vehicle and by analyzing the second log. Thelog analyzer 200 also determines the reset cause information of the embedded controller for a vehicle based on the cause information of the reset trigger. The log including the cause information of the reset trigger, and the reset cause information shown inFIG. 4 , may have already been stored in theglobal buffer 210. Thelog recorder 240 includes reset cause information in response to the reset cause information, and thelog recorder 240 may store the cause analysis result log shown inFIG. 5 in the causeanalysis result buffer 250. - For example, the reset trigger may include a software (SW) reset trigger (or an application reset trigger), a warm power-on reset trigger, or a cold power-on reset trigger.
- For example, the cause information of the reset trigger may include watchdog error information related to a watchdog timer corresponding to a software reset trigger, safety mechanism violation information corresponding to the reset trigger, or software reset request information corresponding to the software reset trigger.
- The cause information of the reset trigger may further include external health check failure information related to execution monitoring of the controller and may further include power supply failure information related to power supplied to the controller by a regulator corresponding to the warm power-on reset trigger and the cold power-on reset trigger.
- For example, the reset cause information may include timing violation (e.g., task deadline miss of the OS) corresponding to the software reset request information; invalid data (e.g., an inappropriate condition value) corresponding to the software reset request information; stack overflow (e.g., stack overflow of the OS) corresponding to the software reset request information, access violation (e.g., an attempt to access an inaccessible area of memory) corresponding to the software reset request information; a semantic violation corresponding to the watchdog error information and the safety mechanism violation information; or unstable power supply corresponding to the power supply failure information (e.g., oversupplied power to the controller or insufficient power to operate the controller).
- According to step 160, the
log recorder 240 may store (or record) the cause analysis result log stored in the causeanalysis result buffer 250 in thenon-volatile storage device 280. For example, the cause analysis result log stored in thenon-volatile storage device 280 may be displayed to a developer of the embedded controller for a vehicle through the display device. - The constituent elements or “-unit” or “-group” or a block or module used in the embodiment of the present disclosure can be implemented as tasks, classes, subroutines, processes, objects, execution threads, software such as a program, or hardware such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC), or a combination of the software and hardware. The constituent elements or “-unit” may be included in a computer-readable storage medium, or a part thereof may be dispersed and distributed in a plurality of computers.
- As above, the embodiment was disclosed in drawings and the specification. Here, although specific terms have been used, these are only used for the purpose of describing the present disclosure and are not to be used to limit the meaning or range of the present disclosure described in the claims range. Therefore, a person of ordinary skill in this technical field should be able to understand that numerous variations and equivalent embodiments are possible from the present disclosure. Therefore, the true technical protection range of the present disclosure should be determined by the technical idea of the appended claims range.
-
-
- 200: log analyzer
- 205: CPU buffer
- 210: global buffer
- 220: log collector
- 230: CPU
- 240: log recorder
- 250: cause analysis result buffer
- 270: sequence number generator
- 280: non-volatile storage device
- 290: DMA controller
Claims (11)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2021-0178080 | 2021-12-13 | ||
| KR1020210178080A KR20230089448A (en) | 2021-12-13 | 2021-12-13 | Method for determining reset cause of embedded controller for vehicle and embedded controller for vehicle to which the method is applied |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20230185654A1 true US20230185654A1 (en) | 2023-06-15 |
| US11847017B2 US11847017B2 (en) | 2023-12-19 |
Family
ID=86695673
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/874,608 Active 2042-07-27 US11847017B2 (en) | 2021-12-13 | 2022-07-27 | Method for determining a reset cause of an embedded controller for a vehicle and an embedded controller for a vehicle to which the method is applied |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US11847017B2 (en) |
| KR (1) | KR20230089448A (en) |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090153290A1 (en) * | 2007-12-14 | 2009-06-18 | Farpointe Data, Inc., A California Corporation | Secure interface for access control systems |
| US20150113334A1 (en) * | 2013-10-18 | 2015-04-23 | Ashok Raj | Determine when an error log was created |
| US20150278001A1 (en) * | 2014-03-26 | 2015-10-01 | Denso Corporation | Electronic control unit |
| US20160132378A1 (en) * | 2014-11-12 | 2016-05-12 | Hyundai Motor Company | Method and apparatus for controlling watchdog |
| US20180081762A1 (en) * | 2015-03-23 | 2018-03-22 | Kabushiki Kaisha Toshiba | Information processing device |
| US20180257663A1 (en) * | 2017-03-07 | 2018-09-13 | GM Global Technology Operations LLC | Method and apparatus for monitoring an on-vehicle controller |
| US20190272218A1 (en) * | 2018-03-01 | 2019-09-05 | Omron Corporation | Computer and control method thereof |
| US10545850B1 (en) * | 2018-10-18 | 2020-01-28 | Denso International America, Inc. | System and methods for parallel execution and comparison of related processes for fault protection |
| US20230032305A1 (en) * | 2021-07-30 | 2023-02-02 | Nvidia Corporation | Communicating faults to an isolated safety region of a system on a chip |
| US20230073830A1 (en) * | 2020-03-28 | 2023-03-09 | Robert Bosch Gmbh | Method for handling an anomaly of data, in particular in a motor vehicle |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100868762B1 (en) | 2006-12-01 | 2008-11-17 | 삼성전자주식회사 | Error detection method of embedded software |
| KR101018080B1 (en) | 2009-11-26 | 2011-03-02 | 주식회사 케피코 | Memory data collection method of embedded system using DM |
| KR101584783B1 (en) | 2014-12-26 | 2016-01-12 | 삼성전자서비스 주식회사 | Test apparatus and method for reset of portable communication terminal |
-
2021
- 2021-12-13 KR KR1020210178080A patent/KR20230089448A/en active Pending
-
2022
- 2022-07-27 US US17/874,608 patent/US11847017B2/en active Active
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090153290A1 (en) * | 2007-12-14 | 2009-06-18 | Farpointe Data, Inc., A California Corporation | Secure interface for access control systems |
| US20150113334A1 (en) * | 2013-10-18 | 2015-04-23 | Ashok Raj | Determine when an error log was created |
| US20150278001A1 (en) * | 2014-03-26 | 2015-10-01 | Denso Corporation | Electronic control unit |
| US20160132378A1 (en) * | 2014-11-12 | 2016-05-12 | Hyundai Motor Company | Method and apparatus for controlling watchdog |
| US20180081762A1 (en) * | 2015-03-23 | 2018-03-22 | Kabushiki Kaisha Toshiba | Information processing device |
| US20180257663A1 (en) * | 2017-03-07 | 2018-09-13 | GM Global Technology Operations LLC | Method and apparatus for monitoring an on-vehicle controller |
| US20190272218A1 (en) * | 2018-03-01 | 2019-09-05 | Omron Corporation | Computer and control method thereof |
| US10545850B1 (en) * | 2018-10-18 | 2020-01-28 | Denso International America, Inc. | System and methods for parallel execution and comparison of related processes for fault protection |
| US20230073830A1 (en) * | 2020-03-28 | 2023-03-09 | Robert Bosch Gmbh | Method for handling an anomaly of data, in particular in a motor vehicle |
| US20230032305A1 (en) * | 2021-07-30 | 2023-02-02 | Nvidia Corporation | Communicating faults to an isolated safety region of a system on a chip |
Also Published As
| Publication number | Publication date |
|---|---|
| US11847017B2 (en) | 2023-12-19 |
| KR20230089448A (en) | 2023-06-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3198399B1 (en) | Detecting a change to system management mode bios code | |
| US8595552B2 (en) | Reset method and monitoring apparatus | |
| US10380336B2 (en) | Information-processing device, information-processing method, and recording medium that block intrusion of malicious program to kernel | |
| US20030135720A1 (en) | Method and system using hardware assistance for instruction tracing with secondary set of interruption resources | |
| JP4678396B2 (en) | Computer and method for monitoring virtual machine monitor, and virtual machine monitor monitor program | |
| CN103430158B (en) | Use Execution Single Step to Diagnose Coding | |
| US7984282B2 (en) | Evasion of power on self test during an operating system initiated reboot | |
| GB2281986A (en) | Logging program counter on reset. | |
| CN104205043B (en) | Hides the logical processor from the operating system on the computer | |
| US7120788B2 (en) | Method and system for shutting down and restarting a computer system | |
| US6968410B2 (en) | Multi-threaded processing of system management interrupts | |
| WO2013101248A1 (en) | Hardware protection of virtual machine monitor runtime integrity watcher | |
| CN101027647B (en) | Method for executing a computer program on a computer system | |
| US6725368B1 (en) | System for executing a post having primary and secondary subsets, wherein the secondary subset is executed subsequently to the primary subset in the background setting | |
| US9928079B2 (en) | Conditional processor auto boot with no boot loader when coupled with a nonvolatile memory | |
| US11847017B2 (en) | Method for determining a reset cause of an embedded controller for a vehicle and an embedded controller for a vehicle to which the method is applied | |
| US8312433B2 (en) | Operating system aided code coverage | |
| US6961923B2 (en) | Method of detecting zombie breakpoints | |
| CN101027646A (en) | Method for processing a computer program on a computer system | |
| WO2012069830A1 (en) | A method and system for identifying the end of a task and for notifying a hardware scheduler thereof | |
| KR101022468B1 (en) | Embedded computer system can reduce the reboot time of abnormally terminated systems | |
| US20070005860A1 (en) | Interrupt control system and method | |
| US11152076B2 (en) | Apparatus and method for executing debug instructions | |
| US20190332510A1 (en) | Detecting a change to system management mode bios code | |
| US20230013428A1 (en) | Function execution in system management modes |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: IUCF-HYU (INDUSTRY-UNIVERSITY COOPERATION FOUNDATION HANYANG UNIVERSITY), KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YOON, HYUNMIN;RYU, MINSOO;JUNG, SEOKYONG;AND OTHERS;SIGNING DATES FROM 20220706 TO 20220712;REEL/FRAME:060646/0701 Owner name: KIA CORPORATION, KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YOON, HYUNMIN;RYU, MINSOO;JUNG, SEOKYONG;AND OTHERS;SIGNING DATES FROM 20220706 TO 20220712;REEL/FRAME:060646/0701 Owner name: HYUNDAI MOTOR COMPANY, KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YOON, HYUNMIN;RYU, MINSOO;JUNG, SEOKYONG;AND OTHERS;SIGNING DATES FROM 20220706 TO 20220712;REEL/FRAME:060646/0701 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |