KR102360330B1 - Method for implementing integrated control unit of vehicle and apparatus thereof - Google Patents
Method for implementing integrated control unit of vehicle and apparatus thereof Download PDFInfo
- Publication number
- KR102360330B1 KR102360330B1 KR1020200175292A KR20200175292A KR102360330B1 KR 102360330 B1 KR102360330 B1 KR 102360330B1 KR 1020200175292 A KR1020200175292 A KR 1020200175292A KR 20200175292 A KR20200175292 A KR 20200175292A KR 102360330 B1 KR102360330 B1 KR 102360330B1
- Authority
- KR
- South Korea
- Prior art keywords
- control module
- code
- control unit
- module
- vehicle
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/0098—Details of control systems ensuring comfort, safety or stability not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/04—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
- B60W10/06—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of combustion engines
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/10—Conjoint control of vehicle sub-units of different type or different function including control of change-speed gearings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0004—In digital systems, e.g. discrete-time systems involving sampling
- B60W2050/0005—Processor details or data handling, e.g. memory registers or chip architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
- B60W2050/002—Integrating means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0043—Signal treatments, identification of variables or parameters, parameter estimation or state estimation
- B60W2050/0057—Frequency analysis, spectral techniques or transforms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Transportation (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 차량의 통합제어유닛 구현 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 복수의 제어모듈을 포함하는 차량의 통합제어유닛을 구현함에 있어서, 소프트웨어 개발 효율성을 향상시킴과 동시에 신뢰도 높은 통합제어유닛을 구현할 수 있는 방법 및 그 방법을 수행하는 장치에 관한 것이다.The present invention relates to a method and apparatus for implementing an integrated control unit of a vehicle. More particularly, in implementing the integrated control unit of a vehicle including a plurality of control modules, it relates to a method capable of implementing an integrated control unit with high reliability while improving software development efficiency, and an apparatus for performing the method.
차량용 부품의 전자화가 급속도로 진행됨에 따라 차량에 탑재되는 전자제어유닛(electronic control unit)의 종류와 개수가 크게 증가하고 있다. 다양한 전자제어유닛 중에서 파워트레인(power train) 도메인에 속한 제어유닛은 차량 제어의 핵심적인 유닛들로 구성되며, 이러한 제어유닛의 예로는 ECU(engine control unit), TCU(transmission control unit) 등을 들 수 있다.BACKGROUND ART As electronic components for vehicles are rapidly becoming electronic, the number and types of electronic control units mounted on vehicles are greatly increasing. A control unit belonging to a power train domain among various electronic control units is composed of core units of vehicle control, and examples of such control units include an engine control unit (ECU), a transmission control unit (TCU), etc. can
최근에는, 전자제어유닛의 하드웨어(예컨대 MCU, 반도체 IC) 비용을 절감하기 위해 파워트레인 도메인에 속한 다수의 전자제어유닛을 하나의 통합제어유닛으로 구현하려는 시도가 많이 이루어지고 있다. 이를테면, 다수의 전자제어유닛의 기능을 하나의 통합된 소프트웨어로 구현하려는 시도가 이루어지고 있다.Recently, in order to reduce the cost of hardware (eg, MCU, semiconductor IC) of the electronic control unit, many attempts have been made to implement a plurality of electronic control units belonging to the powertrain domain as one integrated control unit. For example, an attempt has been made to implement the functions of a plurality of electronic control units as one integrated software.
그러나, 위와 같은 시도는 서로 다른 전자제어유닛을 개발하는 팀 간의 협업 문제, 통합 소프트웨어 설계의 어려움 등으로 인해 소프트웨어 개발의 효율성을 저하시킬 수 있다. 뿐만 아니라, 통합 소프트웨어의 거대한 규모로 인해 테스트 난이도가 급증함으로써, 통합제어유닛의 신뢰도가 떨어질 수도 있다.However, the above attempts may reduce the efficiency of software development due to collaboration problems between teams developing different electronic control units, difficulties in designing integrated software, and the like. In addition, the reliability of the integrated control unit may decrease as the test difficulty increases rapidly due to the huge scale of the integrated software.
본 발명이 해결하고자 하는 기술적 과제는, 차량의 통합제어유닛을 구현함에 있어서, 소프트웨어의 개발 효율성을 향상시킬 수 있는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.The technical problem to be solved by the present invention is to provide a method capable of improving software development efficiency in implementing an integrated control unit of a vehicle, and an apparatus for performing the method.
본 발명이 해결하고자 하는 다른 기술적 과제는, 신뢰도 높은 차량의 통합제어유닛을 구현할 수 있는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.Another technical problem to be solved by the present invention is to provide a method for implementing a highly reliable integrated control unit for a vehicle and an apparatus for performing the method.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 차량의 통합제어유닛 구현 방법은, 컴퓨팅 장치에서 차량의 통합제어유닛 구현 방법에 있어서, 상기 통합제어유닛을 구성하는 제1 제어모듈과 제2 제어모듈 사이의 연동 정보를 기초로 인터페이스코드를 생성하는 단계 및 상기 생성된 인터페이스코드, 상기 제1 제어모듈의 빌드코드 및 상기 제2 제어모듈의 빌드코드를 빌드하여, 상기 제1 제어모듈의 HEX 파일과 상기 제2 제어모듈의 HEX 파일을 생성하는 단계를 포함할 수 있다.In order to solve the above technical problem, a method for implementing an integrated control unit of a vehicle according to an embodiment of the present invention is a method for implementing an integrated control unit of a vehicle in a computing device, the method comprising: a first control module constituting the integrated control unit; Generating an interface code based on interworking information between second control modules and building the generated interface code, the build code of the first control module, and the build code of the second control module, so that the first control module and generating the HEX file of the second control module and the HEX file of the second control module.
일 실시예에서, 상기 제1 제어모듈의 HEX 파일과 상기 제2 제어모듈의 HEX 파일은 하나의 프로세서에 탑재되어 실행될 수 있다.In an embodiment, the HEX file of the first control module and the HEX file of the second control module may be mounted on one processor and executed.
일 실시예에서, 상기 제1 제어모듈은 ECU(engine control unit)의 기능을 수행하는 모듈이고, 상기 제2 제어모듈은 TCU(transmission control unit)의 기능을 수행하는 모듈일 수 있다.In an embodiment, the first control module may be a module performing a function of an engine control unit (ECU), and the second control module may be a module performing a function of a transmission control unit (TCU).
일 실시예에서, 상기 연동 정보는 상기 제1 제어모듈과 상기 제2 제어모듈 간에 공유되는 변수 또는 호출되는 함수에 관한 정보를 포함할 수 있다.In an embodiment, the interworking information may include information about a function to be called or a variable shared between the first control module and the second control module.
일 실시예에서, 상기 연동 정보는 ASAM MDX(metadata exchange format) 표준에 의거하여 설정된 것일 수 있다.In an embodiment, the interworking information may be configured based on an ASAM metadata exchange format (MDX) standard.
일 실시예에서, 상기 제1 제어모듈의 HEX 파일과 상기 제2 제어모듈의 HEX 파일을 생성하는 단계는, 상기 제1 제어모듈의 원본코드에서 상기 연동 정보와 연관된 루틴을 결정하는 단계 및 상기 결정된 루틴을 상기 인터페이스코드를 이용하는 루틴으로 변환하여 상기 제1 제어모듈의 빌드코드를 생성하는 단계를 포함할 수 있다.In an embodiment, the generating of the HEX file of the first control module and the HEX file of the second control module includes determining a routine associated with the interworking information in the original code of the first control module and the determined The method may include converting a routine into a routine using the interface code to generate a build code of the first control module.
일 실시예에서, 상기 제1 제어모듈의 HEX 파일, 상기 제2 제어모듈의 HEX 파일 및 후킹모듈의 HEX 파일을 통합하여 상기 통합제어유닛의 HEX 파일을 생성하는 단계를 더 포함하되, 상기 후킹모듈은 API 후킹을 통해 상기 제1 제어모듈 및 상기 제2 제어모듈에 대한 통합 테스트 기능을 제공할 수 있다.In one embodiment, the method further comprising generating a HEX file of the integrated control unit by integrating the HEX file of the first control module, the HEX file of the second control module, and the HEX file of the hooking module, wherein the hooking module may provide an integrated test function for the first control module and the second control module through API hooking.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 차량의 통합제어유닛 구현 장치는, 차량의 통합제어유닛을 구성하는 제1 제어모듈과 제2 제어모듈 사이의 연동 정보를 설정하는 연동정보 설정부, 상기 연동 정보를 기초로 인터페이스코드를 생성하는 인터페이스코드 생성부, 상기 제1 제어모듈의 원본코드와 상기 제2 제어모듈의 원본코드를 변환하여 상기 제1 제어모듈의 빌드코드와 상기 제2 제어모듈의 빌드코드를 생성하는 빌드코드 생성부 및 상기 인터페이스코드, 상기 제1 제어모듈의 빌드코드 및 상기 제2 제어모듈의 빌드코드를 빌드하여, 상기 제1 제어모듈의 HEX 파일과 상기 제2 제어모듈의 HEX 파일을 생성하는 빌드부를 포함할 수 있다.In order to solve the above technical problem, an apparatus for implementing an integrated control unit of a vehicle according to an embodiment of the present invention is interlocking for setting interworking information between a first control module and a second control module constituting an integrated control unit of a vehicle An information setting unit, an interface code generation unit generating an interface code based on the interworking information, converting the original code of the first control module and the original code of the second control module to obtain the build code of the first control module and the A build code generation unit generating a build code of the second control module and the interface code, the build code of the first control module, and the build code of the second control module are built, the HEX file of the first control module and the It may include a build unit that generates the HEX file of the second control module.
도 1은 본 발명의 목적을 개념적으로 설명하기 위한 예시적인 도면이다.
도 2는 본 발명의 일 실시예에 따른 차량의 통합제어유닛 구현 장치를 나타내는 예시적인 블록도이다.
도 3은 본 발명의 일 실시예에 따른 차량의 통합제어유닛 구현 방법을 나타내는 예시적인 흐름도이다.
도 4는 본 발명의 몇몇 실시예들에서 참조될 수 있는 연동 정보를 예시적으로 나타낸 도면이다.
도 5 내지 도 8은 본 발명의 몇몇 실시예들에서 참조될 수 있는 인터페이스코드를 예시적으로 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 빌드코드 생성 과정을 설명하기 위한 예시적인 도면이다.
도 10은 본 발명의 다른 실시예에 따른 빌드코드 생성 과정을 설명하기 위한 예시적인 도면이다.
도 11은 본 발명의 일 실시예에 따른 빌드 과정을 설명하기 위한 예시적인 도면이다.
도 12는 본 발명의 일 실시예에 따른 통합제어유닛에 대한 HEX 파일의 메모리맵을 예시한다.
도 13 및 도 14는 본 발명의 일 실시예에 따른 통합제어유닛을 설명하기 위한 예시적인 블록도이다.
도 15는 본 발명의 일 실시예에 따른 테스트 기능을 구비한 통합제어유닛을 설명하기 위한 예시적인 블록도이다.
도 16은 본 발명의 일 실시예에 따른 차량의 통합제어유닛 구현 장치 또는 통합제어유닛을 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.1 is an exemplary diagram for conceptually explaining the object of the present invention.
2 is an exemplary block diagram illustrating an apparatus for implementing an integrated control unit of a vehicle according to an embodiment of the present invention.
3 is an exemplary flowchart illustrating a method for implementing an integrated control unit of a vehicle according to an embodiment of the present invention.
4 is a diagram exemplarily illustrating interworking information that can be referenced in some embodiments of the present invention.
5 to 8 are diagrams exemplarily showing interface codes that can be referenced in some embodiments of the present invention.
9 is an exemplary view for explaining a build code generation process according to an embodiment of the present invention.
10 is an exemplary view for explaining a build code generation process according to another embodiment of the present invention.
11 is an exemplary view for explaining a build process according to an embodiment of the present invention.
12 illustrates a memory map of a HEX file for an integrated control unit according to an embodiment of the present invention.
13 and 14 are exemplary block diagrams for explaining an integrated control unit according to an embodiment of the present invention.
15 is an exemplary block diagram illustrating an integrated control unit having a test function according to an embodiment of the present invention.
16 is a diagram illustrating an apparatus for implementing an integrated control unit of a vehicle or an exemplary computing device capable of implementing an integrated control unit according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the technical spirit of the present invention is not limited to the following embodiments, but may be implemented in various different forms, and only the following embodiments complete the technical spirit of the present invention, and in the technical field to which the present invention belongs It is provided to fully inform those of ordinary skill in the art of the scope of the present invention, and the technical spirit of the present invention is only defined by the scope of the claims.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to the components of each drawing, it should be noted that the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular. The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present invention, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, or order of the elements are not limited by the terms. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but another component is formed between each component. It should be understood that elements may also be “connected,” “coupled,” or “connected.”
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 목적을 개념적으로 설명하기 위한 예시적인 도면이다.1 is an exemplary diagram for conceptually explaining an object of the present invention.
도 1에 도시된 바와 같이, 본 발명의 몇몇 실시예들은 복수의 제어모듈(11 내지 14)을 포함하는 차량의 통합제어유닛(10)의 소프트웨어를 제어모듈 단위로 분리하여 개발하기 위한 기술적 수단을 제공하는 것을 목적으로 한다. 통합제어유닛(10)의 소프트웨어가 제어모듈 단위로 분리 개발됨으로써, 소프트웨어 개발 효율성 및 관리 효율성이 향상될 수 있다. 다시 말해, 통합제어유닛(10)의 소프트웨어가 제어모듈 단위로 분리되면, 각 개발팀이 담당하는 제어모듈만을 개발하면 되기 때문에, 개발 효율성이 향상될 수 있다. 뿐만 아니라, 각 제어모듈의 소프트웨어가 별도로 관리됨으로써, 소프트웨어 관리의 효율성 또한 크게 향상될 수 있다. 나아가, 기 개발된 제어모듈(또는 전자제어유닛)의 소스코드가 재사용될 수 있고, 소프트웨어 설계의 복잡도도 크게 감소될 수 있다는 장점이 있다.As shown in FIG. 1, some embodiments of the present invention provide technical means for developing the software of the integrated
보다 구체적으로, 종래에는 복수의 제어모듈(11 내지 14; 예컨대 전자제어유닛의 소프트웨어 모듈)이 서로 강하게 커플링(tightly-coupled)되는 형태로 통합제어유닛(10)이 구현되거나, 각 전자제어유닛(예컨대 ECU, TCU)이 서로 다른 프로세서를 구비하는 형태로 구현되었다. 이러한 경우, 제어모듈 간의 강한 커플링으로 인해 개발 효율성이 저하되거나, 복수의 프로세서가 요구됨에 따라 차량의 제어유닛을 구현하는 비용이 필연적으로 증가할 수 밖에 없다.More specifically, in the prior art, the
그러나, 본 발명의 실시예에 따르면, 통합제어유닛(20)을 구성하는 각 제어모듈(21, 22, 24, 25)이 별도의 소프트웨어로 구현될 수 있으며, 각 제어모듈(21, 22, 24, 25)은 상기 기술적 수단에 의해 생성된 인터페이스코드(23)를 통해 연동될 수 있다. 구체적으로, 본 발명의 몇몇 실시예들은 인터페이스코드(23)를 자동으로 생성하고, 인터페이스코드(23)와 연관된 제어모듈(21, 22, 24, 25)의 루틴(routine)이 인터페이스코드(23)를 이용하도록 자동 변환하는 기술적 수단을 제공할 수 있다. 여기서, 루틴이란 소소코드(source code)의 적어도 일부분을 의미할 수 있다.However, according to the embodiment of the present invention, each
또한, 본 발명의 다른 몇몇 실시예들은 API 후킹을 통해 차량의 통합제어유닛(20)을 효과적으로 테스트할 수 있는 기술적 수단을 제공하는 것을 목적으로 한다. 제공된 기술적 수단을 통해 신뢰도 높은 통합제어유닛(20)이 용이하게 구현될 수 있다.In addition, some other embodiments of the present invention aim to provide technical means for effectively testing the integrated
한편, 도 1은 차량의 통합제어유닛(10, 20)을 구성하는 복수의 제어모듈이 ECU(engine control unit)와 TCU(transmission control unit)인 것을 예로써 도시하고 있으나, 본 발명의 기술적 범위가 이에 한정되는 것은 아니다. 다만, 이하에서는, 이해의 편의를 위해 다른 언급이 없는 한, 복수의 제어모듈이 ECU와 TCU인 경우를 가정하여 설명을 이어가도록 한다.Meanwhile, FIG. 1 shows as an example that the plurality of control modules constituting the integrated
이하에서는, 도 2 이하의 도면들을 참조하여 상술한 발명의 목적을 달성하기 위한 본 발명의 몇몇 실시예들에 대하여 상세하게 설명하도록 한다.Hereinafter, some embodiments of the present invention for achieving the object of the present invention will be described in detail with reference to FIG. 2 and the following drawings.
도 2는 본 발명의 일 실시예에 따른 차량의 통합제어유닛 구현 장치(100)를 나타내는 예시적인 블록도이다. 이하, 설명의 편의상 통합제어유닛 구현 장치(100)를 "구현 장치(100)"로 약칭하도록 한다.2 is an exemplary block diagram illustrating an
도 2에 도시된 바와 같이, 구현 장치(100)는 연동정보 설정부(110), 코드 생성부(120) 및 빌드부(130)를 포함할 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 2에 도시된 구현 장치(100)의 각각의 구성요소들(예컨대 110, 120, 130)은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 복수의 구성요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 또한, 실제 물리적 환경에서 상기 각각의 구성 요소들은 복수의 세부 기능 요소로 분리되는 형태로 구현될 수도 있다. 이하, 구현 장치(100)의 각 구성요소에 대하여 설명하도록 한다.As shown in FIG. 2 , the
연동정보 설정부(110)는 복수의 제어모듈(예컨대 ECU, TCU) 사이의 연동 정보(31)를 설정할 수 있다. 가령, 연동정보 설정부(110)는 소정의 툴(tool)을 실행하여 연동 정보(31)를 설정할 수 있는 사용자 인터페이스를 제공하고, 사용자 인터페이스를 통해 입력된 정보에 기초하여 제어모듈 간의 연동 정보(31)를 설정할 수 있다.The interworking
연동 정보(31)는 예를 들어 제어모듈 사이에 공유되는 변수(데이터), 호출되는 함수 등에 관한 정보를 포함할 수 있다. 그러나, 이에 한정되는 것은 아니며, 연동 정보(31)는 제어모듈 간의 연동에 이용되는 각종 정보를 포함할 수 있다.The interworking
일 실시예에서, 연동 정보(31)는 ASAM MDX(metadata exchange format) 표준에 의거하여 설정(정의)될 수 있다. 이러한 경우, 차량 분야의 표준 포맷이 활용됨으로써, 개발 효율성이 더욱 향상될 수 있다. 본 실시예에 따른 연동 정보(31)의 일례에 관하여서는 도 4를 참조하도록 한다.In an embodiment, the interworking
연동정보 설정부(110)의 동작에 대한 보다 자세한 설명은 도 3 이하의 도면을 참조하여 후술하도록 한다.A more detailed description of the operation of the interworking
다음으로, 코드 생성부(120)는 통합제어유닛을 구현하기 위한 소스코드를 생성할 수 있다. 도시된 바와 같이, 코드 생성부(120)는 인터페이스코드 생성부(121)와 빌드코드 생성부(122)를 포함할 수 있다.Next, the
인터페이스코드 생성부(121)는 연동 정보(31)에 기초하여 인터페이스코드를 자동 생성할 수 있다. 인터페이스코드는 예를 들어 공유되는 변수에 접근(예컨대 저장, 읽기)하는 루틴(코드), 제어모듈 간에 호출되는 함수에 관한 루틴(코드) 등을 포함할 수 있다. 그러나, 이에 한정되는 것은 아니다. 인터페이스코드에 대한 일례에 관하여서는 도 5 내지 도 8을 참조하도록 한다.The
인터페이스코드 생성부(121)의 동작에 대한 보다 자세한 설명은 도 3 이하의 도면을 참조하여 후술하도록 한다.A more detailed description of the operation of the interface
다음으로, 빌드코드 생성부(122)는 각 제어모듈(예컨대 ECU, TCU)의 원본코드(32, 33)를 입력받고, 입력된 원본코드(32, 33)를 변환하여 각 제어모듈의 빌드코드를 생성할 수 있다. 여기서, 빌드코드란 실제 빌드에 이용되는 코드를 의미할 수 있다.Next, the build
구체적으로, 빌드코드 생성부(122)는 제1 제어모듈(예컨대 ECU)의 원본코드(32)에서 연동 정보(31)(또는 제2 제어모듈)와 연관된 루틴을 인터페이스코드를 이용하도록 변환함으로써 자동으로 빌드코드를 생성할 수 있다. 또한, 빌드코드 생성부(122)는 동일한 방식으로 제2 제어모듈(예컨대 TCU)의 원본코드(33)로부터 제2 제어모듈의 빌드코드를 생성할 수 있다.Specifically, the build
코드 생성부(120)의 동작에 대한 보다 자세한 설명은 도 3 이하의 도면을 참조하여 후술하도록 한다.A more detailed description of the operation of the
다음으로, 빌드부(130)는 각 제어모듈(예컨대 ECU, TCU)의 빌드코드와 인터페이스코드를 빌드(build)할 수 있다. 빌드 결과로, 각 제어모듈 별로 HEX 파일(34, 35)이 생성될 수 있다. 각 제어모듈 별로 HEX 파일이 생성됨에 따라 소프트웨어 관리의 효율성이 크게 향상될 수 있으며, 소프트웨어 개발 효율성 또한 크게 향상될 수 있다. 가령, ECU의 개발을 담당하는 개발팀은 독립적으로 ECU 소프트웨어만을 개발하고 ECU 소프트웨어의 HEX 파일만을 관리하면 되므로, 소프트웨어 개발 및 관리 효율성이 크게 향상될 수 있다. 뿐만 아니라, 각 제어모듈 별로 소프트웨어의 버전 관리가 이루어짐에 따라 소프트웨어 관리가 보다 체계적으로 수행될 수 있다.Next, the
일 실시예에서, 빌드부(130)는 복수의 제어모듈의 HEX 파일(34, 35)을 통합하여 통합 HEX 파일을 생성할 수도 있다.In one embodiment, the
또한, 일 실시예에서, 복수의 제어모듈의 HEX 파일(34, 35)은 하나의 프로세서에 탑재되어 실행될 수 있다. 가령, 복수의 제어모듈을 포함하는 통합제어유닛이 하나의 프로세서를 통해 구현되고, 상기 하나의 프로세서에 HEX 파일(34, 35)이 탑재되어 실행될 수 있다. 이러한 경우, 하드웨어 비용이 절감됨에 따라 통합제어유닛의 가격 경쟁력이 향상될 수 있다.Also, in one embodiment, the HEX files 34 and 35 of the plurality of control modules may be loaded and executed in one processor. For example, an integrated control unit including a plurality of control modules may be implemented through one processor, and the HEX files 34 and 35 may be loaded and executed on the one processor. In this case, as the hardware cost is reduced, the price competitiveness of the integrated control unit may be improved.
또한, 일 실시예에서, 빌드부(130)는 각 제어모듈의 HEX 파일(34, 35)과 후킹모듈의 HEX 파일(또는 후킹모듈이 포함된 HEX 파일)을 통합하여 통합제어유닛의 HEX 파일을 생성할 수 있다. 또는, 빌드부(130)는 각 제어모듈의 빌드코드와 후킹모듈의 빌드코드를 함께 빌드하여 통합제어유닛의 HEX 파일을 생성할 수도 있다. 여기서, 후킹모듈은 API(application programming interface) 후킹을 통해 통합제어유닛에 대한 테스트(예컨대 단위 테스트, 통합 테스트) 기능을 제공함으로써 통합제어유닛의 신뢰성을 향상시킬 수 있다. 본 실시예에 관하여서는 추후 도 15를 참조하여 보다 상세하게 설명하도록 한다.In addition, in one embodiment, the
빌드부(130)의 동작에 대한 보다 자세한 설명은 도 3 이하의 도면을 참조하여 후술하도록 한다.A more detailed description of the operation of the
한편, 도 2에 도시되어 있지는 않으나, 일 실시예에 따른 구현 장치(100)는 상기 후킹모듈과 연동하여 통합제어유닛에 대한 각종 테스트를 수행하는 테스트부(미도시)를 더 포함할 수도 있다.Meanwhile, although not shown in FIG. 2 , the
도 2에 예시된 구현 장치(100)는 하나 이상의 컴퓨팅 장치에 의해 구현될 수 있다. 예를 들어, 구현 장치(100)는 단일 컴퓨팅 장치에 의해 구현될 수 있고, 복수의 컴퓨팅 장치에 의해 구현될 수도 있다. 가령, 구현 장치(100)의 제1 기능은 제1 컴퓨팅 장치에 의해 구현되고, 제2 기능은 제2 컴퓨팅 장치에 의해 구현될 수도 있다. 또는, 구현 장치(100)의 특정 기능이 복수의 컴퓨팅 장치에 의해 구현될 수도 있다.The
상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop), 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 컴퓨팅 장치의 일 예시에 관하여서는 도 16을 참조하도록 한다.The computing device may be a notebook computer, a desktop computer, a laptop computer, and the like, but is not limited thereto and may include any type of device equipped with a computing function. For an example of a computing device, refer to FIG. 16 .
도 2의 각 구성요소(예컨대 110)는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현될 수도 있다.Each component (eg, 110 ) of FIG. 2 may mean software or hardware such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). However, the above components are not meant to be limited to software or hardware, and may be configured to be in an addressable storage medium or configured to execute one or more processors. The functions provided in the components may be implemented by more subdivided components, or may be implemented as one component that performs a specific function by combining a plurality of components.
지금까지 도 2를 참조하여 본 발명의 일 실시예에 따른 구현 장치(100)에 대하여 설명하였다. 이하에서는, 도 3 이하의 도면을 참조하여 본 발명의 일 실시예에 따른 차량의 통합제어유닛 구현 방법(이하, "구현 방법"으로 약칭함)에 대하여 설명하도록 한다.So far, the
이하에서 후술될 구현 방법의 각 단계는 컴퓨팅 장치에 의해 수행될 수 있으며, 컴퓨팅 장치의 프로세서에 의해 실행되는 하나 이상의 인스트럭션들(instructions)로 구현될 수 있다. 상기 구현 방법에 포함되는 모든 단계는 하나의 물리적인 컴퓨팅 장치에 의하여 실행될 수도 있을 것이나, 상기 방법의 제1 단계들은 제1 컴퓨팅 장치에 의하여 수행되고, 상기 방법의 제2 단계들은 제2 컴퓨팅 장치에 의하여 수행될 수도 있다. 이하에서는, 상기 구현 방법의 각 단계가 상술한 구현 장치(100)에 의해 수행되는 것을 가정하여 설명을 이어가도록 한다. 따라서, 이하의 설명에서 특정 동작의 주체가 생략된 경우, 구현 장치(100)에 의해 수행되는 것으로 이해될 수 있다.Each step of the implementation method to be described below may be performed by a computing device, and may be implemented as one or more instructions executed by a processor of the computing device. All steps included in the implementation method may be executed by one physical computing device, but the first steps of the method are performed by a first computing device, and the second steps of the method are performed by a second computing device may be performed by Hereinafter, it is assumed that each step of the implementation method is performed by the above-described
도 3은 본 발명의 일 실시예에 따른 구현 방법을 나타내는 예시적인 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.3 is an exemplary flowchart illustrating an implementation method according to an embodiment of the present invention. However, this is only a preferred embodiment for achieving the object of the present invention, and it goes without saying that some steps may be added or deleted as needed.
도 3에 도시된 바와 같이, 상기 구현 방법은 제어모듈 간의 연동 정보를 설정하는 단계 S100에서 시작될 수 있다. 가령, 구현 장치(100)는 소정의 툴을 실행하여 연동 정보를 설정할 수 있는 사용자 인터페이스를 제공하고, 사용자 인터페이스를 통해 입력된 정보에 기초하여 제어모듈 간의 연동 정보를 설정할 수 있다. 앞서 언급한 바와 같이, 연동 정보는 제어모듈 간에 공유되는 변수, 호출되는 함수 등에 관한 정보를 포함할 수 있다.As shown in FIG. 3 , the implementation method may start in step S100 of setting interworking information between control modules. For example, the
일 실시예에서, 상기 연동 정보는 ASAM MDX 표준에 의거하여 설정(정의)된 것일 수 있다. 이러한 경우, 차량 분야의 표준 포맷을 활용함으로써, 개발 효율성이 향상될 수 있다. 연동 정보의 일례에 대해서는 도 4를 참조하도록 하고, 당해 기술 분야의 종사자라면 ASAM MDX 표준에 대하여 충분히 숙지하고 있을 것인 바, 이에 대한 설명은 생략하도록 한다.In an embodiment, the interworking information may be set (defined) based on the ASAM MDX standard. In this case, by utilizing a standard format in the vehicle field, development efficiency may be improved. For an example of interworking information, refer to FIG. 4, and those skilled in the art will be fully familiar with the ASAM MDX standard, and a description thereof will be omitted.
단계 S200에서, 설정된 연동 정보를 기초로 인터페이스코드가 생성될 수 있다. 가령, 구현 장치(100)는 제1 제어모듈(예컨대 ECU)과 제2 제어모듈(예컨대 TCU) 사이의 연동 정보를 기초로 제1 제어모듈과 제2 제어모듈이 연동되기 위한 인터페이스코드를 생성할 수 있다.In step S200, an interface code may be generated based on the set interworking information. For example, the
인터페이스코드의 일례는 도 5 내지 도 8에 도시되어 있다. 도 5 내지 도 8에 도시된 바와 같이, 상기 인터페이스코드는 공유되는 변수 및/또는 호출되는 함수에 관한 연동정보 구조체를 선언(정의)하고 할당하는 루틴(41, 42), 연동정보 구조체에 관한 포인터 변수를 선언하는 루틴(43), 상기 선언된 포인터 변수를 통해 상기 연동정보 구조체에 포함된 다른 제어모듈의 함수를 호출하는 루틴(44) 등을 포함할 수 있다. 이러한 인터페이스코드를 통해 복수의 제어모듈이 연동될 수 있다.An example of the interface code is shown in FIGS. 5 to 8 . As shown in FIGS. 5 to 8, the interface code includes
다시 도 3을 참조하여 설명한다.It will be described again with reference to FIG. 3 .
단계 S300에서, 각 제어모듈의 원본코드를 변환하여 각 제어모듈의 빌드코드가 생성될 수 있다. 가령, 구현 장치(100)는 제1 제어모듈(예컨대 ECU)의 원본코드를 변환하여 제1 제어모듈의 빌드코드를 생성하고, 제2 제어모듈(예컨대 TCU)의 원본코드를 변환하여 제2 제어모듈의 빌드코드를 생성할 수 있다. 다만, 원본코드를 변환하는 구체적인 방식은 실시예에 따라 달라질 수 있다.In step S300, a build code of each control module may be generated by converting the original code of each control module. For example, the
일 실시예에서, 구현 장치(100)는 제1 제어모듈의 원본코드에서 연동 정보(또는 제2 제어모듈)와 연관된 루틴(예컨대 함수 호출 루틴, 변수 접근 루틴)을 결정하고, 결정된 루틴을 상기 인터페이스코드를 이용하는 루틴으로 변환하여 제1 제어모듈의 빌드코드를 생성할 수 있다. 예를 들어, 도 9에 도시된 바와 같이, 구현 장치(100)는 제1 제어모듈의 원본코드(50)에서 연동 정보와 연관된 함수 호출 루틴(51)을 인터페이스코드 상의 함수를 호출하는 루틴(52)으로 대체함으로써 제1 제어모듈의 빌드코드를 생성할 수 있다. 물론, 구현 장치(100)는 동일한 방식으로 제2 제어모듈에 대한 빌드 코드도 생성할 수 있다.In one embodiment, the
다른 실시예에서, 구현 장치(100)는 상제1 제어모듈의 원본코드에서 연동 정보(또는 제2 제어모듈)와 연관된 루틴을 결정하고, 결정된 루틴을 상기 인터페이스코드에 포함된 함수를 호출하는 루틴으로 재정의하는 매크로 코드를 삽입하여 제1 제어모듈의 빌드코드를 생성할 수 있다. 예를 들어, 도 10에 도시된 바와 같이, 구현 장치(100)는 제1 제어모듈의 원본코드(60)에 소정의 매크로 코드(62)를 삽입함으로써 제1 제어모듈의 빌드코드를 생성할 수 있다. 여기서, 소정의 매크로 코드(62)는 연동 정보와 연관된 함수(또는 함수 호출 루틴(61))가 인터페이스코드 상의 함수를 호출하도록 재정의하는 매크로 코드일 수 있다. 이러한 재정의는 예를 들어"#define" 매크로를 통해 수행될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다. 본 실시예에서, 구현 장치(100)는 동일한 방식으로 제2 제어모듈에 대한 빌드 코드도 생성할 수 있다.In another embodiment, the
단계 S400에서, 인터페이스코드와 빌드코드를 빌드하여 각 제어모듈의 HEX 파일이 생성될 수 있다. 가령, 구현 장치(100)는 인터페이스코드와 제1 제어모듈(예컨대 ECU)의 빌드코드를 빌드하여 제1 제어모듈의 HEX 파일을 생성할 수 있다. 또한, 구현 장치(100)는 인터페이스코드와 제2 제어모듈(예컨대 TCU)의 빌드코드를 빌드하여 제2 제어모듈의 HEX 파일을 생성할 수 있다. 각 제어모듈의 HEX 파일이 별도로 생성됨에 따라 소프트웨어 개발 및 관리(예컨대 버전 관리 등)의 효율성이 크게 향상될 수 있다.In step S400, by building the interface code and the build code, the HEX file of each control module may be generated. For example, the
단계 S400의 빌드 과정의 일례는 도 11에 도시되어 있다. 도 11은 복수의 제어모듈이 ECU와 TCU인 경우를 예시하고 있으며, 도시된 빌드 순서가 경우에 따라 달라질 수도 있음은 물론이다.An example of the build process of step S400 is shown in FIG. 11 . 11 exemplifies a case in which the plurality of control modules are the ECU and the TCU, and it goes without saying that the illustrated build order may vary depending on the case.
도 11에 도시된 바와 같이, 상기 빌드 과정은 ECU와 TCU 간의 인터페이스코드, ECU의 빌드코드, TCU의 빌드코드를 준비하는 단계 S410에서 시작될 수 있다.11 , the build process may be started in step S410 of preparing an interface code between the ECU and the TCU, a build code of the ECU, and a build code of the TCU.
단계 S420에서, 인터페이스코드와 ECU의 빌드코드를 빌드하여 ECU HEX 파일(71)이 생성될 수 있다.In step S420, the
단계 S430에서, 인터페이스코드와 TCU의 빌드코드를 빌드하여 TCU HEX 파일(72)이 생성될 수 있다.In step S430, the
단계 S440 및 S450에서, 플랫폼 코드에 대한 빌드 파일과 부트 HEX 파일(74)을 결합하여 플랫폼 HEX 파일(73)이 생성될 수 있다. 부트 HEX 파일(74)은 통합제어유닛의 부팅을 위한 HEX 파일을 의미할 수 있으며, 플랫폼 코드는 ECU의 HEX 파일(71)과 TCU의 HEX 파일(72)를 실행시키기 위한 기반 플랫폼에 관한 코드로써, 예를 들어 AUTOSAR(automotive open system architecture) 운영체제의 BSW(basic software) 레이어에 관한 코드일 수 있다(도 14 참조).In steps S440 and S450 , the
단계 S460에서, 플랫폼 HEX 파일(73)과 ECU HEX 파일(71)이 통합되어 플랫폼-ECU의 통합 HEX 파일(75)이 생성될 수 있다.In step S460 , the
단계 S470에서, 플랫폼 HEX 파일(73)과 TCU HEX 파일(72)이 통합되어 플랫폼-TCU의 통합 HEX 파일(76)이 생성될 수 있다.In step S470 , the
단계 S480에서, 플랫폼 HEX 파일(73)과 ECU HEX 파일(71) 및 TCU HEX 파일(72)이 통합되어 플랫폼-TCU-ECU의 통합 HEX 파일(77)이 생성될 수 있다.In step S480 , the
참고로, 상술한 빌드 과정에 따라 생성된 HEX 파일들(71 내지 73, 75 내지 77)은 통합제어유닛을 구현하기 위해 모두 함께 사용되는 것이 아니라, 목적에 맞게 선택적으로 사용될 수 있다.For reference, the HEX files 71 to 73 and 75 to 77 generated according to the above-described build process are not all used together to implement the integrated control unit, but may be selectively used according to the purpose.
도 12는 상술한 빌드 과정에 따라 생성된 통합 HEX 파일의 메모리맵의 일례를 도시하고 있다.12 shows an example of a memory map of an integrated HEX file generated according to the above-described build process.
도 12에 도시된 바와 같이, 통합 HEX 파일에는 타 제어모듈(즉, TCU)이 인터페이스코드의 함수를 통해 ECU의 함수를 호출할 수 있도록 변환된 루틴(84; 도 10 참조), 인터페이스코드에 포함된 연동정보 구조체에 관한 루틴(81, 83; 도 5 및 도 7 참조), ECU 빌드코드의 루틴(83) 등이 포함될 수 있다. 따라서, 타 제어모듈이 인터페이스코드의 루틴(81, 83)을 통해 ECU와 연동될 수 있다. 이와 같이, 자동 생성된 인터페이스코드와 자동 변환을 통해 생성된 빌드코드를 통해 개발자가 원본코드를 수정하지 않고도 복수의 제어모듈을 포함하는 통합제어유닛이 용이하게 구현될 수 있다.As shown in FIG. 12, the integrated HEX file includes a routine (84; see FIG. 10) converted so that other control modules (ie, TCU) can call functions of the ECU through the function of the interface code (refer to FIG. 10), and the
참고로, 도 3에 도시된 단계 S100, S200, S300 및 S400은 각각 연동정보 설정부(110), 인터페이스코드 생성부(121), 빌드코드 생성부(122) 및 빌드부(130)에 의해 수행될 수 있다.For reference, steps S100, S200, S300 and S400 shown in FIG. 3 are performed by the interworking
지금까지 도 3 내지 도 12를 참조하여 본 발명의 일 실시예에 따른 차량의 통합제어유닛 구현 방법에 대하여 설명하였다. 상술한 방법에 따르면, 연동 정보에 기초하여 복수의 제어모듈이 연동되기 위한 인터페이스코드가 자동으로 생성될 수 있고, 각 제어모듈의 원본코드의 루틴이 인터페이스코드를 이용하는 루틴으로 자동 변환될 수 있다. 이에 따라, 복수의 제어모듈을 포함하는 차량의 통합제어유닛이 용이하게 구현될 수 있다. 아울러, 각 개발팀은 담당하는 제어모듈의 원본코드만을 개발하면 되므로, 소프트웨어 개발 효율성이 크게 향상될 수 있으며, 제어모듈 별로 HEX 파일이 생성되는 바 소프트웨어 관리의 편의성 및 효율성 또한 크게 향상될 수 있다.So far, a method for implementing an integrated control unit of a vehicle according to an embodiment of the present invention has been described with reference to FIGS. 3 to 12 . According to the above-described method, an interface code for interworking a plurality of control modules may be automatically generated based on the interworking information, and a routine of the original code of each control module may be automatically converted into a routine using the interface code. Accordingly, an integrated control unit of a vehicle including a plurality of control modules can be easily implemented. In addition, since each development team only needs to develop the original code of the control module in charge, the software development efficiency can be greatly improved, and the convenience and efficiency of software management can also be greatly improved as a HEX file is generated for each control module.
이하에서는, 도 13 내지 도 15를 참조하여 상술한 구현 방법에 의해 구현된 통합제어유닛(90)에 대하여 간략하게 설명하도록 한다.Hereinafter, the
도 13 및 도 14는 본 발명의 일 실시예에 따른 통합제어유닛(90)을 나타내는 예시적인 블록도이다. 도 13 이하의 도면은 ECU와 TCU 기능이 통합된 제어유닛(90)을 예로써 도시하고 있다.13 and 14 are exemplary block diagrams showing the
도 13에 도시된 바와 같이, 실시예에 따른 통합제어유닛(90)은 ECU 모듈(91), TCU 모듈(92) 및 플랫폼모듈(93)을 포함할 수 있다. ECU 모듈(91)은 ECU의 HEX 파일(예컨대 71)이 통합제어유닛(90)의 프로세서에 의해 실행됨으로써 생성될 수 있고, TCU 모듈(92)은 TCU의 HEX 파일(예컨대 72)이 실행됨으로써 생성될 수 있다. 또한, 플랫폼모듈(93)은 플랫폼의 HEX 파일(예컨대 73)이 실행됨으로써 생성될 수 있다. 또는, 도시된 모듈(91 내지 93)은 통합 HEX 파일(예컨대 75 내지 77)이 실행됨으로써 생성될 수도 있다.13 , the
도시된 바와 같이, ECU 모듈(91)(또는 TCU 모듈 92)은 플랫폼모듈(93)에 포함된 API(즉, 함수) 리스트를 통해 API 주소를 획득하고, 획득된 주소를 통해 API를 호출함으로써 플랫폼모듈(93)이 제공하는 기반 기능(예컨대 메모리 관리, 통신 등)을 수행하거나, TCU 모듈(92)과 연동될 수 있다.As shown, the ECU module 91 (or TCU module 92) acquires an API address through the API (ie, function) list included in the
도 14에 도시된 바와 같이, ECU 모듈(91) 및 TCU 모듈(92)은 AUTOSAR의 ASW(application software) 레이어에 위치하는 모듈일 수 있고, 플랫폼모듈(93)은 BSW 레이어에 위치하는 모듈일 수 있다.14, the
도 15는 본 발명의 실시예에 따른 테스트 기능을 구비한 통합제어유닛(90)을 나타내는 예시적인 블록도이다.15 is an exemplary block diagram illustrating an
도 15에 도시된 바와 같이, 통합제어유닛(90)은 통합제어유닛(90)에 대한 테스트 기능을 제공하는 후킹모듈(94)을 더 포함할 수 있다. 구체적으로, 플랫폼모듈(93)에 API 후킹을 위해 대체된 API 리스트(96)가 포함될 수 있고, API 리스트(96)는 후킹모듈(94)의 API 주소를 반환하도록 미리 구성된 것일 수 있다. 그렇게 함으로써, ECU 모듈(91)(또는 TCU 모듈 92)이 API 호출 시, API의 제어권이 후킹모듈(95)에 의해 탈취(후킹)될 수 있다.15 , the
후킹모듈(94)은 상술한 바와 같은 API 후킹을 통해 통합제어유닛(90)에 대한 테스트 기능을 제공할 수 있다. 예를 들어, 후킹모듈(94)은 모듈 단위로 각 제어모듈(91, 92)의 동작을 검증하는 단위 테스트 기능을 제공할 수 있고, 제어모듈(91, 92)의 연동 동작을 종합적으로 검증하는 통합 테스트 기능도 제공할 수 있다. 가령, 후킹모듈(94)은 인터페이스코드를 이용하는 루틴을 집중적으로 검증하는 통합 테스트 기능을 제공할 수 있다. 이러한 테스트 기능을 통해 통합제어유닛(90)의 신뢰성이 향상될 수 있다.The hooking
일 실시예에 따르면, 도시된 바와 같이, 후킹모듈(94)은 결함주입테스트(fault injection test)를 제공하는 모듈(95)을 포함할 수 있다. 즉, 후킹모듈(94)은 결합주입테스트 모듈(95)을 통해 통합제어유닛(90)에 결함을 강제로 주입하고 주입된 결함에 따른 동작을 검증하는 테스트 기능을 제공할 수 있다. 이러한 기능이 제공됨에 따라, 통합제어유닛(90)의 신뢰성이 더욱 향상될 수 있다.According to one embodiment, as shown, the hooking
또한, 일 실시예에 따르면, 후킹모듈(94)은 통합제어유닛(90)의 동작을 로깅(logging)하는 기능을 더 제공할 수 있다. 이때, 로깅 수준(레벨)은 동적으로 변경될 수 있다. 가령, 후킹모듈(94)은 통합제어유닛(90)의 오류 발생 위치에 따라 횟수, 오류의 심각성, 오류 발생 위치 등에 따라 로깅 수준을 다르게 적용할 수 있다. 보다 구체적인 예로써, 후킹모듈(94)은 복수의 제어모듈(91, 92)이 연동되는 부분(예컨대 인터페이스 코드)에서 오류가 발생한 경우 높은 로깅 수준을 적용하고, 각 제어모듈(91, 92)이 독립적으로 동작하는 부분에서 오류가 발생한 경우 낮은 로깅 수준을 적용할 수 있다. 이때, 로깅 수준에 따라 로깅 데이터의 정보량이 달라질 수 있다. 다른 예로서, 후킹모듈(94)은 미리 정의되지 않은 특정 오류가 발생한 경우 상기 특정 오류가 다시 발생될 때까지 로깅 수준을 상향시킬 수 있다.In addition, according to an embodiment, the hooking
지금까지 도 13 내지 도 15를 참조하여 본 발명의 실시예에 다른 통합제어유닛(90)에 대하여 설명하였다. 이하에서는, 도 16을 참조하여 본 발명의 일 실시예에 따른 구현 장치(100) 또는 통합제어유닛(90)을 구현할 수 있는 예시적인 컴퓨팅 장치(200)에 대하여 설명하도록 한다.So far, the
도 16은 컴퓨팅 장치(200)를 나타내는 예시적인 하드웨어 구성도이다.16 is an exemplary hardware configuration diagram illustrating the
도 16에 도시된 바와 같이, 컴퓨팅 장치(200)는 하나 이상의 프로세서(210), 버스(230), 통신 인터페이스(240), 프로세서(210)에 의하여 수행되는 컴퓨터 프로그램(260)을 로드(load)하는 메모리(220)와, 컴퓨터 프로그램(260)을 저장하는 스토리지(250)를 포함할 수 있다. 다만, 도 16에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 16에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다.As shown in FIG. 16 , the
프로세서(210)는 컴퓨팅 장치(200)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(210)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(210)는 본 발명의 실시예에 따른 동작/방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(200)는 하나 이상의 프로세서를 구비할 수 있다.The
다음으로, 메모리(220)는 각종 데이터, 명령 및/또는 정보를 저장할 수 있다. 메모리(220)는 본 발명의 실시예에 따른 동작/방법을 실행하기 위하여 스토리지(250)로부터 하나 이상의 프로그램(260)을 로드할 수 있다. 가령, 메모리(220)에 컴퓨터 프로그램(260)이 로드되면, 도 2에 도시된 바와 같은 모듈들이 메모리(220) 상에 구현될 수 있다. 메모리(220)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 발명의 기술적 범위가 이에 한정되는 것은 아니다.Next, the
다음으로, 버스(230)는 컴퓨팅 장치(200)의 구성요소 간 통신 기능을 제공할 수 있다. 버스(230)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.Next, the
다음으로, 통신 인터페이스(240)는 컴퓨팅 장치(200)의 유무선 통신을 지원할 수 있다. 이를 위해, 통신 인터페이스(240)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 경우에 따라, 통신 인터페이스(240)는 생략될 수도 있다.Next, the
다음으로, 스토리지(250)는 상기 하나 이상의 프로그램(260)을 비임시적으로 저장할 수 있다. 스토리지(250)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.Next, the
다음으로, 컴퓨터 프로그램(260)은 메모리(220)에 로드될 때 프로세서(210)로 하여금 본 발명의 실시예에 따른 동작/방법을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(210)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 실시예에 따른 동작/방법을 수행할 수 있다.Next, the
예를 들어, 컴퓨터 프로그램(260)은 차량의 통합제어유닛을 구성하는 제1 제어모듈(예컨대 ECU)과 제2 제어모듈(예컨대 TCU) 사이의 연동 정보를 기초로 인터페이스코드를 생성하는 동작 및 생성된 인터페이스코드, 제1 제어모듈의 빌드코드 및 제2 제어모듈의 빌드코드를 빌드하여, 제1 제어모듈의 HEX 파일과 제2 제어모듈의 HEX 파일을 생성하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(200)를 통해 본 발명의 일 실시예에 따른 구현 장치(100)가 구현될 수 있다.For example, the
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 기록 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 또한, 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.The technical ideas of the present invention described so far may be implemented as computer-readable codes on a computer-readable recording medium. In addition, it may be performed by the execution of a computer program embodied as computer readable code. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program may be transmitted from the first computing device to the second computing device through a network such as the Internet and installed in the second computing device, thereby being used in the second computing device. The first computing device and the second computing device include all of a server device, a physical server belonging to a server pool for cloud services, and a stationary computing device such as a desktop PC.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although acts are shown in a particular order in the drawings, it should not be understood that the acts must be performed in the specific order or sequential order shown, or that all illustrated acts must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be construed as necessarily requiring such separation, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing its technical spirit or essential features. can understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent range should be interpreted as being included in the scope of the technical ideas defined by the present invention.
Claims (13)
상기 통합제어유닛을 구성하는 제1 제어모듈과 제2 제어모듈 사이의 연동 정보를 기초로 인터페이스코드를 생성하는 단계; 및
상기 생성된 인터페이스코드, 상기 제1 제어모듈의 빌드코드 및 상기 제2 제어모듈의 빌드코드를 빌드하여, 상기 제1 제어모듈의 HEX 파일과 상기 제2 제어모듈의 HEX 파일을 생성하는 단계를 포함하는,
차량의 통합제어유닛 구현 방법.A method for implementing an integrated control unit of a vehicle in a computing device, the method comprising:
generating an interface code based on interworking information between a first control module and a second control module constituting the integrated control unit; and
building the generated interface code, the build code of the first control module, and the build code of the second control module to generate the HEX file of the first control module and the HEX file of the second control module doing,
A method of implementing an integrated control unit of a vehicle.
상기 제1 제어모듈의 HEX 파일과 상기 제2 제어모듈의 HEX 파일은 하나의 프로세서에 탑재되어 실행되는,
차량의 통합제어유닛 구현 방법.According to claim 1,
The HEX file of the first control module and the HEX file of the second control module are loaded and executed in one processor,
A method of implementing an integrated control unit of a vehicle.
상기 제1 제어모듈은 ECU(engine control unit)의 기능을 수행하는 모듈이고,
상기 제2 제어모듈은 TCU(transmission control unit)의 기능을 수행하는 모듈인,
차량의 통합제어유닛 구현 방법.According to claim 1,
The first control module is a module that performs a function of an engine control unit (ECU),
The second control module is a module that performs a function of a TCU (transmission control unit),
A method of implementing an integrated control unit of a vehicle.
상기 연동 정보는 상기 제1 제어모듈과 상기 제2 제어모듈 간에 공유되는 변수 또는 호출되는 함수에 관한 정보를 포함하는,
차량의 통합제어유닛 구현 방법.According to claim 1,
The interworking information includes information about a function to be called or a variable shared between the first control module and the second control module,
A method of implementing an integrated control unit of a vehicle.
상기 연동 정보는 ASAM MDX(metadata exchange format) 표준에 의거하여 설정된 것인,
차량의 통합제어유닛 구현 방법.According to claim 1,
The interworking information is set based on the ASAM MDX (metadata exchange format) standard,
A method of implementing an integrated control unit of a vehicle.
상기 제1 제어모듈의 HEX 파일과 상기 제2 제어모듈의 HEX 파일을 생성하는 단계는,
상기 제1 제어모듈의 원본코드에서 상기 연동 정보와 연관된 루틴을 결정하는 단계; 및
상기 결정된 루틴을 상기 인터페이스코드를 이용하는 루틴으로 변환하여 상기 제1 제어모듈의 빌드코드를 생성하는 단계를 포함하는,
차량의 통합제어유닛 구현 방법.According to claim 1,
The step of generating the HEX file of the first control module and the HEX file of the second control module is,
determining a routine associated with the interworking information in the original code of the first control module; and
converting the determined routine into a routine using the interface code to generate a build code of the first control module,
A method of implementing an integrated control unit of a vehicle.
상기 결정된 루틴은 함수 호출 루틴이고,
상기 빌드코드를 생성하는 단계는,
상기 결정된 루틴을 상기 인터페이스코드에 포함된 함수 호출 루틴으로 대체하는 단계를 포함하는,
차량의 통합제어유닛 구현 방법.7. The method of claim 6,
The determined routine is a function call routine,
The step of generating the build code is,
Comprising the step of replacing the determined routine with a function call routine included in the interface code,
A method of implementing an integrated control unit of a vehicle.
상기 결정된 루틴은 함수 호출 루틴이고,
상기 빌드코드를 생성하는 단계는,
상기 결정된 루틴을 상기 인터페이스코드에 포함된 함수를 호출하는 루틴으로 재정의하는 매크로 코드를 삽입하는 단계를 포함하는,
차량의 통합제어유닛 구현 방법.7. The method of claim 6,
The determined routine is a function call routine,
The step of generating the build code is,
Inserting a macro code that redefines the determined routine as a routine that calls a function included in the interface code,
A method of implementing an integrated control unit of a vehicle.
상기 제1 제어모듈의 HEX 파일, 상기 제2 제어모듈의 HEX 파일 및 후킹모듈의 HEX 파일을 통합하여 상기 통합제어유닛의 HEX 파일을 생성하는 단계를 더 포함하되,
상기 후킹모듈은 API 후킹을 통해 상기 제1 제어모듈 및 상기 제2 제어모듈에 대한 통합 테스트 기능을 제공하는,
차량의 통합제어유닛 구현 방법.According to claim 1,
The method further comprising generating a HEX file of the integrated control unit by integrating the HEX file of the first control module, the HEX file of the second control module, and the HEX file of the hooking module,
The hooking module provides an integrated test function for the first control module and the second control module through API hooking,
A method of implementing an integrated control unit of a vehicle.
상기 후킹모듈을 결함 주입 테스트를 수행하는 모듈을 포함하는,
차량의 통합제어유닛 구현 방법.10. The method of claim 9,
Containing a module for performing a defect injection test on the hooking module,
A method of implementing an integrated control unit of a vehicle.
상기 연동 정보를 기초로 인터페이스코드를 생성하는 인터페이스코드 생성부;
상기 제1 제어모듈의 원본코드와 상기 제2 제어모듈의 원본코드를 변환하여 상기 제1 제어모듈의 빌드코드와 상기 제2 제어모듈의 빌드코드를 생성하는 빌드코드 생성부; 및
상기 인터페이스코드, 상기 제1 제어모듈의 빌드코드 및 상기 제2 제어모듈의 빌드코드를 빌드하여, 상기 제1 제어모듈의 HEX 파일과 상기 제2 제어모듈의 HEX 파일을 생성하는 빌드부를 포함하는,
차량의 통합제어유닛 구현 장치.an interlocking information setting unit for setting interworking information between the first control module and the second control module constituting the integrated control unit of the vehicle;
an interface code generator for generating an interface code based on the interworking information;
a build code generator converting the original code of the first control module and the original code of the second control module to generate the build code of the first control module and the build code of the second control module; and
Comprising a build unit that builds the interface code, the build code of the first control module, and the build code of the second control module to generate the HEX file of the first control module and the HEX file of the second control module,
A device for implementing an integrated control unit of a vehicle.
상기 제1 제어모듈은 ECU(engine control unit)의 기능을 수행하는 모듈이고,
상기 제2 제어모듈은 TCU(transmission control unit)의 기능을 수행하는 모듈인,
차량의 통합제어유닛 구현 장치.12. The method of claim 11,
The first control module is a module that performs a function of an engine control unit (ECU),
The second control module is a module that performs a function of a TCU (transmission control unit),
A device for implementing an integrated control unit of a vehicle.
상기 빌드부는,
상기 제1 제어모듈의 원본코드에서 상기 연동 정보와 연관된 루틴을 결정하고, 상기 결정된 루틴을 상기 인터페이스코드를 이용하는 루틴으로 변환하여 상기 제1 제어모듈의 빌드코드를 생성하는,
차량의 통합제어유닛 구현 장치.
12. The method of claim 11,
The build unit,
determining a routine related to the interworking information from the original code of the first control module, and converting the determined routine into a routine using the interface code to generate a build code of the first control module,
A device for implementing an integrated control unit of a vehicle.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200175292A KR102360330B1 (en) | 2020-12-15 | 2020-12-15 | Method for implementing integrated control unit of vehicle and apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200175292A KR102360330B1 (en) | 2020-12-15 | 2020-12-15 | Method for implementing integrated control unit of vehicle and apparatus thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102360330B1 true KR102360330B1 (en) | 2022-02-08 |
Family
ID=80252727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200175292A KR102360330B1 (en) | 2020-12-15 | 2020-12-15 | Method for implementing integrated control unit of vehicle and apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102360330B1 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0644063A (en) * | 1991-12-23 | 1994-02-18 | Microsoft Corp | Method of integrating individual subprogram to main program |
KR20060000648A (en) * | 2004-06-29 | 2006-01-06 | 현대자동차주식회사 | An engine control module and transmission control module data transmit and receive device when a can network failure and method |
JP2009286380A (en) * | 2008-06-02 | 2009-12-10 | Honda Motor Co Ltd | On-vehicle electronic control device and vehicle with fuel cell |
JP2010215008A (en) * | 2009-03-13 | 2010-09-30 | Denso Corp | Vehicle control system |
KR101470168B1 (en) * | 2013-06-14 | 2014-12-05 | 현대자동차주식회사 | Reprogramming method for cpu of controller |
KR20150043732A (en) | 2013-10-15 | 2015-04-23 | 현대자동차주식회사 | System and method for software update of vehicle controller |
WO2017056194A1 (en) * | 2015-09-29 | 2017-04-06 | 株式会社 東芝 | Information device, information communication terminal, and information processing method |
-
2020
- 2020-12-15 KR KR1020200175292A patent/KR102360330B1/en active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0644063A (en) * | 1991-12-23 | 1994-02-18 | Microsoft Corp | Method of integrating individual subprogram to main program |
KR20060000648A (en) * | 2004-06-29 | 2006-01-06 | 현대자동차주식회사 | An engine control module and transmission control module data transmit and receive device when a can network failure and method |
JP2009286380A (en) * | 2008-06-02 | 2009-12-10 | Honda Motor Co Ltd | On-vehicle electronic control device and vehicle with fuel cell |
JP2010215008A (en) * | 2009-03-13 | 2010-09-30 | Denso Corp | Vehicle control system |
KR101470168B1 (en) * | 2013-06-14 | 2014-12-05 | 현대자동차주식회사 | Reprogramming method for cpu of controller |
KR20150043732A (en) | 2013-10-15 | 2015-04-23 | 현대자동차주식회사 | System and method for software update of vehicle controller |
WO2017056194A1 (en) * | 2015-09-29 | 2017-04-06 | 株式会社 東芝 | Information device, information communication terminal, and information processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI400652B (en) | Dual operating system parallel processing methods, recording media and computer program products | |
US7818730B1 (en) | Automatic minimal build dependency determination and building an executable with source code | |
US10019598B2 (en) | Dynamic service discovery | |
US10296353B2 (en) | Protecting basic input/output (BIOS) code | |
EP2850529A2 (en) | System and methods for generating and managing a virtual device | |
US20070220493A1 (en) | Recording medium, software verification apparatus and software verification method | |
US7856637B1 (en) | Runtime emulating static thread local storage of portable executable software code | |
US6901583B1 (en) | Method for testing of a software emulator while executing the software emulator on a target machine architecture | |
CN109558117B (en) | Aerospace application-oriented AADL model refinement and C code automatic generation method supported by same | |
US10073687B2 (en) | System and method for cross-building and maximizing performance of non-native applications using host resources | |
CN115617009A (en) | Virtual development environment apparatus, method and recording medium | |
US8726258B2 (en) | Supporting multiple hardware components in UEFI | |
CN111427782A (en) | Operation method, device, equipment and storage medium of android dynamic link library | |
CN108874662B (en) | Test method and non-transitory computer readable medium storing program | |
CN112965895B (en) | Desktop application program automatic test method, device, equipment and storage medium | |
CN117034821B (en) | Regression verification method and medium for chip design front-end simulation verification | |
US11599342B2 (en) | Pathname independent probing of binaries | |
KR102360330B1 (en) | Method for implementing integrated control unit of vehicle and apparatus thereof | |
CN114546581A (en) | Service-free container starting method and related equipment | |
US8539468B2 (en) | System and methods for replacing software application classes using transparent object adapters | |
CN105260186A (en) | Construction method and device of application program SDK for embedded system | |
CN114661427B (en) | Node management method and system for computing cluster for deploying containerized application service | |
CN115454403A (en) | Page construction method and device and storage medium | |
CN115495158A (en) | Dynamic construction method of system service in microkernel operating system | |
EP4261631A1 (en) | Control system and control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |