KR20130050501A - In-vehicle debugging system for ecu and method thereof - Google Patents

In-vehicle debugging system for ecu and method thereof Download PDF

Info

Publication number
KR20130050501A
KR20130050501A KR1020110115601A KR20110115601A KR20130050501A KR 20130050501 A KR20130050501 A KR 20130050501A KR 1020110115601 A KR1020110115601 A KR 1020110115601A KR 20110115601 A KR20110115601 A KR 20110115601A KR 20130050501 A KR20130050501 A KR 20130050501A
Authority
KR
South Korea
Prior art keywords
protocol
ecu
software
debugger
vehicle
Prior art date
Application number
KR1020110115601A
Other languages
Korean (ko)
Other versions
KR101420481B1 (en
Inventor
강환준
Original Assignee
주식회사 만도
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 만도 filed Critical 주식회사 만도
Priority to KR1020110115601A priority Critical patent/KR101420481B1/en
Publication of KR20130050501A publication Critical patent/KR20130050501A/en
Application granted granted Critical
Publication of KR101420481B1 publication Critical patent/KR101420481B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3852Converter between protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40241Flexray

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PURPOSE: A vehicle ECU debugging system and a method thereof are provided to accurately analyze software in detail by preventing the reset of an ECU even though the software of the ECU is debugged based on JTAG(Joint Test Action Group)/BDM(Background Debug Mode) protocols. CONSTITUTION: Debuggers(60,70) debug software of an ECU installed in a vehicle. A first converting module(40) is connected with the ECU and converts a first protocol used for communication with the ECU and a second protocol used for a vehicle network. A second converting module(50) is installed in the outside of the vehicle to be connected with the vehicle network, performs communication with the first converting module based on the second protocol, communicates with the debuggers based on the first protocol, and mutually converts the first and the second protocols. [Reference numerals] (40) First converting module; (50) Second converting module; (60) MCU debugger; (70) DSP debugger

Description

차량용 ECU 디버깅 시스템 및 그 방법{IN-VEHICLE DEBUGGING SYSTEM FOR ECU AND METHOD THEREOF}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an ECU debugging system,

본 발명은 차량의 ECU 소프트웨어를 디버깅하는 기술에 관한 것으로서, 보다 상세하게는, JTAG/BDM 프로토콜을 이용하여 ECU의 소프트웨어를 원하는 부분마다 상세하게 분석할 수 있도록 하는 차량용 ECU 디버깅 시스템 및 그 방법에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technology for debugging ECU software of a vehicle, and more particularly, to a vehicular ECU debugging system and method for analyzing software of an ECU using a JTAG / BDM protocol will be.

ECU(Electronic Control Unit)는 자동차의 엔진, 자동변속기, TCU(Transmission Control Unit), EPS(Electric Power Steering), ABS(Anti-lock Brake System) 등의 상태를 컴퓨터로 제어하는 전자제어 장치이다. An electronic control unit (ECU) is an electronic control unit that controls the states of an automobile engine, an automatic transmission, a TCU (Transmission Control Unit), an EPS (Electric Power Steering), and an ABS (Anti-lock Brake System).

ECU는 자동차의 안전성을 높이기 위해 사용되기 때문에 ECU에 에러나 버그가 있는 경우, 운전자 및 동승자의 안전에 문제가 생길 수 있다. 이에, ECU를 테스트하여 에러코드 수신시 어떤 동작을 나타내는지, ECU가 원하는 출력값을 출력하는지, 원하는 네트워크 디자인대로 실행되는지 등을 파악할 필요가 있다. 그리고, 테스트 결과가 만족스럽지 않은 경우, 탑재된 해당 응용 프로그램에 대한 변경 작업이나 리프로그래밍 같은 업데이트를 수행해야 한다. The ECU is used to increase the safety of the vehicle, so if there is an error or a bug in the ECU, the safety of the driver and the passenger may be deteriorated. Therefore, it is necessary to test the ECU to find out what kind of operation is indicated when an error code is received, whether the ECU outputs a desired output value, whether the desired network design is executed or the like. And, if the test results are not satisfactory, it is necessary to perform an update such as a change operation or reprogramming for the mounted application program.

이러한 ECU는 외부의 프로그램 개발을 위한 PC에 연결되어 디버깅되며, 현재 사용되고 있는 대다수의 ECU가 JTAG/BDM(Joint Test Action Group/Background Debug Mode) 포트를 이용하여 CPU 내부자원에 접근할 수 있도록 지원하고 있다. 그런데, 기존의 차량 환경에 JTAG/BDM 포트를 사용하지 못하고 있다. 이는, 기존에 차량 환경에서는 차량용 ECU가 장착되는 위치인 엔진룸이 외부 노이즈가 많은 환경이고, JTAG/BDM 통신선은 리셋(reset)기능을 가지고 있어 외부 노이즈에 의해 ECU가 리셋될 수 있기 때문이다. These ECUs are connected to a PC for external program development and are debugged. Most of the ECUs currently in use support JTAG / BDM (Joint Test Action Group / Background Debug Mode) ports to access CPU internal resources have. However, JTAG / BDM ports can not be used in existing vehicle environments. This is because the engine room, which is the location where the ECU for the vehicle is mounted in the vehicle environment, is an environment with a lot of external noise, and the JTAG / BDM communication line has a reset function so that the ECU can be reset by the external noise.

이에 따라, 기존에는 ECU 개발시, CCP/XCP(Common Communication Protocol)과 같은 통신 프로토콜을 사용하여 CPU 내부 자원에 접근하고 있다. 이렇게 CPU에서 지원하는 통신 프로토콜이 아닌 CCP/XCP 프로토콜을 사용하는 경우, JATG/BDM 프로토콜을 사용할 때보다 프로그램을 개발하는데 있어 최적의 환경을 제공하기 어렵기 때문에 최적의 프로그램 개발이 용이하지 않을 수 있다. Accordingly, in the development of ECU, communication resources such as CCP / XCP (Common Communication Protocol) are used to access CPU internal resources. When the CCP / XCP protocol is used instead of the communication protocol supported by the CPU, it may be difficult to develop an optimum program because it is difficult to provide an optimal environment for developing a program than using the JATG / BDM protocol .

이러한 배경에서, 본 발명의 목적은, JTAG/BDM 프로토콜을 이용하여 ECU를 디버깅할 수 있도록 함으로써, 정확한 디버깅이 가능하도록 하여 최적의 프로그램 개발이 용이하도록 하는 차량용 ECU 디버깅 시스템 및 그 방법을 제공하는 것이다. In view of the above, it is an object of the present invention to provide an ECU debugging system for a vehicle and a method thereof, which enable debugging of an ECU using a JTAG / BDM protocol to enable accurate debugging, thereby facilitating optimum program development .

전술한 목적을 달성하기 위하여, 일 측면에서, 본 발명은, 차량에 탑재된 ECU의 소프트웨어를 디버깅하는 디버거; In order to achieve the above object, in one aspect, the present invention provides a debugging apparatus comprising: a debugger for debugging software of an ECU mounted on a vehicle;

상기 ECU와 연결되며, 상기 ECU와의 통신에 사용되는 제1프로토콜과, 차량용 네트워크에서 사용되는 제2프로토콜을 상호 변환하는 제1변환모듈; 및A first conversion module connected to the ECU, for converting a first protocol used for communication with the ECU and a second protocol used for the vehicle network; And

상기 차량용 네트워크에 연결되도록 상기 차량의 외부에 설치되며, 상기 제2프로토콜을 이용하여 상기 제1변환모듈과 통신하고 상기 디버거와는 상기 제1프로토콜을 이용하여 통신하며, 상기 제2프로토콜과 상기 제1프로토콜을 상호 변환하는 제2변환모듈;을 포함하는 차량용 ECU 디버깅 시스템을 제공한다. Is installed outside the vehicle to be connected to the vehicle network, and communicates with the first conversion module using the second protocol, and communicates with the debugger using the first protocol, the second protocol and the first It provides a vehicle ECU debugging system comprising; a second conversion module for converting one protocol to each other.

다른 측면에서, 본 발명은, 차량에 탑재된 ECU로부터 전달된 데이터의 프로토콜을 제1프로토콜에서 차량용 네트워크에서 사용되는 제2프로토콜로 변환하는 단계; 상기 제2프로토콜을 통해 차량의 외부로 상기 데이터를 전달하는 단계; 상기 데이터의 프로토콜을 제2프로토콜에서 제1프로토콜로 변환하는 단계; 상기 제1프로토콜을 이용하여 전달된 데이터를 디버깅하는 단계; 디버깅 결과 발생한 업데이트용 데이터의 프로토콜을 상기 제1프로토콜에서 상기 제2프로토콜로 변환하는 단계; 상기 제2프로토콜을 이용하여 차량의 내부로 상기 업데이트용 데이터를 전달하는 단계; 및 상기 업데이트용 데이터의 프로토콜을 상기 제2프로토콜에서 상기 제1프로토콜로 변환하여 ECU로 전달하는 단계;를 포함하는 차량용 ECU 디버깅 방법을 제공한다. In another aspect, the present invention includes the steps of: converting a protocol of data delivered from a vehicle-mounted ECU from a first protocol to a second protocol used in a vehicular network; Transferring the data out of the vehicle through the second protocol; Converting a protocol of the data from a second protocol to a first protocol; Debugging data communicated using the first protocol; Converting a protocol of update data generated as a result of the debugging from the first protocol to the second protocol; Transferring the update data to the interior of the vehicle using the second protocol; And converting the protocol of the update data from the second protocol to the first protocol and delivering the protocol to the ECU.

이상에서 설명한 바와 같이 본 발명에 의하면, 실차환경에서 JTAG/BDM 프로토콜을 이용하여 ECU의 소프트웨어를 디버깅하더라도 ECU가 리셋되는 것을 방지함으로써, 소프트웨어를 상세하고 정확하게 분석할 수 있다. 이렇게 실차환경에서 정확한 디버깅이 가능함에 따라, 최적의 소프트웨어 개발이 가능하고, 소프트웨어의 개발기간을 단축할 수 있다는 효과가 있다.As described above, according to the present invention, it is possible to analyze the software in detail and precisely by preventing the ECU from being reset even if the software of the ECU is debugged using the JTAG / BDM protocol in an actual vehicle environment. In this way, accurate debugging is possible in an actual vehicle environment, so that optimal software development is possible and the development period of the software can be shortened.

도 1은 본 발명의 일 실시예에 따른 차량용 ECU 디버깅 시스템을 도시한 구성도,
도 2는 도 1의 차량용 ECU 디버깅 시스템에서 ECU의 소프트웨어를 디버깅하는 과정을 도시한 흐름도이다.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a configuration diagram of a vehicle ECU debugging system according to an embodiment of the present invention;
2 is a flowchart illustrating a process of debugging software of an ECU in the vehicle ECU debugging system of FIG.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are used to refer to the same components as much as possible even if displayed on different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. When a component is described as being "connected", "coupled", or "connected" to another component, the component may be directly connected to or connected to the other component, It should be understood that an element may be "connected," "coupled," or "connected."

도 1은 본 발명의 일 실시예에 따른 차량용 ECU 디버깅 시스템을 도시한 구성도이다. FIG. 1 is a configuration diagram showing a vehicle ECU debugging system according to an embodiment of the present invention.

본 발명은 ECU(10)에 탑재된 소프트웨어를 디버깅하기 위한 ECU(10) 디버깅 시스템에 관한 것으로서, ECU(10)에 탑재된 소프트웨어를 라인 단위로 실행하고 분석할 수 있도록 함으로써, 정확한 분석과 수정이 가능하도록 한다.The present invention relates to an ECU (10) debugging system for debugging software installed in an ECU (10), in which software installed in the ECU (10) can be executed and analyzed line by line, .

일반적으로 차량용 ECU(10)는, MCU(20)(Micro Control unit)와 DSP(30)(Dynamic Shift Program)를 포함한다. 여기서, MCU(20)는 ECU(10)에서 제어 및 연산을 담당하며, 사고 피해를 줄이고 사고의 예방이 가능하도록 고속, 고성능의 프로세싱 능력과 충분한 용량의 메모리를 구비하고 있다. In general, the ECU 10 for a vehicle includes an MCU 20 (Micro Control Unit) and a DSP 30 (Dynamic Shift Program). Here, the MCU 20 is in charge of control and arithmetic operations in the ECU 10, and has a high-speed, high-performance processing capability and a sufficient capacity memory so as to reduce an accidental injury and prevent an accident.

DSP(30)는 운전자의 주행 취향 또는 도로 상황에 맞게 변속 시기를 자동으로 조정해 주는 장치로서, DRP(Dynamic Rgulating Program)라고도 한다. DSP(30)는 차량 속도, 엔진 회전수, 액셀러레이터 개방 정도, 페달 밟는 속도 등을 점검하여 운전자의 주행 취향을 파악하고, 센서를 이용하여 노면 상황을 점검한 뒤 컴퓨터로 이들 항목을 학습하여 변속 프로그램을 제어한다. The DSP 30 is a device that automatically adjusts the shift timing according to the driving preference of the driver or the road conditions, and is also referred to as DRP (Dynamic Ranging Program). The DSP 30 checks the vehicle speed, the engine speed, the accelerator opening degree, the pedaling speed, etc. to determine the driving preference of the driver, checks the road surface condition using the sensor, .

이렇게 MCU(20)와 DSP(30)를 포함하는 ECU(10)는, 차량 내부, 예를 들면 엔진 룸 또는 범퍼 등에 장착되어 있다. 그리고 MCU(20)와 DSP(30)는 각각 JTAG/BDM(Joint Test Action Group/Background Debug Mode) 포트를 구비하고 있다. The ECU 10 including the MCU 20 and the DSP 30 is mounted inside the vehicle, for example, in an engine room or a bumper. The MCU 20 and the DSP 30 each have a JTAG / BDM (Joint Test Action Group / Background Debug Mode) port.

JTAG/BDM 프로토콜은 일반적으로 임베디드 시스템 개발에 사용하며, 디바이스 간 연결 상태를 테스트하고, 칩 내부를 조사 및 제어할 수 있다. 이에 따라, 본 발명에서는 JTAG/BDM 프로토콜을 이용하여 MCU(20)와 DSP(30)의 내부자원에 접근하여 상태를 테스트할 수 있다. The JTAG / BDM protocol is generally used for embedded system development, testing the connection state between devices, and checking and controlling the inside of the chip. Accordingly, in the present invention, the internal resources of the MCU 20 and the DSP 30 can be accessed and tested using the JTAG / BDM protocol.

본 발명에 따른 ECU(10) 디버깅 시스템은, 차량에 탑재된 ECU(10)를 차량용 네트워크에 연결하는 제1변환모듈(40), ECU(10)의 소프트웨어를 디버깅하고 업데이트하는 디버거(Debugger), 제1변환모듈(40)과 디버거를 연결하는 제2변환모듈(50)을 포함한다. The ECU 10 debugging system according to the present invention includes a first conversion module 40 for connecting the ECU 10 mounted on the vehicle to a vehicle network, a debugger for debugging and updating the software of the ECU 10, And a second conversion module 50 connecting the first conversion module 40 and the debugger.

제1변환모듈(40)은, ECU(10)와 제2변환모듈(50)을 연결하여 ECU(10)가 프로그래밍 장치에 접속되도록 한다. 제1변환모듈(40)은, MCU(20)의 JTAG/BDM 포트에 연결되는 제1포트와, DSP(30)의 JTAG/BDM 포트에 연결되는 제2포트를 구비한다. 이에 따라, 제1포트와 제2포트는 모두 JTAG/BDM 포트이며, MCU(20)와 DSP(30)는 각각 JTAG/BDM 프로토콜을 이용하여 제1변환모듈(40)과 통신할 수 있다. The first conversion module 40 connects the ECU 10 and the second conversion module 50 so that the ECU 10 is connected to the programming device. The first conversion module 40 has a first port connected to the JTAG / BDM port of the MCU 20 and a second port connected to the JTAG / BDM port of the DSP 30. Accordingly, the first port and the second port are both JTAG / BDM ports, and the MCU 20 and the DSP 30 can communicate with the first conversion module 40 using the JTAG / BDM protocol, respectively.

또한, 제1변환모듈(40)은, 제2변환모듈(50)과 연결되는 제3포트를 포함하며, 제3포트는 이더넷(Ethernet) 또는 FlexRay이다. 이에 따라, 제1변환모듈(40)과 제2변환모듈(50)은, 차량용 고속 통신선인 이더넷(Ethernet) 또는 FlexRay를 이용하여 통신할 수 있다. Also, the first conversion module 40 includes a third port connected to the second conversion module 50, and the third port is Ethernet or FlexRay. Accordingly, the first conversion module 40 and the second conversion module 50 can communicate using Ethernet or FlexRay, which is a high-speed communication line for a vehicle.

여기서, 이더넷은 LAN(Local Area Network)을 지원하기 위한 네트워크 프로토콜이고, FlexRay는 차량 전용 프로토콜이다. Here, Ethernet is a network protocol for supporting a LAN (Local Area Network), and FlexRay is a vehicle-only protocol.

FlexRay는 효율적인 빠른 데이터 전송속도를 가진 time-triggered 통신 시스템에 기초를 두고 있으며, 기존에 차량에 장착된 제어 유닛들 간에 교환되는 데이터 양이 증가하여 메시지 전송의 시간 결정(time determinaation)과 오류 허용한계(error tolerance)에 관련된 수요가 증대됨에 따라 개발되었다. FlexRay is based on a time-triggered communication system with an efficient and fast data transfer rate, and the amount of data exchanged between the control units mounted on the vehicle has increased, so that the time determina- tion of message transmission and the error tolerance as the demand related to error tolerance increased.

제1변환모듈(40)은 MCU(20)와 연결되는 제1포트와, DSP(30)와 연결되는 제2포트와, 제2변환모듈(50)과 연결되는 제3포트를 구비하고 있다. 이 중, 제1포트와 제2포트는 MCU(20) 및 DSP(30)와 JTAG/BDM 프로토콜을 이용하여 통신하고, 제3포트는 이더넷 또는 Flexray 프로토콜을 이용하여 통신할 수 있다. The first conversion module 40 includes a first port connected to the MCU 20, a second port connected to the DSP 30, and a third port connected to the second conversion module 50. The first port and the second port communicate with the MCU 20 and the DSP 30 using the JTAG / BDM protocol, and the third port can communicate using the Ethernet or Flexray protocol.

이러한 제1변환모듈(40)은 데이터의 전송방향에 따라, JTAG/BDM 프로토콜을 이더넷 또는 Flexray 프로토콜로 변환하거나, 이더넷 또는 Flexray 프로토콜을 JTAG/BDM 프로토콜로 변환할 수 있다. 데이터가 MCU(20) 또는 DSP(30)로부터 디버거로 전달될 때는, 제1변환모듈(40)은 데이터의 프로토콜을 JTAG/BDM 프로토콜을 이더넷 또는 Flexray 프로토콜로 변환하게 되고, 데이터가 디버거로부터 MCU(20) 또는 DSP(30)로 전달될 때는, 제1변환모듈(40)은 이더넷 또는 Flexray 프로토콜을 JTAG/BDM 프로토콜로 변환하게 된다. The first conversion module 40 may convert the JTAG / BDM protocol to the Ethernet or Flexray protocol or convert the Ethernet or Flexray protocol to the JTAG / BDM protocol according to the data transmission direction. When the data is transferred from the MCU 20 or the DSP 30 to the debugger, the first conversion module 40 converts the protocol of the data into the Ethernet or Flexray protocol of the JTAG / BDM protocol, and the data is transferred from the debugger to the MCU 20 or the DSP 30, the first conversion module 40 converts the Ethernet or Flexray protocol to the JTAG / BDM protocol.

제1변환모듈(40)은 MCU(20)(Micro Controller Unit) 또는 FPGA(Field Programmable Gate Array)로 구성될 수 있으며, 소프트웨어나 RTL(Register Transfer Level) 합성에 의해 상세 변환 로직이 구현되어 프로토콜 변환을 수행할 수 있다. The first conversion module 40 may be configured by an MCU 20 (Micro Controller Unit) or an FPGA (Field Programmable Gate Array). The detailed conversion logic is implemented by software or RTL (Register Transfer Level) Can be performed.

이러한 제1변환모듈(40)은 차량 내부에 설치된 ECU(10)의 보드에 일체로 장착되며, 제1변환모듈(40)에 연결된 이더넷 또는 Flexray의 통신선이 소프트웨어의 개발이 이루어지는 운전석까지 연장된다. The first conversion module 40 is integrally mounted on the board of the ECU 10 installed in the vehicle and extends to the driver's seat where the communication line of Ethernet or Flexray connected to the first conversion module 40 is developed.

이에 따라, MCU(20) 및 DSP(30)와 제1변환모듈(40)을 연결하는 JTAG/BDM 통신선도 ECU(10) 보드 상에 짧게 형성되므로, 기존에 JTAG/BDM 통신선이 노이즈가 심한 엔진룸을 통과하면서 발생하는 리셋 현상을 미연에 방지할 수 있다. Accordingly, since the JTAG / BDM communication line connecting the MCU 20 and the DSP 30 and the first conversion module 40 is formed on the board of the ECU 10 in a short time, the JTAG / It is possible to prevent a reset phenomenon that occurs while passing through the room.

제2변환모듈(50)은, 이더넷 또는 Flexray 통신선을 통해 제1변환모듈(40)에 연결되는 제3포트와, 디버거에 연결되는 제1 및 제2포트를 포함한다. 제1포트와 제2포트는 각각 MCU 디버거(60)와 DSP 디버거(70)에 연결되며, MCU 디버거(60) 및 DSP 디버거(70)와 JTAG/BDM 프로토콜을 이용하여 통신할 수 있다. The second conversion module 50 includes a third port connected to the first conversion module 40 via an Ethernet or Flexray communication line and first and second ports connected to the debugger. The first port and the second port are connected to the MCU debugger 60 and the DSP debugger 70 respectively and can communicate with the MCU debugger 60 and the DSP debugger 70 using the JTAG / BDM protocol.

제2변환모듈(50)은 제1포트와 제2포트는 JTAG/BDM 프로토콜을 사용하는 통신선이 연결되고, 제3포트는 이더넷 또는 Flexray 프로토콜을 사용하는 통신선이 연결됨에 따라, 제2변환모듈(50)은 이더넷 또는 Flexray 프로토콜과 JTAG/BDM 프로토콜을 상호 변환하게 된다. The second conversion module 50 is connected to a communication line using the JTAG / BDM protocol between the first port and the second port, and the third port is connected with the communication line using the Ethernet or Flexray protocol, 50) converts between Ethernet or Flexray protocol and JTAG / BDM protocol.

데이터가 MCU(20) 또는 DSP(30)로부터 디버거로 전달될 때는, 제2변환모듈(50)은 데이터의 프로토콜을 이더넷 또는 Flexray 프로토콜로부터 JTAG/BDM 프로토콜로 변환하게 되고, 데이터가 디버거로부터 MCU(20) 또는 DSP(30)로 전달될 때는, 제2변환모듈(50)은 JTAG/BDM 프로토콜을 이더넷 또는 Flexray 프로토콜로 변환하게 된다. When the data is transferred from the MCU 20 or the DSP 30 to the debugger, the second conversion module 50 converts the protocol of the data from the Ethernet or Flexray protocol to the JTAG / BDM protocol and the data is transferred from the debugger to the MCU 20 or DSP 30, the second conversion module 50 converts the JTAG / BDM protocol to the Ethernet or Flexray protocol.

제2변환모듈(50)과 MCU 디버거(60) 및 DSP 디버거(70)를 연결하는 JTAG/BDM 통신선은, 제1변환모듈(40)의 JTAG/BDM 통신선과는 달리 외부에 노출되어 있으나, 엔진룸과는 멀리 설치되어 있고, 길게 형성할 필요가 없으므로, 리셋의 염려가 없다. The JTAG / BDM communication line connecting the second conversion module 50 to the MCU debugger 60 and the DSP debugger 70 is exposed to the outside unlike the JTAG / BDM communication line of the first conversion module 40, It is installed far away from the room and does not have to be long, so there is no concern for resetting.

디버거는, ECU(10)의 소프트웨어를 분석하여 오동작의 원인을 분석하고 수정하여 업데이트한다. 디버거는, MCU(20)에 관련된 소프트웨어를 디버깅하기 위한 MCU 디버거(60)와, DSP(30)에 관련된 소프트웨어를 디버깅하기 위한 DSP 디버거(70)로 이루어질 수 있다. The debugger analyzes the software of the ECU 10 to analyze and correct the cause of the malfunction, and updates it. The debugger may comprise an MCU debugger 60 for debugging software associated with the MCU 20 and a DSP debugger 70 for debugging software associated with the DSP 30. [

MCU 디버거(60)와 DSP 디버거(70)는, 단말기(80)에 연결되어 있으며, 단말기(80)는 MCU 디버거(60)와 DSP 디버거(70)의 동작을 제어하고, MCU 디버거(60) 및 DSP 디버거(70)에서 분석된 결과를 표시할 수 있다. The MCU debugger 60 and the DSP debugger 70 are connected to the terminal 80. The terminal 80 controls the operation of the MCU debugger 60 and the DSP debugger 70 and the MCU debugger 60 and the DSP debugger 70, The DSP debugger 70 can display the analyzed result.

MCU 디버거(60)와 DSP 디버거(70)는, 소프트웨어 리프로그래밍, 데이터 칼리브레이션(Data Calibration), 데이터 측정(Data Measurement), 및 소프트웨어 흐름 제어를 수행한다. The MCU debugger 60 and the DSP debugger 70 perform software reprogramming, data calibration, data measurement, and software flow control.

소프트웨어 리프로그래밍은, 각각 MCU(20)와 DSP(30)에 설치된 소프트웨어를 다시 작성하는 것을 말하며, 데이터 칼리브레이션은 소프트웨어의 내부 파라메터들을 수정하여 소프트웨어를 튜닝하는 과정이다. 또한, 데이터 측정은, 소프트웨어의 내부 변수 값들의 변화를 실시간으로 모니터링함으로써, 소프트웨어의 동작을 분석하는 과정이다. Software reprogramming refers to rewriting software installed in the MCU 20 and the DSP 30, and data calibration is a process of tuning software by modifying internal parameters of the software. The data measurement is a process of analyzing the operation of the software by monitoring the change of the internal variable values of the software in real time.

소프트웨어 흐름 제어는, 브레이크 포인트(Break Point)를 이용한 흐름제어와, 코드 라인 단위 흐름제어를 포함할 수 있다. Software flow control may include flow control using breakpoints and code line unit flow control.

브레이크 포인트를 이용한 흐름제어는, 하드웨어와 소프트웨어에 각각 디버깅하길 원하는 부분에 브레이크 포인트를 설정하면, 브레이크 포인트에 도달하면 소프트웨어의 동작이 정지됨으로써, 내부 상황을 관찰할 수 있도록 한다. 이렇게 브레이크 포인트를 이용할 경우, 디버깅을 원하는 예외처리 벡터에 브레이크 포인트를 설정함으로써, 예외상황이 발생한 이유를 분석할 수 있다. Flow control using breakpoints allows you to observe the internal situation by stopping the operation of the software when a breakpoint is reached when a breakpoint is set in a part where debugging is desired to be performed in hardware and software, respectively. When the breakpoint is used, breakpoints can be set in the exception processing vector that is desired to be debugged, so that the cause of the exception can be analyzed.

코드 라인 단위 흐름제어는, 소프트웨어의 코드 라인 단위로 실행함으로써, 소프트웨어가 어떻게 동작하는지 코드 라인 단위로 상세히 분석할 수 있다. 이에 따라, 소프트웨어의 코드 라인 단위에 따른 메모리 값의 변화를 살펴볼 수 있다. 더욱 자세히는 코드 라인 단위뿐만 아니라 어셈블리 레벨(Assembly level) 단위로 소프트웨어를 실행시키고 분석할 수도 있다. The code line unit flow control can be executed in the unit of the code line of the software, so that it can analyze in detail the code line unit how the software operates. Thus, the change of the memory value according to the code line unit of the software can be examined. More specifically, you can run and analyze software in assembly-level as well as code-line units.

이렇게 MCU 디버거(60)와 DSP 디버거(70)에서 MCU(20) 및 DSP(30)에 설치된 소프트웨어를 디버깅함에 따라, MCU 디버거(60)와 DSP 디버거(70)는 MCU(20)와 DSP(30)로부터 소프트웨어를 제공받게 되며, MCU 디버거(60) 및 DSP 디버거(70)에서의 분석 결과에 따라, 수정된 파라미터나 내부 변수 또는 리프로그래밍된 소프트웨어 등 업데이트에 필요한 데이터가 MCU(20)와 DSP(30)로 전달된다. The MCU debugger 60 and the DSP debugger 70 are connected to the MCU 20 and the DSP 30 by debugging the software installed in the MCU 20 and the DSP 30 in the MCU debugger 60 and the DSP debugger 70, And data required for updating such as modified parameters, internal variables or reprogrammed software are supplied to the MCU 20 and the DSP (DSP) 70 in accordance with the analysis results in the MCU debugger 60 and the DSP debugger 70. [ 30).

이에 따라, MCU(20)와 DSP(30)로부터의 소프트웨어가 MCU 디버거(60) 및 DSP 디버거(70)로 전달될 때는, 제1변환모듈(40)은 프로토콜을 JTAG/BDM 프로토콜로부터 이더넷 또는 Flexray 프로토콜로 변환하고, 제2변환모듈(50)은 프로토콜을 이더넷 또는 Flexray 프로토콜로부터 JTAG/BDM 프로토콜로 변환한다. Accordingly, when the software from the MCU 20 and the DSP 30 is transferred to the MCU debugger 60 and the DSP debugger 70, the first conversion module 40 converts the protocol from JTAG / BDM protocol to Ethernet or Flexray Protocol, and the second conversion module 50 converts the protocol from the Ethernet or Flexray protocol to the JTAG / BDM protocol.

반면, MCU 디버거(60) 및 DSP 디버거(70)로부터 MCU(20) 또는 DSP(30)로 업데이트에 필요한 데이터가 전달될 때는, 제2변환모듈(50)은 JTAG/BDM 프로토콜을 이더넷 또는 Flexray 프로토콜로 변환하고, 제1변환모듈(40)은 이더넷 또는 Flexray 프로토콜을 JTAG/BDM 프로토콜로 변환한다. On the other hand, when data necessary for updating is transferred from the MCU debugger 60 and the DSP debugger 70 to the MCU 20 or the DSP 30, the second conversion module 50 converts the JTAG / BDM protocol to Ethernet or Flexray protocol And the first conversion module 40 converts the Ethernet or Flexray protocol into the JTAG / BDM protocol.

한편, MCU 디버거(60)와 DSP 디버거(70)는 각각 메모리를 가지고 있으며, 각각의 메모리에는 MCU(20)와 DSP(30)의 소프트웨어가 저장되어 있다. 이에 따라, MCU 디버거(60)와 DSP 디버거(70)는 소프트웨어가 리프로그래밍되거나, 내부 파라메터가 수정되거나 하는 등 업데이트가 필요할 때, 소프트웨어 개발 장치에서 제공된 데이터와, 각 메모리에 저장된 데이터를 비교하여 각 메모리를 업데이트할 수 있다. The MCU debugger 60 and the DSP debugger 70 each have a memory, and the memory of the MCU 20 and the DSP 30 is stored in each memory. Accordingly, the MCU debugger 60 and the DSP debugger 70 compare the data provided by the software development apparatus with the data stored in each memory when updating is required, such as when the software is reprogrammed or the internal parameters are modified, Memory can be updated.

한편, MCU 디버거(60) 및 DSP 디버거(70)는, 각각 USB 포트가 형성되어 있고, MCU 디버거(60)와 DSP 디버거(70)에도 각각 USB 포트가 형성되어 있다. 이에 따라, 단말기(80)는 MCU 디버거(60) 및 DSP 디버거(70)와 USB 통신선으로 연결된다. The MCU debugger 60 and the DSP debugger 70 each have a USB port and the MCU debugger 60 and the DSP debugger 70 respectively have a USB port. Accordingly, the terminal 80 is connected to the MCU debugger 60 and the DSP debugger 70 via a USB communication line.

도 2는 본 발명에 따른 차량용 ECU(10) 프로그램 개발 시스템에서 차량용 ECU(10)를 디버깅하는 과정을 보인 흐름도이다. 2 is a flowchart showing a process of debugging the ECU 10 for a vehicle in the ECU 10 program development system according to the present invention.

작업자 또는 자동으로 단말기(80)를 통해 MCU 디버거(60) 및 DSP 디버거(70)의 작동을 명령하고, 소프트웨어 리프로그래밍, 데이터 칼리브레이션, 데이터 측정, 및/또는 소프트웨어 흐름 제어에 필요한 설정을 입력한다. 예를 들어, 단말기(80)를 통해 브레이크 포인트를 설정하거나 코드 라인 단위로 소프트웨어를 실행하여 분석하도록 설정한다. The operator or automatically instructs the operation of the MCU debugger 60 and the DSP debugger 70 via the terminal 80 and enters settings necessary for software reprogramming, data calibration, data measurement, and / or software flow control. For example, a break point is set through the terminal 80 or software is executed for each code line to be analyzed.

그러면, MCU(20)와 DSP(30)로부터 MCU 디버거(60)와 DSP 디버거(70)로 소프트웨어에 대한 데이터가 전달되며, 이때, 제1변환모듈(40)은 MCU(20)와 DSP(30)와의 통신에 사용한 JTAG/BDM 프로토콜을 이더넷 또는 Flexray 프로토콜로 변환하여 데이터를 제2변환모듈(50)로 전달하고(S200), 제2변환모듈(50)은 프로토콜을 이더넷 또는 Flexray 프로토콜로부터 JTAG/BDM 프로토콜로 변환하여 데이터를 MCU 디버거(60)와 DSP 디버거(70)로 전달되도록 한다(S210). Data of the software is transmitted from the MCU 20 and the DSP 30 to the MCU debugger 60 and the DSP debugger 70. At this time, the first conversion module 40 receives the data from the MCU 20 and the DSP 30 The second conversion module 50 converts the JTAG / BDM protocol used in the communication with the JTAG / BDM protocol to Ethernet or Flexray protocol and transfers the data to the second conversion module 50 (S200) BDM protocol and transfers the data to the MCU debugger 60 and the DSP debugger 70 (S210).

MCU 디버거(60)와 DSP 디버거(70)에서는 MCU(20)와 DSP(30)의 소프트웨어를 리프로그래밍하고, 내부 파라메터를 수정하거나 내부 변수 값들의 변화를 모니터링하고, 각 브레이크 포인트마다 그리고 소프트웨어의 코드 라인 단위 또는 어셈블리 레벨 단위로 분석한다(S220). MCU 디버거(60)와 DSP 디버거(70)는 디버깅 결과를 각 메모리에 저장된 MCU(20) 및 DSP(30)소프트웨어와 비교하고, MCU(20)와 DSP(30)의 소프트웨어를 업데이트해야 하는 경우, 업데이트에 필요한 데이터를 제2변환모듈(50)과 제1변환모듈(40)을 통해 MCU(20)와 DSP(30)로 전달한다. The MCU debugger 60 and the DSP debugger 70 reprogram the software of the MCU 20 and the DSP 30 and modify the internal parameters or monitor the change of the internal variable values, Line or assembly level unit (S220). The MCU debugger 60 and the DSP debugger 70 compare the debugging result with the MCU 20 and DSP 30 software stored in each memory and when the software of the MCU 20 and the DSP 30 needs to be updated, And transfers the data necessary for the update to the MCU 20 and the DSP 30 through the second conversion module 50 and the first conversion module 40. [

즉, MCU 디버거(60)와 DSP 디버거(70)는 업데이트에 필요한 데이터를 제2변환모듈(50)로 전달하고, 제2변환모듈(50)은 MCU 디버거(60)와 DSP 디버거(70)와의 통신에 사용한 JTAG/BDM 프로토콜을 이더넷 또는 Flexray 프로토콜로 변환하여 제1변환모듈(40)로 전달한다(S240). 그러면, 제1변환모듈(40)은 이더넷 또는 Flexray 프로토콜을 JTAG/BDM 프로토콜로 변환하여 데이터가 MCU(20) 및 DSP(30)로 전달되도록 한다(S250). MCU(20)와 DSP(30)로 전달된 업데이트용 데이터를 이용하여 MCU(20)와 DSP(30)의 소프트웨어가 업데이트된다(S260). That is, the MCU debugger 60 and the DSP debugger 70 transfer the data necessary for the update to the second conversion module 50, and the second conversion module 50 transfers the data required for the update to the MCU debugger 60 and the DSP debugger 70 The JTAG / BDM protocol used for communication is converted into Ethernet or Flexray protocol and transmitted to the first conversion module 40 (S240). Then, the first conversion module 40 converts the Ethernet or Flexray protocol to the JTAG / BDM protocol so that the data is transferred to the MCU 20 and the DSP 30 (S250). The software of the MCU 20 and the DSP 30 is updated using the update data transmitted to the MCU 20 and the DSP 30 (S260).

이와 같이, 본 차량용 ECU(10) 디버깅 시스템에서는, JTAG/BDM 통신선을 ECU(10) 보드에 설치하여 JTAG/BDM 통신선이 엔진룸과 같이 노이즈가 심한 곳을 통과하지 않도록 설계하고, 제1변환모듈(40)과 제2변환모듈(50)을 이용하여 ECU(10) 보드 외부의 노이즈가 심한 곳에서는 이더넷과 Flexray 등의 통신선을 사용한다. 이에 따라, 실차환경에서 JTAG/BDM 프로토콜을 이용하여 ECU(10)의 소프트웨어를 디버깅하더라도 ECU(10)가 리셋되는 것을 방지함으로써, 소프트웨어를 상세하고 정확하게 분석할 수 있다. 이렇게 실차환경에서 정확한 디버깅이 가능함에 따라, 소프트웨어의 개발기간을 단축할 수 있다. As described above, in the vehicle ECU 10 debugging system, the JTAG / BDM communication line is installed on the board of the ECU 10 so that the JTAG / BDM communication line does not pass through a place with a high noise such as an engine room, A communication line such as Ethernet and Flexray is used in a place where noise outside the board of the ECU 10 is severe by using the first conversion module 40 and the second conversion module 50. [ Accordingly, even if the software of the ECU 10 is debugged using the JTAG / BDM protocol in the actual vehicle environment, the ECU 10 can be prevented from being reset, thereby making it possible to analyze the software in detail and accurately. In this way, accurate debugging is possible in an actual vehicle environment, and the development period of the software can be shortened.

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program may be stored in a computer readable storage medium and read and executed by a computer, thereby implementing embodiments of the present invention. As a storage medium of the computer program, a magnetic recording medium, an optical recording medium, or the like can be included.

또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.It is also to be understood that the terms such as " comprises, "" comprising," or "having ", as used herein, mean that a component can be implanted unless specifically stated to the contrary. But should be construed as including other elements. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used terms, such as predefined terms, should be interpreted to be consistent with the contextual meanings of the related art, and are not to be construed as ideal or overly formal, unless expressly defined to the contrary.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
The above description is merely illustrative of the technical idea of the present invention, and those skilled in the art to which the present invention pertains may make various modifications and changes without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas falling within the scope of the same shall be construed as falling within the scope of the present invention.

Claims (9)

차량에 탑재된 ECU의 소프트웨어를 디버깅하는 디버거;
상기 ECU와 연결되며, 상기 ECU와의 통신에 사용되는 제1프로토콜과, 차량용 네트워크에서 사용되는 제2프로토콜을 상호 변환하는 제1변환모듈; 및
상기 차량용 네트워크에 연결되도록 상기 차량의 외부에 설치되며, 상기 제2프로토콜을 이용하여 상기 제1변환모듈과 통신하고 상기 디버거와는 상기 제1프로토콜을 이용하여 통신하며, 상기 제2프로토콜과 상기 제1프로토콜을 상호 변환하는 제2변환모듈;을 포함하는 차량용 ECU 디버깅 시스템.
A debugger for debugging software of an ECU mounted on a vehicle;
A first conversion module connected to the ECU, for converting a first protocol used for communication with the ECU and a second protocol used for the vehicle network; And
Wherein the first protocol is communicated to the first conversion module using the second protocol and the debugger is communicated using the first protocol and the second protocol and the second protocol are communicated to the vehicle network, 1 protocol to the first conversion module.
제 1 항에 있어서,
상기 제1프로토콜은 JTAG/BDM 프로토콜이며, 상기 제2프로토콜은 이더넷 또는 FlexRay 프로토콜인 차량용 ECU 디버깅 시스템.
The method of claim 1,
Wherein the first protocol is a JTAG / BDM protocol and the second protocol is an Ethernet or FlexRay protocol.
제 1 항에 있어서,
상기 제1변환모듈은, 상기 ECU의 보드에 설치되는 차량용 ECU 디버깅 시스템.
The method of claim 1,
The first conversion module is a vehicle ECU debugging system installed on the board of the ECU.
제 2 항에 있어서,
상기 ECU로부터 상기 디버거로 데이터를 전송할 경우, 상기 제1변환모듈은, 상기 JTAG/BDM 프로토콜을 상기 이더넷 또는 FlexRay 프로토콜로 변환하고, 상기 제2변환모듈은, 상기 이더넷 또는 FlexRay 프로토콜을 상기 JTAG/BDM 프로토콜로 변환하는 차량용 ECU 디버깅 시스템.
The method of claim 2,
Wherein the first conversion module converts the JTAG / BDM protocol to the Ethernet or FlexRay protocol when data is transmitted from the ECU to the debugger, and the second conversion module converts the Ethernet or FlexRay protocol into the JTAG / BDM Vehicle ECU debugging system.
제 2 항에 있어서,
상기 디버거로부터 상기 ECU로 소프트웨어의 업데이트를 위한 데이터를 전송할 경우, 상기 제2변환모듈은, 상기 JTAG/BDM 프로토콜을 상기 이더넷 또는 FlexRay 프로토콜로 변환하고, 상기 제1변환모듈은, 상기 이더넷 또는 FlexRay 프로토콜을 상기 JTAG/BDM 프로토콜로 변환하는 차량용 ECU 디버깅 시스템.
The method of claim 2,
Wherein the second conversion module converts the JTAG / BDM protocol to the Ethernet or FlexRay protocol when data for software update is transmitted from the debugger to the ECU, and the first conversion module transmits the Ethernet or FlexRay protocol To the JTAG / BDM protocol.
제 1 항에 있어서,
상기 디버거에서는 상기 ECU의 소프트웨어에 대해 리프로그래밍, 내부 파라메터를 수정하는 데이터 칼리브레이션, 내부 변수값을 모니터링하는 데이터 측정, 및 브레이크 포인트를 설정하여 소프트웨어의 실행을 제어하거나 코드 라인 단위로 소프트웨어를 분석하는 소프트웨어 흐름 제어 중 적어도 하나를 수행하는 차량용 ECU 디버깅 시스템.
The method of claim 1,
In the debugger, software for reprogramming the software of the ECU, data calibration for modifying internal parameters, data measurement for monitoring internal variable values, and setting breakpoints to control the execution of the software or analyze the software on a code line basis. Automotive ECU debugging system for performing at least one of flow control.
차량에 탑재된 ECU로부터 전달된 데이터의 프로토콜을 제1프로토콜에서 차량용 네트워크에서 사용되는 제2프로토콜로 변환하는 단계;
상기 제2프로토콜을 통해 차량의 외부로 상기 데이터를 전달하는 단계;
상기 데이터의 프로토콜을 제2프로토콜에서 제1프로토콜로 변환하는 단계;
상기 제1프로토콜을 이용하여 전달된 데이터를 디버깅하는 단계;
디버깅 결과 발생한 업데이트용 데이터의 프로토콜을 상기 제1프로토콜에서 상기 제2프로토콜로 변환하는 단계;
상기 제2프로토콜을 이용하여 차량의 내부로 상기 업데이트용 데이터를 전달하는 단계; 및
상기 업데이트용 데이터의 프로토콜을 상기 제2프로토콜에서 상기 제1프로토콜로 변환하여 ECU로 전달하는 단계;를 포함하는 차량용 ECU 디버깅 방법.
Converting a protocol of data transferred from an ECU mounted in the vehicle from a first protocol to a second protocol used in a car network;
Transferring the data out of the vehicle through the second protocol;
Converting a protocol of the data from a second protocol to a first protocol;
Debugging the data transferred using the first protocol;
Converting a protocol of update data generated as a result of the debugging from the first protocol to the second protocol;
Transferring the update data to the interior of the vehicle using the second protocol; And
And converting the protocol of the update data from the second protocol to the first protocol and delivering the protocol to the ECU.
제 7 항에 있어서,
상기 제1프로토콜은 JTAG/BDM 프로토콜이며, 상기 제2프로토콜은 이더넷 또는 FlexRay 프로토콜인 차량용 ECU 디버깅 방법.
The method of claim 7, wherein
Wherein the first protocol is a JTAG / BDM protocol and the second protocol is an Ethernet or FlexRay protocol.
제 7 항에 있어서,
상기 디버깅하는 단계는, 상기 ECU의 소프트웨어에 대해 리프로그래밍, 내부 파라메터를 수정하는 데이터 칼리브레이션, 내부 변수값을 모니터링하는 데이터 측정, 및 브레이크 포인트를 설정하여 소프트웨어의 실행을 제어하거나 코드 라인 단위로 소프트웨어를 분석하는 소프트웨어 흐름 제어 중 적어도 하나를 수행하는 단계인 차량용 ECU 디버깅 방법.
The method of claim 7, wherein
The debugging may include reprogramming the software of the ECU, data calibration for modifying internal parameters, data measurement for monitoring internal variable values, and setting breakpoints to control the execution of the software or to execute software on a code line basis. And performing at least one of analyzing software flow control.
KR1020110115601A 2011-11-08 2011-11-08 In-vehicle debugging system for ecu and method thereof KR101420481B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110115601A KR101420481B1 (en) 2011-11-08 2011-11-08 In-vehicle debugging system for ecu and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110115601A KR101420481B1 (en) 2011-11-08 2011-11-08 In-vehicle debugging system for ecu and method thereof

Publications (2)

Publication Number Publication Date
KR20130050501A true KR20130050501A (en) 2013-05-16
KR101420481B1 KR101420481B1 (en) 2014-07-16

Family

ID=48660838

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110115601A KR101420481B1 (en) 2011-11-08 2011-11-08 In-vehicle debugging system for ecu and method thereof

Country Status (1)

Country Link
KR (1) KR101420481B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527778B1 (en) * 2014-01-02 2015-06-10 현대자동차주식회사 In-vehicle apparatus for efficient reprogramming and method for controlling there of
KR101602225B1 (en) * 2014-12-12 2016-03-10 현대오트론 주식회사 System and method for reprogramming of vehicle
CN109104489A (en) * 2018-08-29 2018-12-28 歌尔股份有限公司 Control equipment and program down-loading method
KR20190040714A (en) * 2017-10-11 2019-04-19 현대자동차주식회사 Method and system for ECU execution time monitoring and fault finding
CN110377004A (en) * 2019-07-12 2019-10-25 北京祥远通达科技有限公司 Automobile-used half virtual ECU test macro and its test method
CN111505977A (en) * 2020-03-11 2020-08-07 浙江吉利汽车研究院有限公司 Function auxiliary debugging method, device, system and medium
CN113043970A (en) * 2021-03-30 2021-06-29 重庆长安汽车股份有限公司 Load management system for whole vehicle

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4200707B1 (en) * 2020-09-10 2024-05-15 Huawei Technologies Co., Ltd. Microchip with on-chip debug and trace engine

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100400945B1 (en) * 2001-08-10 2003-10-10 주식회사 텔사인 System and method for collecting vehicle data and diagnosticating the vehicle, and method for automatically setting the vehicle convenience apparatus using smartcard
JP2004326689A (en) 2003-04-28 2004-11-18 Nissan Motor Co Ltd Method for rewriting software of on-vehicle equipment, system of telematics system, and telematics device
JP2004348545A (en) 2003-05-23 2004-12-09 Clarion Co Ltd Application/data updating system
KR20070109578A (en) * 2006-05-12 2007-11-15 주식회사 만도 Navigation apparatus for updating application program of vehicle and updating method thereof

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527778B1 (en) * 2014-01-02 2015-06-10 현대자동차주식회사 In-vehicle apparatus for efficient reprogramming and method for controlling there of
KR101602225B1 (en) * 2014-12-12 2016-03-10 현대오트론 주식회사 System and method for reprogramming of vehicle
KR20190040714A (en) * 2017-10-11 2019-04-19 현대자동차주식회사 Method and system for ECU execution time monitoring and fault finding
CN109104489A (en) * 2018-08-29 2018-12-28 歌尔股份有限公司 Control equipment and program down-loading method
CN109104489B (en) * 2018-08-29 2021-11-02 歌尔光学科技有限公司 Control apparatus and program download method
CN110377004A (en) * 2019-07-12 2019-10-25 北京祥远通达科技有限公司 Automobile-used half virtual ECU test macro and its test method
CN111505977A (en) * 2020-03-11 2020-08-07 浙江吉利汽车研究院有限公司 Function auxiliary debugging method, device, system and medium
CN111505977B (en) * 2020-03-11 2022-05-10 浙江吉利汽车研究院有限公司 Function auxiliary debugging method, device, system and medium
CN113043970A (en) * 2021-03-30 2021-06-29 重庆长安汽车股份有限公司 Load management system for whole vehicle
CN113043970B (en) * 2021-03-30 2023-03-14 重庆长安汽车股份有限公司 Load management system for whole vehicle

Also Published As

Publication number Publication date
KR101420481B1 (en) 2014-07-16

Similar Documents

Publication Publication Date Title
KR101420481B1 (en) In-vehicle debugging system for ecu and method thereof
CN108205308B (en) Automatic diagnosis test system based on automobile body domain controller
US8019911B2 (en) System and method for testing and calibrating a control unit using an adaptation unit
CN107145140B (en) Automatic test system and test method for CAN interface of vehicle-mounted electronic control unit
US10025883B2 (en) Method for generating a configuration for a control unit test system
US7882298B2 (en) Method for transmitting data from and to a control device
EP3618363A1 (en) Network interface device and method for operating a network interface device
US7275184B2 (en) Software verification method for control units and verification system
US20140019942A1 (en) Method and device for creating and testing a control unit program
JP2007510992A (en) Simulation system and computer-implemented method for simulating and verifying a control system
US20060150021A1 (en) Device and method for analyzing embedded systems
JP2010173633A (en) Method and operation unit for adjusting control device
WO2021109476A1 (en) Ecu for activating testmode of real vehicle phy under in-vehicle ethernet architecture, and system
CN116746064A (en) Lock step comparator and related method
EP2600251B1 (en) Debug system, electronic control unit, information processing unit, semiconductor package, and transceiver circuit
JP2015005189A (en) Ecu evaluation device, computer program, and ecu evaluation method
JP2014232351A (en) Semiconductor data processing device and degradation determination control method
Oka Fuzz testing virtual ECUs as part of the continuous security testing process
CN113253701B (en) Vehicle remote diagnosis system and method
JP2015123748A (en) Inspection system
EP3648425B1 (en) Arrangement for processing sensor data
Mouzakitis et al. Advanced automated onboard vehicle diagnostics testing
Vyas Trends of FPGA use in Automotive Engineering
KR101091675B1 (en) Method for management electronic unit of vehicle using usb
Vinaya Automatic simulation measurement and verification of inputs and outputs of body control module

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170622

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180626

Year of fee payment: 5