KR20190041791A - Apparatus for embedded software development of multi target and method for the same - Google Patents

Apparatus for embedded software development of multi target and method for the same Download PDF

Info

Publication number
KR20190041791A
KR20190041791A KR1020170133468A KR20170133468A KR20190041791A KR 20190041791 A KR20190041791 A KR 20190041791A KR 1020170133468 A KR1020170133468 A KR 1020170133468A KR 20170133468 A KR20170133468 A KR 20170133468A KR 20190041791 A KR20190041791 A KR 20190041791A
Authority
KR
South Korea
Prior art keywords
target
information
command
application program
target application
Prior art date
Application number
KR1020170133468A
Other languages
Korean (ko)
Other versions
KR102130166B1 (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 KR1020170133468A priority Critical patent/KR102130166B1/en
Publication of KR20190041791A publication Critical patent/KR20190041791A/en
Application granted granted Critical
Publication of KR102130166B1 publication Critical patent/KR102130166B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Disclosed is a method for developing embedded software of multiple targets. According to one embodiment of the present disclosure, the method may comprises the processes of: checking network information of a plurality of target devices and sharing information of a target file system of the target devices from multiple target project setting information by a host device; mounting a target file system of the target devices in a directory of the host device based on the network information of the target devices and the sharing information of the target file system of the target devices; and generating build information of a service application program individually corresponding to setting environment of the target devices by using the mounted target file system of the target devices.

Description

다중 타겟의 임베디드 소프트웨어 개발 장치 및 방법{APPARATUS FOR EMBEDDED SOFTWARE DEVELOPMENT OF MULTI TARGET AND METHOD FOR THE SAME}[0001] APPARATUS FOR EMBEDDED SOFTWARE DEVELOPMENT OF MULTI TARGET AND METHOD FOR THE SAME [0002]

본 개시는 임베디드 소프트웨어 개발 시스템에 관한 것이며, 보다 구체적으로는 프로그램 언어의 컴파일 방법 및 장치에 대한 것이다.This disclosure relates to an embedded software development system, and more particularly to a method and apparatus for compiling a programming language.

임베디드 시스템(embedded system)은 하드웨어와 소프트웨어가 특정한 기능을 전용으로 수행하기 위하여 결합된 시스템을 의미할 수 있다. 예를 들어 DVD 플레이어, MP3 플레이어, 디지털 카메라, TV, 냉장고, 세탁기와 같은 가전기기, 의료기기, 자동차, 항공기 및 우주선 등의 다양한 정보 처리 기기가 포함될 수 있다.An embedded system may mean a system in which hardware and software are combined to perform a specific function exclusively. For example, a variety of information processing devices such as a DVD player, an MP3 player, a digital camera, a home appliance such as a TV, a refrigerator, a washing machine, a medical device, an automobile, an aircraft and a spacecraft.

최근 정보 처리 기술의 발전으로 인해 임베디드 시스템에 내장되는 하드웨어 및 소프트웨어의 성능이 향상됨에 따라 스마트폰(smart phone), 태블릿 PC(tablet PC), PDA(Personal Digital Assistant)와 같이 범용성을 지닌 임베디드 기기가 대중화되었다. 따라서, 임베디드 소프트웨어 개발 도구를 이용하여 다양하고 복잡한 기능을 수행할 수 있는 임베디드 소프트웨어가 개발되고 있다.Due to the recent advances in information processing technology, hardware and software embedded in embedded systems have been improved in performance, leading to the development of versatile embedded devices such as smart phones, tablet PCs, and personal digital assistants It was popularized. Therefore, embedded software that can perform various complex functions using embedded software development tools is being developed.

종래의 임베디드 소프트웨어 개발 환경은 타겟 시스템(target system)의 프로세서, 메모리, I/O(Input/Output) 장치, 네트워크 장치 등의 하드웨어 자원 및 운영체제, 시스템 소프트웨어, 응용 소프트웨어 등의 소프트웨어 자원에 대한 성능의 제약으로 인해 임베디드 소프트웨어를 개발하는 호스트 시스템과 개발된 소프트웨어가 실행되는 타겟 시스템이 분리되어 운영되었다.The conventional embedded software development environment is a system in which the hardware resources such as the target system's processor, memory, input / output (I / O) device, and network device, and software resources such as operating system, system software, Due to the constraints, the host system that develops the embedded software and the target system that runs the developed software are operated separately.

나아가, 통신환경의 발달로 인해, 다수의 타겟 시스템 장치들 사이의 연동을 기반으로 하는 시스템의 구축 및 운영이 요구되고 있다. 그러나, 다수의 타겟 시스템 장치에 구비되는 하드웨어 자원과 서비스 응용이 서로 다르게 구비되고 있어, 다수의 타겟 시스템 장치들에서 여러 서비스 응용들이 동시에 연동되어 실행되기 어려운 문제가 발생된다. Furthermore, due to the development of communication environments, there is a demand for the construction and operation of a system based on interworking between a plurality of target system devices. However, since a plurality of target system devices are provided with hardware resources and service applications different from each other, there arises a problem that it is difficult for a plurality of target system devices to simultaneously execute a plurality of service applications linked to each other.

본 개시의 기술적 과제는 다중 타겟 장치를 구비하는 전체 시스템에서 다양한 타겟 장치들에 탑재되어 있는 서비스 응용을 동시에 생성, 실행, 또는 추적 할 수 있는 방법 및 장치를 제공하는 것이다. SUMMARY OF THE INVENTION The present invention is directed to a method and apparatus for concurrently creating, executing, or tracking service applications that are loaded on various target devices in an overall system having multiple target devices.

본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical objects to be achieved by the present disclosure are not limited to the above-mentioned technical subjects, and other technical subjects which are not mentioned are to be clearly understood from the following description to those skilled in the art It will be possible.

본 개시의 일 양상에 따르면 다중 타겟의 임베디드 소프트웨어 개발 방법이 제공될 수 있다. 상기 방법은 호스트 장치가 다중 타겟 프로젝트 설정 정보로부터 복수의 타겟 장치의 네트워크 정보와 상기 복수의 타겟 장치의 타겟 파일 시스템의 공유 정보를 확인하는 과정과, 상기 복수의 타겟 장치의 네트워크 정보와 상기 복수의 타겟 장치의 타겟 파일 시스템의 공유 정보에 기초하여, 상기 복수의 타겟 장치의 타겟 파일 시스템을 호스트 장치의 디렉토리에 마운트 하는 과정과, 상기 마운트된 상기 복수의 타겟 장치의 타겟 파일 시스템을 사용하여, 상기 복수의 타겟 장치의 설정 환경에 각각 대응되는 서비스 응용 프로그램의 빌드정보를 생성하는 과정을 포함할 수 있다. According to an aspect of the present disclosure, a method for developing an embedded software of multiple targets can be provided. The method comprising the steps of: the host apparatus confirming network information of a plurality of target apparatuses and sharing information of a target file system of the plurality of target apparatuses from multiple target project setting information; Comprising the steps of: mounting a target file system of the plurality of target apparatuses in a directory of a host apparatus, based on sharing information of the target file system of the target apparatus; and using the target file system of the plurality of mounted target apparatuses And generating the build information of the service application program corresponding to the setting environment of the plurality of target devices, respectively.

본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.The features briefly summarized above for this disclosure are only exemplary aspects of the detailed description of the disclosure which follow, and are not intended to limit the scope of the disclosure.

본 개시에 따르면, 다중 타겟 장치를 구비하는 전체 시스템에서 다양한 타겟 장치들에 탑재되어 있는 서비스 응용을 동시에 생성, 실행, 또는 추적 할 수 있는 방법 및 장치가 제공될 수 있다.According to the present disclosure, a method and apparatus for simultaneously creating, executing, or tracking service applications that are loaded on various target devices in an overall system with multiple target devices can be provided.

본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable from the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below will be.

도 1은 본 개시의 일 실시예에 따른 다중 타겟의 임베디드 개발 시스템의 구성을 도시하는 블록도이다.
도 2는 본 개시의 일 실시예에 따른 다중 타겟의 임베디드 개발 시스템의 처리 구조를 예시하는 도면이다.
도 3은 본 개시의 일 실시예에 따른 다중 타겟의 임베디드 개발 시스템의 동작을 예시하는 도면이다.
도 4는 도 3의 S302 단계의 구체적인 동작을 예시하는 흐름도이다.
도 5는 도 3의 S303 단계의 구체적인 동작을 예시하는 흐름도이다.
도 6은 도 3의 S305 단계의 구체적인 동작을 예시하는 흐름도이다.
도 7은 도 3의 S306 단계의 구체적인 동작을 예시하는 흐름도이다.
도 8은 도 3의 S307 단계의 구체적인 동작을 예시하는 흐름도이다.
1 is a block diagram illustrating the configuration of an embedded development system of multiple targets in accordance with one embodiment of the present disclosure.
2 is a diagram illustrating a processing structure of an embedded development system of multiple targets in accordance with one embodiment of the present disclosure;
3 is a diagram illustrating operation of an embedded development system for multiple targets in accordance with one embodiment of the present disclosure.
4 is a flowchart illustrating a concrete operation of step S302 of FIG.
5 is a flowchart illustrating a specific operation of step S303 of FIG.
6 is a flowchart illustrating a specific operation in step S305 of FIG.
7 is a flowchart illustrating a specific operation of step S306 of FIG.
8 is a flowchart illustrating a specific operation in step S307 of FIG.

이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings, which will be easily understood by those skilled in the art. However, the present disclosure may be embodied in many different forms and is not limited to the embodiments described herein.

본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.In the following description of the embodiments 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 disclosure rather unclear. Parts not related to the description of the present disclosure in the drawings are omitted, and like parts are denoted by similar reference numerals.

본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In the present disclosure, when an element is referred to as being "connected", "coupled", or "connected" to another element, it is understood that not only a direct connection relationship but also an indirect connection relationship May also be included. Also, when an element is referred to as " comprising " or " having " another element, it is meant to include not only excluding another element but also another element .

본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제1 구성요소는 다른 실시 예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시 예에서의 제2 구성요소를 다른 실시 예에서 제1 구성요소라고 칭할 수도 있다. In the present disclosure, the terms first, second, etc. are used only for the purpose of distinguishing one element from another, and do not limit the order or importance of elements, etc. unless specifically stated otherwise. Thus, within the scope of this disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly a second component in one embodiment may be referred to as a first component .

본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, the components that are distinguished from each other are intended to clearly illustrate each feature and do not necessarily mean that components are separate. That is, a plurality of components may be integrated into one hardware or software unit, or a single component may be distributed into a plurality of hardware or software units. Thus, unless otherwise noted, such integrated or distributed embodiments are also included within the scope of this disclosure.

본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, the components described in the various embodiments are not necessarily essential components, and some may be optional components. Thus, embodiments consisting of a subset of the components described in one embodiment are also included within the scope of the present disclosure. Also, embodiments that include other elements in addition to the elements described in the various embodiments are also included in the scope of the present disclosure.

이하, 첨부한 도면을 참조하여 본 개시의 실시 예들에 대해서 설명한다.Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings.

도 1은 본 개시의 일 실시예에 따른 다중 타겟의 임베디드 개발 시스템의 구성을 도시하는 블록도이다. 도 1을 참조하면, 다중 타겟의 임베디드 개발 시스템(100)은 호스트 장치(110)와 복수의 타겟 장치(120)를 구비할 수 있다. 상기 호스트 장치(110)와 복수의 타겟 장치(120)는 유무선 통신망을 통해 연결될 수 있으며, 유무선 통신망 내에 구비되는 원격 커맨드 터널을 통해 데이터를 송수신할 수 있다.1 is a block diagram illustrating the configuration of an embedded development system of multiple targets in accordance with one embodiment of the present disclosure. Referring to FIG. 1, a multi-target embedded development system 100 may include a host device 110 and a plurality of target devices 120. The host device 110 and the plurality of target devices 120 may be connected to each other through a wired / wireless communication network, and may transmit / receive data through a remote command tunnel provided in a wired / wireless communication network.

호스트 장치(110)는 복수의 타겟 장치(120)에 임베디드 될 소스코드의 작성을 관리하는 통합 컴파일 처리부(111), 및 복수의 타겟 장치(120)와의 연결, 복수의 타겟 장치(120)에 적용될 소스코드의 기초가되는 컴맨드의 전달, 복수의 타겟 장치(120)의 파일 시스템의 공유 들을 처리하는 호스트 컴맨드 에이전트(113)를 구비할 수 있다. 또한, 호스트 장치(110)는 파일 시스템을 구비할 수 있는데, 장치 내부의 처리 데이터를 관리하는 로컬 파일 시스템(115)과, 복수의 타겟 장치(120) 각각에 구비되는 타겟 파일시스템을 마운팅한 복수의 타겟 파일 시스템(117-1, 117-2, 117-n)을 구비할 수 있다.The host apparatus 110 includes an integrated compilation processing unit 111 for managing creation of source codes to be embedded in a plurality of target apparatuses 120 and a plurality of target apparatuses 120 connected to the plurality of target apparatuses 120 And a host command agent 113 that handles the delivery of commands that are the basis of the source code and the sharing of file systems of the plurality of target devices 120. [ The host device 110 may include a file system. The host device 110 may include a local file system 115 that manages process data in the device, a plurality of target files 120 mounted on each of the plurality of target devices 120 Target file systems 117-1, 117-2, and 117-n.

타겟 장치(120)는 타겟 커맨드 에이전트(121), 컴파일 처리부(123), 어플리케이션 프로세싱 처리부(125), 및 타겟 파일 시스템(127)을 포함할 수 있다. The target device 120 may include a target command agent 121, a compilation processing unit 123, an application processing unit 125, and a target file system 127.

타겟 커맨드 에이전트(121)는 호스트 장치(110)의 호스트 컴맨드 에이전트(113)와의 연결, 호스트 컴맨드 에이전트(113)로부터 전달되는 컴맨드를 컴파일 처리부(123)로 전달, 타겟 파일 시스템(127)의 공유 등을 처리할 수 있다. The target command agent 121 sends a command to the compilation processing unit 123 through the connection to the host command agent 113 of the host apparatus 110, the command transmitted from the host command agent 113, And the like can be handled.

컴파일 처리부(123)는 호스트 컴맨드 에이전트(113)로부터 전달되는 컴맨드를 수신하고, 컴맨드에 대응되는 소스코드를 생성하는 동작을 수행할 수 있다. 예컨대, 컴파일 처리부(123)는 컴파일러, 링커, 라이브러리 등을 포함할 수 있으며, 통상의 툴 체인으로서의 기능을 처리할 수 있다. The compilation processing unit 123 may receive a command transmitted from the host command agent 113 and may perform an operation of generating a source code corresponding to the command. For example, the compilation processing unit 123 may include a compiler, a linker, a library, and the like, and can process a function as a normal tool chain.

어플리케이션 프로세싱 처리부(125)는 컴파일 처리부(123)에서 생성된 소스코드(예, 컴파일된 코드)를 전달받아, 소스코드에 대응되는 동작을 처리할 수 있다.The application processing unit 125 receives the source code (e.g., compiled code) generated by the compilation processing unit 123 and can process an operation corresponding to the source code.

또한, 컴파일 처리부(123)와 어플리케이션 프로세싱 처리부(125)에서 생성되는 데이터는 타겟 파일 시스템(127)에 저장될 수 있으며, 타겟 파일 시스템(127)에 저장된 데이터는 호스트 장치(110)에 공유될 수 있다.Data generated in the compilation processing unit 123 and the application processing unit 125 may be stored in the target file system 127 and data stored in the target file system 127 may be shared with the host apparatus 110 have.

이하, 호스트 장치(110)와 타겟 장치(120)의 구체적인 동작에 대해 설명한다.Hereinafter, specific operations of the host device 110 and the target device 120 will be described.

도 2는 본 개시의 일 실시예에 따른 다중 타겟의 임베디드 개발 시스템의 처리 구조를 예시하는 도면이다.2 is a diagram illustrating a processing structure of an embedded development system of multiple targets in accordance with one embodiment of the present disclosure;

우선, 호스트 장치(110)의 통합 컴파일 처리부(111)는 다중 타겟 정보 해석, 다중 타겟 세션 초기화, 타겟 프로젝트 생성, 타겟 빌드 처리, 타겟 응용 실행 처리, 타겟 응용 성능 추적 및 재실행 분석 등의 동작을 수행할 수 있다.First, the integrated compilation processing unit 111 of the host device 110 performs operations such as analysis of multiple target information, initialization of multiple target sessions, target project creation, target build processing, target application execution processing, target application performance tracking and replay analysis can do.

다중 타겟 정보 해석 동작은 다중 타겟 프로젝트 설정 자료로부터 타겟들에 대한 정보를 입력받고, 타겟 장치(120)의 구성을 해석하는 동작을 포함할 수 있다. 다중 타겟 정보 해석 동작을 통해 타겟 장치(120)의 네트워크 관련 정보, 타겟 장치(120)의 타겟 파일 시스템의 공유 정보, 타겟 응용 프로그램 정보, 타겟 응용 프로그램의 실행을 위한 정보, 타겟 응용 프로그램의 추적 및 재실행 분석을 위한 정보 등을 확인할 수 있다. Multiple target information interpretation operations may include inputting information about targets from multiple target project configuration data and interpreting the configuration of target device 120. [ Information related to the network of the target device 120, information of the target file system of the target device 120, target application information, information for executing the target application program, tracking of the target application program, And information for re-execution analysis.

다중 타겟 세션 초기화 동작은 타겟 장치(120)의 네트워크 관련 정보 및 타겟 장치(120)의 타겟 파일 시스템의 공유 정보를 확인하고, 다중 타겟 세션을 연결하는 동작을 포함할 수 있다. 예컨대, 통합 컴파일 처리부(111)는 다중 타겟 세션 초기화 동작을 수행하기 위하여, 복수의 타겟 장치(120)의 네트워크 관련 정보와 복수의 타겟 장치(120)의 타겟 파일 시스템의 공유 정보를 확인하고, 복수의 타겟 장치(120)의 타겟 파일 시스템을 호스트 장치(110)의 디렉토리에 마운트 처리한 후, 복수의 타겟 커맨드 에이전트(121)와의 연결을 수행할 수 있다. The multiple target session initialization operation may include identifying network associated information of the target device 120 and shared information of the target file system of the target device 120, and concatenating multiple target sessions. For example, the integrated compilation processing unit 111 may check the network-related information of the plurality of target devices 120 and the shared information of the target file systems of the plurality of target devices 120, The target file system of the target device 120 of the target device 120 may be mounted in the directory of the host device 110, and then the target file system may be connected to the plurality of target command agents 121.

타겟 프로젝트 생성 동작은 프로젝트 속성 정보, 빌드 스크립트들, 그리고 응용 프로그램 소스를 생성 및 편집하는 동작을 포함할 수 있다. 예컨대, 통합 컴파일 처리부(111)는 타겟 프로젝트 생성 동작을 처리하기 위하여, 복수의 타겟 파일 시스템이 마운트된 호스트 장치(110)의 디렉토리를 확인하고, 확인된 디렉토리에 타겟 응용 프로그램을 작성하고, 복수의 타겟 파일 시스템이 마운트된 호스트 장치(110)의 디렉토리에서 빌드 스크립트들, 그리고 응용 프로그램 소스를 생성할 수 있다. The target project creation operation may include generating and editing project property information, build scripts, and application source. For example, in order to process a target project creation operation, the integrated compilation processing unit 111 checks a directory of the host apparatus 110 on which a plurality of target file systems are mounted, creates a target application program in the checked directory, Build scripts, and application source from the directory of the host device 110 where the target file system is mounted.

타겟 빌드 처리 동작은 타겟의 응용 프로그램을 컴파일하여 실행 가능한 소스코드를 생성하는 동작일 수 있다. 예컨대, 타겟 빌드 처리 동작을 처리하기 위하여, 통합 컴파일 처리부(111)는 호스트 컴맨드 에이전트(113)를 통해 복수의 타겟 커맨드 에이전트(121)와의 연결을 수행하고, 복수의 타겟 커맨드 에이전트(121)로 빌드 명령어를 전달하여, 복수의 타겟 장치(120)의 컴파일 처리부(123)가 각각 해당 빌드 명령어를 수행하도록 하고, 수행된 결과를 수신할 수 있다. The target build processing operation may be an operation of compiling an application of the target to generate executable source code. For example, in order to process the target build processing operation, the integrated compilation processing unit 111 performs a connection with the plurality of target command agents 121 through the host command agent 113, The build processing unit 123 of each of the plurality of target devices 120 may execute the corresponding build command and receive the executed result.

타겟 응용 실행 처리 동작은 타겟 응용 프로그램을 복수의 타겟 장치에서 실행되도록 처리하는 동작일 수 있다. 예컨대, 타겟 응용 프로그램 실행 처리 동작을 수행하기 위하여, 통합 컴파일 처리부(111)는 호스트 컴맨드 에이전트(113)를 통해 복수의 타겟 커맨드 에이전트(121)와의 연결을 수행하고, 타겟 커맨드 에이전트(121)로 타겟 응용 프로그램 실행 명령어를 전달하여, 복수의 타겟 장치(120)의 어플리케이션 프로세싱 처리부(125)가 해당 타겟 응용 프로그램을 수행하도록 하고, 수행된 결과를 수신할 수 있다. The target application execution processing operation may be an operation of processing the target application to be executed in a plurality of target apparatuses. For example, in order to perform the target application execution processing operation, the integrated compilation processing unit 111 performs a connection with the plurality of target command agents 121 through the host command agent 113, The application processing unit 125 of the plurality of target devices 120 may execute the target application program and receive the result of the execution by transmitting the target application execution command.

타겟 응용 성능 추적 및 재실행 분석 동작은 타겟에 적합한 추적기를 사용하여 타겟 응용 프로그램의 실행 상태를 저장하고 저장된 결과의 추적/재실행을 통해 검토하는 동작일 수 있다. The target application performance tracking and replay analysis operation may be an operation of using the tracker suitable for the target to store the execution state of the target application and to review by tracking / re-executing the stored result.

예컨대, 타겟 응용 프로그램 추적/재실행 동작을 수행하기 위하여, 통합 컴파일 처리부(111)는 호스트 컴맨드 에이전트(113)를 통해 복수의 타겟 커맨드 에이전트(121)와의 연결을 수행하고, 타겟 커맨드 에이전트(121)로 타겟 응용 프로그램 추적/재실행 명령어를 전달하여, 복수의 타겟 장치(120)의 어플리케이션 프로세싱 처리부(125)가 해당 타겟 응용 프로그램 추적/재실행을 처리하도록 하고, 수행된 결과를 수신할 수 있다. For example, in order to perform the target application trace / replay operation, the integrated compilation processing unit 111 performs a connection with the plurality of target command agents 121 via the host command agent 113, The application processing unit 125 of the plurality of target devices 120 can process the target application trace / replay and receive the result of the execution.

도 3은 본 개시의 일 실시예에 따른 다중 타겟의 임베디드 개발 시스템의 동작을 예시하는 도면이다.3 is a diagram illustrating operation of an embedded development system for multiple targets in accordance with one embodiment of the present disclosure.

우선, S301 단계에서, 호스트 장치는 다중 타겟 프로젝트 설정 정보로부터 타겟 장치의 네트워크 관련 정보와 타겟 장치의 타겟 파일 시스템의 공유 정보를 확인할 수 있다. First, in step S301, the host device can confirm the network-related information of the target device and the sharing information of the target file system of the target device from the multi-target project setting information.

그리고, S302 단계에서, 호스트 장치는 복수의 타겟 장치의 타겟 파일 시스템을 호스트 장치의 디렉토리에 마운트 처리한 후, 복수의 타겟 장치에 구비된 타겟 커맨드 에이전트와의 연결을 수행할 수 있다. In step S302, the host device mounts the target file system of the plurality of target devices in the directory of the host device, and then performs a connection with the target command agent included in the plurality of target devices.

S303 단계에서, 호스트 장치는 복수의 타겟 파일 시스템이 마운트된 호스트 장치의 디렉토리 정보를 확인하고, 확인된 디렉토리에 타겟 응용 프로그램을 작성하고, 복수의 타겟 파일 시스템이 마운트된 호스트 장치의 디렉토리에 빌드 스크립트, 응용 프로그램 소스 등을 생성할 수 있다. In step S303, the host device confirms the directory information of the host device on which the plurality of target file systems are mounted, creates the target application program in the checked directory, creates a build script in the directory of the host device on which the plurality of target file systems are mounted , Application source, and so on.

S304 단계에서, 호스트 장치는 수행할 기능을 선택할 수 있다.In step S304, the host device can select a function to be performed.

타겟 빌드가 선택될 경우(S304-a), 호스트 장치는 복수의 타겟 장치에 각각 구비된 복수의 타겟 커맨드 에이전트와의 연결을 수행하고, 복수의 타겟 커맨드 에이전트를 통해 빌드 명령을 수행하도록 하고, 수행된 결과를 수신할 수 있다(S305). When the target build is selected (S304-a), the host apparatus makes a connection with a plurality of target command agents provided in each of the plurality of target apparatuses, executes a build command through a plurality of target command agents, (S305).

타겟 실행이 선택될 경우(S304-b), 호스트 장치는 복수의 타겟 커맨드 에이전트와의 연결을 수행하고, 복수의 타겟 커맨드 에이전트로 타겟 응용 프로그램 실행 명령어를 각각 전달하여, 복수의 타겟 장치가 해당 타겟 응용 프로그램을 각각 수행하도록 하고, 수행된 결과를 수신할 수 있다(S306). When the target execution is selected (S304-b), the host device performs a connection with the plurality of target command agents and delivers the target application program execution commands to the plurality of target command agents, respectively, And execute the application program, respectively, and receive the executed result (S306).

타겟 응용 성능 추적 및 재실행 분석이 선택될 경우(S304-c), 호스트 장치는 복수의 타겟 커맨드 에이전트와의 연결을 수행하고, 복수의 타겟 커맨드 에이전트로 각각 추적 명령어 또는 재실행 명령어를 전달하여, 복수의 타겟 장치가 각각 해당 타겟 응용 프로그램 추적 또는 재실행 수행하도록 하고, 수행된 결과를 수신할 수 있다(S307). When the target application performance tracking and replay analysis is selected (S304-c), the host device performs a connection with a plurality of target command agents, and transmits a trace command or a redo command to each of the plurality of target command agents, The target device can perform the tracking or re-execution of the target application program, respectively, and receive the result of the execution (S307).

도 4는 도 3의 S302 단계의 구체적인 동작을 예시하는 흐름도이다.4 is a flowchart illustrating a concrete operation of step S302 of FIG.

도 4를 참조하면, 우선, S401 단계에서, 호스트 장치의 통합 컴파일 처리부(111)는 다중 타겟 프로젝트 설정 정보로부터 타겟 장치(120)의 네트워크 관련 정보, 타겟 장치(120)의 타겟 파일 시스템의 공유 정보를 확인할 수 있다. 4, in step S401, the integrated compilation processing unit 111 of the host apparatus acquires network-related information of the target apparatus 120, target information of the target file system of the target apparatus 120, .

예컨대, 타겟 장치(120)의 네트워크 관련 정보는 하기의 표 1과 같이 예시될 수 있다. For example, the network-related information of the target device 120 can be illustrated as shown in Table 1 below.

targetnum=2

[TARGET_1_NETWORK]
account=root
address="192.168.0.111"
gateway="192.168.0.254"
mask="255.255.255.0"
ethdev="eth0"
passwd=“amd"

[TARGET_2_NETWORK]
account=root
address="192.168.0.4"
gateway="192.168.0.254"
mask="255.255.255.0"
ethdev="eth0"
passwd="odroid"
targetnum = 2

[TARGET_1_NETWORK]
account = root
address = " 192.168.0.111 "
gateway = "192.168.0.254"
mask = "255.255.255.0"
ethdev = "eth0"
passwd = "amd"

[TARGET_2_NETWORK]
account = root
address = " 192.168.0.4 "
gateway = "192.168.0.254"
mask = "255.255.255.0"
ethdev = "eth0"
passwd = "odroid"

targetnum는 타겟 장치의 개수를 나타내고, 'TARGET_1_NETWORK'과 'TARGET_2_NETWORK'는 타겟 장치의 네트워크 이름을 나타내고, account는 타겟 장치의 계정을 나타내고, address는 타겟 장치의 주소를 나타내고, gateway는 타겟 장치의 접속 게이트웨이를 나타내고, ethdev는 타겟 장치가 연결된 이더넷 장치의 식별자를 나타내고, passwd는 타겟 장치의 계정 접근을 위한 비밀번호를 나타낸다. TARGET_1_NETWORK and TARGET_2_NETWORK indicate the network name of the target device, account indicates the target device's account, address indicates the address of the target device, and gateway indicates the target device's access gateway Ethdev represents the identifier of the Ethernet device to which the target device is connected, and passwd represents the password for accessing the account of the target device.

한편, 타겟 장치(120)의 타겟 파일 시스템의 공유 정보는 하기의 표 2와 같이 예시할 수 있다.On the other hand, the shared information of the target file system of the target device 120 can be illustrated as shown in Table 2 below.

sshfsnum=2

[SSHFS_1]
target=1 #refer to TARGET_1_NETWORK
targetdir=/
hostdir=/root/root111
option=password_stdin

[SSHFS_2]
target=2 #refer to TARGET_2_NETWORK
targetdir=/
hostdir=/root/root4
option=password_stdin
sshfsnum = 2

[SSHFS_1]
target = 1 #refer to TARGET_1_NETWORK
targetdir = /
hostdir = / root / root111
option = password_stdin

[SSHFS_2]
target = 2 #refer to TARGET_2_NETWORK
targetdir = /
hostdir = / root / root4
option = password_stdin

targetnum는 타겟 장치의 개수를 나타내고, 'SSHFS_1'은 제1 타겟 장치에 대응되는 타겟 파일 시스템을 나타내고, 'SSHFS_2'은 제2 타겟 장치에 대응되는 타겟 파일 시스템을 나타낸다. targetdir는 타겟 장치에 대응되는 타겟 디렉토리를 나타내고, hostdir는 타겟 장치에 대해 호스트 장치에 설정된 디렉토리를 나타낸다.targetnum represents the number of target devices, 'SSHFS_1' represents the target file system corresponding to the first target device, and 'SSHFS_2' represents the target file system corresponding to the second target device. targetdir represents the target directory corresponding to the target device, and hostdir represents the directory set on the host device for the target device.

다음으로, S402단계에서, 통합 컴파일 처리부(111)는 타겟 장치(120)의 네트워크 관련 정보를 확인하여 타겟 장치의 계정 접근을 위한 비밀번호를 확인할 수 있다.Next, in step S402, the integrated compilation processing unit 111 can confirm the password for accessing the account of the target apparatus by checking the network-related information of the target apparatus 120. [

통합 컴파일 처리부(111)는 타겟 장치(120)의 네트워크 관련 정보에서 계정 접근을 위한 비밀번호가 설정되어 있는지 여부를 확인할 수 있다(S403). 계정 접근을 위한 비밀번호가 설정되어 있을 경우(S403-예) S404 단계를 진행하고, 계정 접근을 위한 비밀번호가 설정되어 있지 않을 경우(S403-아니오) S405 단계를 진행하여, 타겟 장치의 계정 접근을 위한 비밀번호를 설정하는 동작을 진행할 수 있다.The integrated compilation processing unit 111 may check whether the password for accessing the account is set in the network-related information of the target device 120 (S403). If a password for accessing the account is set (Yes in S403), the process advances to step S404. If the password for accessing the account is not set (NO in step S403), the process advances to step S405, A password can be set.

S404 단계에서, 통합 컴파일 처리부(111)는 타겟 장치에 대한 타겟 파일 시스템을 호스트 장치에 구비된 디렉토리로 마운트하는 동작을 진행할 수 있다.In step S404, the integrated compilation processing unit 111 may proceed to mount the target file system for the target device as a directory provided in the host device.

예컨대, 호스트 컴맨드 에이전트(113)와 타겟 커맨드 에이전트(121)가 sshfs와 sshd의 사용을 지원하는 경우, 통합 컴파일 처리부(111)는 제1 타겟 장치의 네트워크 관련 정보와 타겟 파일 시스템의 공유 정보를 사용하여, 제1 타겟 장치의 타겟 파일 시스템에 대한 마운트 설정 정보(예, echo "amd" | sshfs root@192.168.0.111:/ /root/root111 -o password_stdin)를 구성하고, 구성된 정보를 제1 타겟 장치의 타겟 커맨드 에이전트(121)로 제공함으로써, 제1 타겟 장치의 타겟 파일 시스템을 호스트 장치에 마운트할 수 있다. For example, when the host command agent 113 and the target command agent 121 support the use of sshfs and sshd, the integrated compilation processing unit 111 stores the network related information of the first target apparatus and the shared information of the target file system (E.g., echo "amd" | sshfs root@192.168.0.111: / / root / root111 -o password_stdin) for the target file system of the first target device, and transmits the configured information to the first target To the target command agent 121 of the device, the target file system of the first target device can be mounted to the host device.

동일한 방법으로, 제2 타겟 장치의 네트워크 관련 정보와 타겟 파일 시스템의 공유 정보를 사용하여, 제2 타겟 장치의 타겟 파일 시스템에 대한 마운트 설정 정보(예, echo "odroid" | sshfs root@192.168.0.4:/ /root/root4 -o password_stdin)를 구성히고 이를 바탕으로 제2 타겟 장치의 타겟 파일 시스템을 호스트 장치에 마운트할 수 있다. In the same way, using the network-related information of the second target apparatus and the share information of the target file system, mount setting information (echo "odroid" | sshfs root@192.168.0.4) for the target file system of the second target apparatus : / / root / root4 -o password_stdin) to mount the target file system of the second target device on the host device.

다음으로, S405 단계에서, 통합 컴파일 처리부(111)는 복수의 타겟 커맨드 에이전트(121)와의 연결을 수행할 수 있다. Next, in step S405, the integrated compilation processing unit 111 can perform a connection with a plurality of target command agents 121. [

예컨대, 통합 컴파일 처리부(111)는 타겟 장치(120)의 네트워크 관련 정보로부터, 제1 타겟 장치에 대응되는 TARGET_1_NETWORK와, 제2 타겟 장치에 대응되는 TARGET_2_NETWORK가 존재하는 것을 확인할 수 있다. 그리고, 제1 타겟 장치에 대응되는 네트워크(TARGET_1_NETWORK) 관련 정보로서 계정은 'root'이고, 네트워크 주소는 '192.168.0.111'이고, 계정 접근을 위한 비밀번호는 'amd'로 설정되고, 제2 타겟 장치에 대응되는 네트워크(TARGET_2_NETWORK) 관련 정보로서 계정은 'root'이고, 네트워크 주소는 '192.168.0.254'이고, 계정 접근을 위한 비밀번호는 'odriod'로 설정되어 있음을 확인할 수 있다. For example, the integrated compilation processing unit 111 can confirm from the network-related information of the target device 120 that TARGET_1_NETWORK corresponding to the first target device and TARGET_2_NETWORK corresponding to the second target device exist. As the information related to the network (TARGET_1_NETWORK) corresponding to the first target apparatus, the account is set to 'root', the network address is set to '192.168.0.111', the password for account access is set to 'amd' It can be confirmed that the account is 'root', the network address is '192.168.0.254', and the password for accessing the account is set to 'odriod', as information related to the network (TARGET_2_NETWORK)

이를 바탕으로, 통합 컴파일 처리부(111)는 제1 타겟 장치와의 연결을 위한 설정 정보(예, sshpass -p amd ssh root@192.168.0.111 'ls -al')를 구성하고, 구성된 정보를 제1 타겟 장치의 타겟 커맨드 에이전트(121)로 제공함으로써, 제1 타겟 장치의 타겟 커맨드 에이전트(121)와의 연결을 수행할 수 있다. 동일한 방식으로 통합 컴파일 처리부(111)는 제2 타겟 장치와의 연결을 위한 설정 정보(예, sshpass -p odroid ssh root@192.168.0.4 'ls -al')를 구성할 수 있으며, 제2 타겟 장치의 타겟 커맨드 에이전트(121)와의 연결을 수행할 수 있다. Based on this, the integrated compilation processing unit 111 configures configuration information (e.g., sshpass -p amd ssh root@192.168.0.111 'ls -al') for connection with the first target device, To the target command agent 121 of the target device, thereby making a connection with the target command agent 121 of the first target device. In the same manner, the integrated compilation processing unit 111 may configure configuration information (e.g., sshpass -podroid ssh root@192.168.0.4 'ls -al') for connection with the second target device, Lt; RTI ID = 0.0 > 121 < / RTI >

도 5는 도 3의 S303 단계의 구체적인 동작을 예시하는 흐름도이다.5 is a flowchart illustrating a specific operation of step S303 of FIG.

우선, S501 단계에서, 호스트 장치의 통합 컴파일 처리부(111)는 다중 타겟 프로젝트 설정 정보로부터 타겟 장치(120)의 네트워크 관련 정보, 타겟 장치(120)의 타겟 파일 시스템의 공유 정보를 확인할 수 있다. 타겟 장치(120)의 네트워크 관련 정보, 타겟 장치(120)의 타겟 파일 시스템의 공유 정보는 전술한 표 1 및 표 2와 같이 예시될 수 있다.First, in step S501, the integrated compilation processing unit 111 of the host device can check the network-related information of the target device 120 and the sharing information of the target file system of the target device 120 from the multi-target project setting information. The network-related information of the target device 120 and the target information of the target file system of the target device 120 can be illustrated as shown in Tables 1 and 2 above.

다음으로, S502 단계에서, 통합 컴파일 처리부(111)는 응용 프로그램을 수행할 대상이 되는 복수의 타겟 장치(예, 제1타겟 장치, 제2타겟 장치)를 확인하고, 확인된 복수의 타겟 장치(예, 제1타겟 장치, 제2타겟 장치)의 타겟 디렉토리, 즉, 호스트 장치(110)에 마운트된 타겟 파일 시스템의 디렉토리 정보를 확인한다. Next, in step S502, the integrated compilation processing unit 111 confirms a plurality of target apparatuses (for example, a first target apparatus and a second target apparatus) to which the application program is to be executed, (E.g., the first target device, the second target device), that is, the directory information of the target file system mounted on the host device 110. [

S503 단계에서, 통합 컴파일 처리부(111)는 마운트된 타겟 파일 시스템의 디렉토리에, 응용 프로그램의 프로젝트 정보를 구성하고, 다중 타겟 프로젝트 설정 정보에 타겟 응용 프로그램의 프로젝트 정보를 저장한다. In step S503, the integrated compilation processing unit 111 forms the project information of the application program in the directory of the mounted target file system, and stores the project information of the target application program in the multiple target project setting information.

S504 단계에서, 통합 컴파일 처리부(111)는 마운트된 타겟 파일 시스템의 디렉토리에서, 타겟 응용 프로그램을 생성한다. In step S504, the integrated compilation processing unit 111 creates a target application program in the directory of the mounted target file system.

이후, S505 내지 S509단계에서, 통합 컴파일 처리부(111)는 마운트된 타겟 파일 시스템의 디렉토리에 타겟 응용 프로그램에 대한 빌드 스크립트, 응용 프로그램 소스 등을 생성할 수 있다. Then, in steps S505 to S509, the integrated compilation processing unit 111 can generate a build script, an application program source, and the like for the target application program in the directory of the mounted target file system.

구체적으로, 통합 컴파일 처리부(111)는 마운트된 타겟 파일 시스템의 디렉토리에 타겟 응용 프로그램에 대응되는 makefile을 생성하고(S505), 타겟 응용 소스 프로그램 생성하기 위한 build.sh 스크립트를 생성한다(S506). 그리고, 통합 컴파일 처리부(111)는 빌드시 생성된 중간 오브젝트 파일들을 제거하기 위한 clean.sh 스크립트를 생성하고(S507), 빌드된 타겟 응용 프로그램을 실행하기 위한 run.sh 스크립트를 생성한다(S508). 또한, 통합 컴파일 처리부(111)는 build.sh 스크립트, clean.sh 스크립트, run.sh 스크립트 등에 기초하여 run-trace.sh 스크립트와 run-replay.sh 스크립트를 생성한다(S509).Specifically, the integrated compilation processing unit 111 creates a makefile corresponding to the target application program in the directory of the mounted target file system (S505), and generates a build.sh script for creating the target application program (S506). Then, the integrated compilation processing unit 111 generates a clean.sh script for removing intermediate object files generated at the time of the build (S507), and generates a run.sh script for executing the built target application program (S508) . In addition, the integrated compilation processing unit 111 generates the run- trace.sh script and the run-replay.sh script based on the build.sh script, the clean.sh script, the run.sh script, and the like (S509).

통합 컴파일 처리부(111)는 응용 프로그램을 수행할 대상이 되는 복수의 타겟 장치(예, 제1타겟 장치, 제2타겟 장치)에 대해 S503 내지 S509 단계의 동작을 반복적으로 수행하여 응용 프로그램을 수행할 대상이 되는 타겟 장치(예, 제1타겟 장치, 제2타겟 장치) 각각에 대한 빌드 스크립트, 응용 프로그램 소스 등을 생성할 수 있다. The integrated compilation processing unit 111 repeatedly performs the operations of steps S503 to S509 for a plurality of target apparatuses (for example, the first target apparatus and the second target apparatus) to which the application program is to be executed, A build script, an application program source, and the like for each of the target devices (e.g., the first target device and the second target device).

도 6은 도 3의 S305 단계의 구체적인 동작을 예시하는 신호 흐름도이다.6 is a signal flow diagram illustrating a concrete operation of step S305 of FIG.

통합 컴파일 처리부(111)는 호스트 컴맨드 에이전트(113)로 타겟 빌드의 처리를 요청하고(S601), 호스트 컴맨드 에이전트(113)는 타겟 프로젝트 설정 정보로부터 빌드를 수행할 타겟 응용 프로그램 정보를 확인한다(S602).The integrated compilation processing unit 111 requests the host command agent 113 to process the target build (S601), and the host command agent 113 confirms the target application program information to be built from the target project setting information (S602).

S602 단계에서 확인되는 타겟 응용 프로그램 정보는 하기의 표 3과 같이 예시될 수 있다.The target application program information identified in step S602 may be illustrated in Table 3 below.

appnum=2
1_appname=dot_product_wrapocl_3
2_appname=dot_product_wrapocl_3_XU4

[dot_product_wrapocl_3]
remoteflag=1
buildflag=0
buildmethod=script
buildscript=build.sh
builddir=/root/kylee111/dot_product_wrapocl_3
targetnetwork=1 # TARGET_1_NETWORK

[dot_product_wrapocl_3_XU4]
remoteflag=1
buildflag=1
buildmethod=script
buildscript=build.sh
builddir=/root/work_sprof/sysprof-0.7.2/dot_product_wrapocl
targetnetwork=2 # target #2 network: TARGET_2_NETWORK
appnum = 2
1_appname = dot_product_wrapocl_3
2_appname = dot_product_wrapocl_3_XU4

[dot_product_wrapocl_3]
remoteflag = 1
buildflag = 0
buildmethod = script
buildscript = build.sh
builddir = / root / kylee111 / dot_product_wrapocl_3
targetnetwork = 1 # TARGET_1_NETWORK

[dot_product_wrapocl_3_XU4]
remoteflag = 1
buildflag = 1
buildmethod = script
buildscript = build.sh
builddir = / root / work_sprof / sysprof-0.7.2 / dot_product_wrapocl
targetnetwork = 2 # target # 2 network: TARGET_2_NETWORK

표 3을 참조하면, 타겟 프로젝트 설정 정보에 저장된 타겟 응용 프로그램 정보는 2개의 타겟 응용 프로그램(제1 타겟 응용 프로그램, 제2 타겟 응용 프로그램)을 포함하고 있다. 제1 타겟 응용 프로그램의 이름은 dot_product_wrapocl_3이고, 제2 타겟 응용 프로그램의 이름은 dot_product_wrapocl_3_XU4로 확인할 수 있다. Referring to Table 3, the target application program information stored in the target project setting information includes two target application programs (the first target application program and the second target application program). The name of the first target application program is dot_product_wrapocl_3, and the name of the second target application program is dot_product_wrapocl_3_XU4.

appnum는 타겟 응용 프로그램의 수를 나타내고, appname은 타겟 응용 프로그램의 이름을 나타낸다.appnum represents the number of target applications, and appname represents the name of the target application.

타겟 응용 프로그램에 대한 설정정보는 원격 플래그 정보(remoteflag), 빌드 플래그 정보(buildflag), 빌드 방법 정보(buildmethod), 빌드 스크립트 정보(buildscript), 빌드 디렉토리 정보(builddir), 타겟 장치 정보(targetnetwork)를 포함할 수 있다. Setting information for the target application includes remote flag information (remoteflag), build flag information (buildflag), build method information (buildmethod), build script information (buildscript), build directory information (builddir), and target device information .

원격 플래그 정보(remoteflag)는 타겟 응용 프로그램이 탑재된 장치를 나타낼 수 있다. 예컨대, 원격 플래그 정보(remoteflag)가 1로 설정되어 있으면 타겟 응용 프로그램은 타겟 장치에 탑재되는 것을 나타내고, 0으로 설정되어 있으면 타겟 응용 프로그램은 호스트 장치에 탑재되는 것을 나타낸다.The remote flag information (remoteflag) may indicate the device on which the target application is mounted. For example, when the remote flag information remoteflag is set to 1, the target application program is mounted on the target device, and when it is set to 0, the target application program is mounted on the host device.

빌드 플래그 정보(buildflag)는 타겟 응용 프로그램의 빌드 진행 여부를 나타내는 정보일 수 있다. 예컨대, 빌드 플래그 정보(buildflag)가 1로 설정되면 타겟 장치에서 타겟 응용 프로그램의 빌드를 진행하는 것을 나타내고, 0으로 설정되면 타겟 응용 프로그램의 빌드를 스킵하는 것을 나타낸다.The build flag information (buildflag) may be information indicating whether the build of the target application is progressed. For example, when the build flag information (buildflag) is set to 1, it indicates that the target application is to be built by the target device, and when it is set to 0, it means that the build of the target application program is skipped.

빌드 방법 정보(buildmethod)는 타겟 장치에서 타겟 응용 프로그램의 빌드를 진행하는데 사용되는 빌드 방식을 나타내고, 빌드 스크립트 정보(buildscript)는 타겟 응용 프로그램의 빌드를 진행하는데 사용되는 스크립트 종류를 나타내고, 빌드 디렉토리 정보(builddir)는 타겟 응용 프로그램의 빌드가 진행되는 디렉토리를 나타낸다.The build method information (buildmethod) indicates the build method used to proceed with the build of the target application on the target device. The build script information (buildscript) indicates the type of the script used to build the target application. (builddir) represents the directory where the build of the target application proceeds.

호스트 컴맨드 에이전트(113)는 전술한 빌드를 수행할 타겟 응용 프로그램 정보를 바탕으로 타겟 응용 프로그램의 빌드를 수행한다. The host command agent 113 builds the target application program based on the target application program information to perform the build described above.

예컨대, 호스트 컴맨드 에이전트(113)는 원격 플래그 정보(remoteflag)가 1로 설정되어 있음을 확인하고, 타겟 컴맨드 에이전트(121)와의 연결을 수행한다(S603). 그리고, 호스트 컴맨드 에이전트(113)는 빌드 디렉토리 정보(builddir)를 바탕으로 타겟 컴맨드 에이전트(121)로 빌드 디렉토리 이동 명령을 전송한다(S604)For example, the host command agent 113 confirms that the remote flag information (remoteflag) is set to 1 and performs a connection with the target command agent 121 (S603). Then, the host command agent 113 transmits a build directory move command to the target command agent 121 based on the build directory information (builddir) (S604)

타겟 컴맨드 에이전트(121)는 빌드 디렉토리 이동 명령을 수신하고, 빌드 디렉토리 정보(builddir)에 대응되는 빌드 디렉토리 이동을 수행하고(S605), 빌드 디렉토리 이동이 완료되었음을 호스트 컴맨드 에이전트(113)로 전달한다(S606).The target command agent 121 receives the build directory move command, performs a build directory move corresponding to the build directory information (builddir) (S605), and transmits to the host command agent 113 that the build directory move is completed (S606).

호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램 정보에 수록된 정보를 바탕으로 빌드 명령을 생성하여 타겟 컴맨드 에이전트(121)에 전송할 수 있다.The host command agent 113 can generate a build command based on the information included in the target application program information and transmit the build command to the target command agent 121.

예컨대, 호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램 정보에 수록된 정보에서 빌드 방법 정보(buildmethod)를 확인하고, 빌드 방법 정보(buildmethod)가 makefile로 설정되어 있을 경우, 타겟 컴맨드 에이전트(121)로 'make' 빌드 명령을 전송할 수 있다(S607). 예컨대, 호스트 컴맨드 에이전트(113)는 하기의 표 4에 예시되는 'make' 빌드 명령을 생성하여 전송할 수 있다.For example, the host command agent 113 confirms the build method information (buildmethod) from the information included in the target application program information, and when the build method information (buildmethod) is set in the makefile, The 'make' build command can be sent (S607). For example, the host command agent 113 may generate and transmit a 'make' build command illustrated in Table 4 below.

sshpass -p amd ssh root@192.168.0.111 "cd /root/kylee111/dot_product_wrapocl_3 && make"

sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl && make -f Makefile.XU4"
sshpass -p amd ssh root@192.168.0.111 "cd / root / kylee111 / dot_product_wrapocl_3 &&make"

sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl && make -f Makefile.XU4"

'make' 빌드 명령은 타겟 장치의 네트워크 접속 패스워드, 타겟 장치의 네트워크 주소, 타겟 장치의 디렉토리 정보, make 빌드 식별자 등을 포함할 수 있다.The 'make' build command may include the target device's network connection password, the target device's network address, the target device's directory information, and the make build identifier.

타겟 컴맨드 에이전트(121)는 'make' 빌드 명령을 수신하고, 'make' 빌드 명령에 수록된 정보를 바탕으로 'make' 빌드를 수행할 수 있다(S608). 그리고, 타겟 컴맨드 에이전트(121)는 'make' 빌드를 수행한 결과를 호스트 컴맨드 에이전트(113)에 제공하고(S609), 호스트 컴맨드 에이전트(113)는 'make' 빌드를 수행한 결과를 통합 컴파일 처리부에 제공할 수 있다(S610).The target command agent 121 receives the 'make' build command and performs a 'make' build based on the information contained in the 'make' build command (S608). Then, the target command agent 121 provides the result of performing the 'make' build to the host command agent 113 (S609), and the host command agent 113 performs the 'make' To the integrated compilation processing unit (S610).

한편, 호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램 정보에 수록된 정보에서 빌드 방법 정보(buildmethod)를 확인하고, 빌드 방법 정보(buildmethod)가 script로 설정되어 있을 경우, 타겟 컴맨드 에이전트(121)로 'script' 빌드 명령을 전송할 수 있다(S611). 타겟 컴맨드 에이전트(121)는 'script' 빌드 명령을 수신하고, 'script' 빌드 명령에 수록된 정보를 바탕으로 'script' 빌드를 수행할 수 있다(S612). 그리고, 타겟 컴맨드 에이전트(121)는 'script' 빌드를 수행한 결과를 호스트 컴맨드 에이전트(113)에 제공하고(S613), 호스트 컴맨드 에이전트(113)는 'script' 빌드를 수행한 결과를 통합 컴파일 처리부에 제공할 수 있다(S614).On the other hand, the host command agent 113 confirms the build method information (buildmethod) from the information included in the target application program information, and when the build method information (buildmethod) is set to the script, a 'script' build command can be transmitted (S611). The target command agent 121 receives the 'script' build command and can perform a 'script' build based on the information contained in the 'script' build command (S612). Then, the target command agent 121 provides the result of performing the 'script' build to the host command agent 113 (S613), and the host command agent 113 outputs the result of performing the 'script' To the integrated compilation processing unit (S614).

한편, 빌드를 수행할 대상이 복수의 타겟 장치(예, 제1타겟 장치, 제2타겟 장치)일 수 있다. 이에 대응하여, 통합 컴파일 처리부(111), 호스트 컴맨드 에이전트(113), 타겟 컴맨드 에이전트(121)는 복수의 타겟 장치(예, 제1타겟 장치, 제2타겟 장치)가 빌드를 수행하는 동작, 즉, S603 내지 S614 단계의 동작을 진행할 수 있다. 복수의 타겟 장치(예, 제1타겟 장치, 제2타겟 장치)가 빌드를 수행하는 동작은 동시 또는 순차적으로 진행될 수 있다.On the other hand, the object to be built may be a plurality of target devices (e.g., a first target device, a second target device). Correspondingly, the integrated compilation processing unit 111, the host command agent 113, and the target command agent 121 execute an operation in which a plurality of target devices (e.g., a first target device and a second target device) , That is, the operations in steps S603 to S614 can be performed. The operation of the plurality of target devices (e.g., the first target device, the second target device) to perform the build may be performed simultaneously or sequentially.

도 7은 도 3의 S306 단계의 구체적인 동작을 예시하는 흐름도이다.7 is a flowchart illustrating a specific operation of step S306 of FIG.

통합 컴파일 처리부(111)는 호스트 컴맨드 에이전트(113)로 타겟 응용 프로그램 실행을 요청하고(S601), 호스트 컴맨드 에이전트(113)는 타겟 프로젝트 설정 정보로부터 타겟 응용 프로그램을 수행할 타겟 응용 프로그램 정보를 확인한다(S702).The integrated compilation processing unit 111 requests the host command agent 113 to execute the target application program (S601), and the host command agent 113 receives the target application program information to execute the target application program from the target project setting information (S702).

S702 단계에서 확인되는 타겟 응용 프로그램 정보는 하기의 표 5와 같이 예시될 수 있다.The target application program information identified in step S702 may be illustrated in Table 5 below.

appnum=2
1_appname=dot_product_wrapocl_3
2_appname=dot_product_wrapocl_3_XU4

[dot_product_wrapocl_3]
remoteflag=1
runflag=0
runmethod=script # [app|script]
rundir=/root/kylee111/dot_product_wrapocl_3
app=dot_product
appargvs=
runscript=run.sh
runargs=
targetnetwork=1 # TARGET_1_NETWORK

[dot_product_wrapocl_3_XU4]
remoteflag=1
runflag=1
runmethod=script # [app|script]
rundir=/root/work_sprof/sysprof-0.7.2/dot_product_wrapocl
app=dot_product
appargvs=
runscript=run.sh
runargs= "> ./__log.txt"
targetnetwork=2 # TARGET_2_NETWORK
appnum = 2
1_appname = dot_product_wrapocl_3
2_appname = dot_product_wrapocl_3_XU4

[dot_product_wrapocl_3]
remoteflag = 1
runflag = 0
runmethod = script # [app | script]
rundir = / root / kylee111 / dot_product_wrapocl_3
app = dot_product
appargvs =
runscript = run.sh
runargs =
targetnetwork = 1 # TARGET_1_NETWORK

[dot_product_wrapocl_3_XU4]
remoteflag = 1
runflag = 1
runmethod = script # [app | script]
rundir = / root / work_sprof / sysprof-0.7.2 / dot_product_wrapocl
app = dot_product
appargvs =
runscript = run.sh
runargs = ">./__log.txt"
targetnetwork = 2 # TARGET_2_NETWORK

표 5를 참조하면, 타겟 프로젝트 설정 정보에 저장된 타겟 응용 프로그램 정보는 2개의 타겟 응용 프로그램(제1 타겟 응용 프로그램, 제2 타겟 응용 프로그램)을 포함하고 있다. 제1 타겟 응용 프로그램의 이름은 dot_product_wrapocl_3이고, 제2 타겟 응용 프로그램의 이름은 dot_product_wrapocl_3_XU4로 확인할 수 있다. Referring to Table 5, the target application program information stored in the target project setting information includes two target application programs (the first target application program and the second target application program). The name of the first target application program is dot_product_wrapocl_3, and the name of the second target application program is dot_product_wrapocl_3_XU4.

appnum는 타겟 응용 프로그램의 수를 나타내고, appname은 타겟 응용 프로그램의 이름을 나타낸다.appnum represents the number of target applications, and appname represents the name of the target application.

타겟 응용 프로그램에 대한 설정정보는 원격 플래그 정보(remoteflag), 런 플래그 정보(runflag), 런 방법 정보(runmethod), 런 디렉토리 정보(rundir), 타겟 응용 프로그램 정보(app), 런 스크립트 정보(runscript), 타겟 장치 정보(targetnetwork)를 포함할 수 있다. The setting information for the target application includes remote flag information (remoteflag), run flag information (runflag), run method information (runmethod), run directory information (rundir), target application information (app) , And target device information (target network).

원격 플래그 정보(remoteflag)는 타겟 응용 프로그램을 수행할 장치를 나타낼 수 있다. 예컨대, 원격 플래그 정보(remoteflag)가 1로 설정되어 있으면 타겟 응용 프로그램은 타겟 장치에서 수행되는 것을 나타내고, 0으로 설정되어 있으면 타겟 응용 프로그램은 호스트 장치에서 수행되는 것을 나타낸다.The remote flag information (remoteflag) may indicate a device to execute the target application program. For example, when the remote flag information remote flag is set to 1, the target application program is executed on the target device, and when it is set to 0, the target application program is executed on the host device.

런 플래그 정보(runflag)는 타겟 응용 프로그램의 수행 여부를 나타내는 정보일 수 있다. 예컨대, 런 플래그 정보(runflag)가 1로 설정되면 타겟 장치에서 타겟 응용 프로그램으을 진행하는 것을 나타내고, 0으로 설정되면 타겟 응용 프로그램을 스킵하는 것을 나타낸다.The run flag information (runflag) may be information indicating whether the target application program is executed or not. For example, if the run flag information (runflag) is set to 1, it indicates that the target application proceeds to the target application, and when it is set to 0, it indicates that the target application is skipped.

런 방법 정보(runmethod)는 타겟 장치에서 타겟 응용 프로그램을 수행하는데 사용되는 런 처리 방식을 나타내고, 런 스크립트 정보(runscript)는 타겟 응용 프로그램을 수행하는데 사용되는 스크립트 종류를 나타내고, 런 디렉토리 정보(rundir)는 타겟 응용 프로그램이 진행되는 디렉토리를 나타낸다.The run method information indicates a run processing method used to execute a target application program in the target apparatus. Run script information indicates a script type used to execute a target application program. Run directory information rundir Represents the directory in which the target application is running.

호스트 컴맨드 에이전트(113)는 전술한 빌드를 수행할 타겟 응용 프로그램 정보를 바탕으로 타겟 응용 프로그램을 수행한다. The host command agent 113 executes the target application program based on the target application program information to perform the build described above.

예컨대, 호스트 컴맨드 에이전트(113)는 원격 플래그 정보(remoteflag)가 1로 설정되어 있음을 확인하고, 타겟 컴맨드 에이전트(121)와의 연결을 수행한다(S703). 그리고, 호스트 컴맨드 에이전트(113)는 런 디렉토리 정보(rundir)를 바탕으로 타겟 컴맨드 에이전트(121)로 런 디렉토리 이동 명령을 전송한다(S704).For example, the host command agent 113 confirms that the remote flag information (remoteflag) is set to 1 and performs a connection with the target command agent 121 (S703). Then, the host command agent 113 transmits a run directory move command to the target command agent 121 based on the run directory information rundir (S704).

타겟 컴맨드 에이전트(121)는 런 디렉토리 이동 명령을 수신하고, 런 방법 정보(runmethod)에 대응되는 런 디렉토리 이동을 수행하고(S705), 런 디렉토리 이동이 완료되었음을 호스트 컴맨드 에이전트(113)로 전달한다(S706).The target command agent 121 receives the run directory move command, performs a run directory move corresponding to the run method information (S705), and transmits to the host command agent 113 that the run directory move is completed (S706).

호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램 정보에 수록된 정보를 바탕으로 타겟 응용 프로그램 실행 명령을 생성하여 타겟 컴맨드 에이전트(121)에 전송할 수 있다.The host command agent 113 can generate a target application program execution command based on the information included in the target application program information and transmit the target application program execution command to the target command agent 121.

예컨대, 호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램 정보에 수록된 정보에서 런 방법 정보(runmethod)를 확인하고, 런 방법 정보(runmethod)가 app으로 설정되어 있을 경우, 타겟 컴맨드 에이전트(121)로 'app' 실행 명령을 전송할 수 있다(S707). 예컨대, 호스트 컴맨드 에이전트(113)는 하기의 표 6에 예시되는 'app' 실행 명령을 생성하여 전송할 수 있다.For example, the host command agent 113 checks the run method information from the information included in the target application information, and when the run method is set to app, an 'app' execution command can be transmitted (S707). For example, the host command agent 113 can generate and transmit an 'app' execution command illustrated in Table 6 below.

sshpass -p amd ssh root@192.168.0.111 "cd /root/kylee111/dot_product_wrapocl_3 && ./dot_product"
sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl && ./dot_product"
sshpass -p amd ssh root@192.168.0.111 "cd / root / kylee111 / dot_product_wrapocl_3 &&./dot_product"
sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl &&./dot_product"

'app' 실행 명령은 타겟 장치의 네트워크 접속 패스워드, 타겟 장치의 네트워크 주소, 타겟 장치의 디렉토리 정보, app 실행 식별자(./dot_product) 등을 포함할 수 있다.The 'app' execution command may include a network connection password of the target device, a network address of the target device, directory information of the target device, an app execution identifier (./dot_product), and the like.

타겟 컴맨드 에이전트(121)는 'app' 실행 명령을 수신하고, 'app' 실행 명령에 수록된 정보를 바탕으로 어플리케이션 프로세싱 처리부(125)에서 'app' 실행을 처리할 수 있다(S708). 그리고, 타겟 컴맨드 에이전트(121)는 'app' 실행을 수행한 결과를 호스트 컴맨드 에이전트(113)에 제공하고(S709), 호스트 컴맨드 에이전트(113)는 'app' 실행을 수행한 결과를 통합 컴파일 처리부에 제공할 수 있다(S710).The target command agent 121 receives the 'app' execution command and can process 'app' execution in the application processing unit 125 based on the information recorded in the 'app' execution command (S708). Then, the target command agent 121 provides the result of executing 'app' to the host command agent 113 (S709), and the host command agent 113 transmits the result of executing 'app' To the integrated compilation processing unit (S710).

한편, 호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램 정보에 수록된 정보에서 런 방법 정보(runmethod)를 확인하고, 런 방법 정보(runmethod)가 script로 설정되어 있을 경우, 타겟 컴맨드 에이전트(121)로 'script' 실행 명령을 전송할 수 있다(S711). On the other hand, the host command agent 113 checks the run method information from the information included in the target application program information, and when the run method information is set to the script, a 'script' execution command can be transmitted (S711).

예컨대, 호스트 컴맨드 에이전트(113)는 하기의 표 7에 예시되는 'script' 실행 명령을 생성하여 전송할 수 있다.For example, the host command agent 113 may generate and transmit a 'script' execution command illustrated in Table 7 below.

sshpass -p amd ssh root@192.168.0.111 "cd /root/kylee111/dot_product_wrapocl_3 && ./run.sh"

sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl && ./run.XU4.sh > ./_log.txt"
sshpass -p amd ssh root@192.168.0.111 "cd / root / kylee111 / dot_product_wrapocl_3 &&./run.sh"

sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl &&./run.XU4.sh>./_log.txt"

'script' 실행 명령은 타겟 장치의 네트워크 접속 패스워드, 타겟 장치의 네트워크 주소, 타겟 장치의 디렉토리 정보, script 실행 식별자(./run.sh, ./run.XU4.sh 등) 등을 포함할 수 있다. The 'script' executable command can include the network access password of the target device, the network address of the target device, the directory information of the target device, the script execution identifier (./run.sh, ./run.XU4.sh, etc.) .

타겟 컴맨드 에이전트(121)는 'script' 실행 명령을 수신하고, 'script' 실행 명령에 수록된 정보를 바탕으로 어플리케이션 프로세싱 처리부(125)에서 'script' 실행을 처리할 수 있다(S712). The target command agent 121 receives the 'script' execution command and can process 'script' execution in the application processing unit 125 based on the information recorded in the 'script' execution command (S712).

그리고, 타겟 컴맨드 에이전트(121)는 'script' 실행을 수행한 결과를 호스트 컴맨드 에이전트(113)에 제공하고(S713), 호스트 컴맨드 에이전트(113)는 'script' 빌드를 수행한 결과를 통합 컴파일 처리부에 제공할 수 있다(S714).Then, the target command agent 121 provides the result of executing 'script' to the host command agent 113 (S713), and the host command agent 113 transmits the result of performing the 'script' To the integrated compilation processing unit (S714).

응용 프로그램 실행을 위한 입출력 자료는 stdin 혹은 stdout 혹은 stderr 혹은 로그 파일 등의 형태로 타겟 파일시스템에 저장되어 있으므로 이 파일들에 접근하여 입출력 처리를 수행할 수 있다.I / O data for application execution is stored in the target file system in the form of stdin, stdout, stderr, or log file. Therefore, I / O processing can be performed by accessing these files.

한편, 타겟 응용 프로그램을 수행할 대상이 복수의 타겟 장치(예, 제1타겟 장치, 제2타겟 장치)일 수 있다. 이에 대응하여, 통합 컴파일 처리부(111), 호스트 컴맨드 에이전트(113), 타겟 컴맨드 에이전트(121)는 복수의 타겟 장치(예, 제1타겟 장치, 제2타겟 장치)가 타겟 응용 프로그램을 수행하는 동작, 즉, S703 내지 S714 단계의 동작을 진행할 수 있다. 복수의 타겟 장치(예, 제1타겟 장치, 제2타겟 장치)가 타겟 응용 프로그램을 수행하는 동작은 동시 또는 순차적으로 진행될 수 있다.도 8은 도 3의 S307 단계의 구체적인 동작을 예시하는 흐름도이다.On the other hand, the target to be the target application program may be a plurality of target devices (e.g., a first target device, a second target device). In response to this, the integrated compilation processing unit 111, the host command agent 113, and the target command agent 121 execute a target application program by a plurality of target devices (e.g., a first target device and a second target device) , That is, the operation in steps S703 to S714 can be performed. The operation in which a plurality of target devices (e.g., the first target device and the second target device) perform the target application program can be performed simultaneously or sequentially. [0064] FIG. 8 is a flowchart illustrating a specific operation of step S307 of FIG. 3 .

통합 컴파일 처리부(111)는 호스트 컴맨드 에이전트(113)로 타겟 응용 프로그램 추적/재실행을 요청하고(S801), 호스트 컴맨드 에이전트(113)는 타겟 프로젝트 설정 정보로부터 타겟 응용 프로그램의 추적/재실행을 수행할 타겟 응용 프로그램 정보를 확인한다(S802).The integrated compilation processing unit 111 requests the host command agent 113 to trace / replay the target application program (S801), and the host command agent 113 performs tracking / re-execution of the target application program from the target project setting information And confirms the target application program information (S802).

S802 단계에서 확인되는 타겟 응용 프로그램 정보는 하기의 표 8과 같이 예시될 수 있다.The target application program information identified in step S802 may be illustrated in Table 8 below.

appnum=2
1_appname=dot_product_wrapocl_3
2_appname=dot_product_wrapocl_3_XU4

[dot_product_wrapocl_3]
remoteflag=1
rundir=/root/kylee111/dot_product_wrapocl_3
app=dot_product
appargvs=
traceflag=0
tracemethod=app # [app|script]
tracescript="run-uftrace.sh uf.data"
replayscript="run-replay.sh replay uf.data"
Ctracer="uftrace"
Ctracer_ldpreloads=
Ctracer_option="-t 1us -D 4 --no-pltbind --data=uf.data"
Ctracer_notrace_options_num=0
Creplayer="uftrace"
Creplayer_option="--no-pager -t 1us --no-pltbind --data=uf.data“
targetnetwork=1 # TARGET_1_NETWORK

[dot_product_wrapocl_3_XU4]
remoteflag=1
rundir=/root/work_sprof/sysprof-0.7.2/dot_product_wrapocl
app=dot_product
appargvs=
traceflag=1
tracemethod=app # [app|script]
tracescript="run-uftrace.sh uf.data"
replayscript="run-replay.sh clreplay uf.data"
Ctracer="uftrace"
Ctracer_ldpreloads=
Ctracer_option="-t 1us -D 4 --no-pltbind --data=uf.data"
Ctracer_notrace_options_num=0
Creplayer="uftrace"
Creplayer_option="--no-pager -t 1us --no-pltbind --data=uf.data"
targetnetwork=2 # TARGET_2_NETWORK
appnum = 2
1_appname = dot_product_wrapocl_3
2_appname = dot_product_wrapocl_3_XU4

[dot_product_wrapocl_3]
remoteflag = 1
rundir = / root / kylee111 / dot_product_wrapocl_3
app = dot_product
appargvs =
traceflag = 0
tracemethod = app # [app | script]
tracescript = "run-uftrace.sh uf.data"
replayscript = "run-replay.sh replay uf.data"
Ctracer = "uftrace"
Ctracer_ldpreloads =
Ctracer_option = "- t 1us -D 4 --no-pltbind --data = uf.data"
Ctracer_notrace_options_num = 0
Creplayer = "uftrace"
Creplayer_option = "- no-pager -t 1us --no-pltbind --data = uf.data"
targetnetwork = 1 # TARGET_1_NETWORK

[dot_product_wrapocl_3_XU4]
remoteflag = 1
rundir = / root / work_sprof / sysprof-0.7.2 / dot_product_wrapocl
app = dot_product
appargvs =
traceflag = 1
tracemethod = app # [app | script]
tracescript = "run-uftrace.sh uf.data"
replayscript = "run-replay.sh clreplay uf.data"
Ctracer = "uftrace"
Ctracer_ldpreloads =
Ctracer_option = "- t 1us -D 4 --no-pltbind --data = uf.data"
Ctracer_notrace_options_num = 0
Creplayer = "uftrace"
Creplayer_option = "- no-pager -t 1us --no-pltbind --data = uf.data"
targetnetwork = 2 # TARGET_2_NETWORK

표 8을 참조하면, 타겟 프로젝트 설정 정보에 저장된 타겟 응용 프로그램 정보는 2개의 타겟 응용 프로그램(제1 타겟 응용 프로그램, 제2 타겟 응용 프로그램)을 포함하고 있다. 제1 타겟 응용 프로그램의 이름은 dot_product_wrapocl_3이고, 제2 타겟 응용 프로그램의 이름은 dot_product_wrapocl_3_XU4로 확인할 수 있다. Referring to Table 8, the target application program information stored in the target project setting information includes two target application programs (the first target application program and the second target application program). The name of the first target application program is dot_product_wrapocl_3, and the name of the second target application program is dot_product_wrapocl_3_XU4.

appnum는 타겟 응용 프로그램의 수를 나타내고, appname은 타겟 응용 프로그램의 이름을 나타낸다.appnum represents the number of target applications, and appname represents the name of the target application.

타겟 응용 프로그램에 대한 설정정보는 원격 플래그 정보(remoteflag), 런 디렉토리 정보(rundir), 타겟 응용 프로그램 정보(app), 추적 플래그 정보(traceflag), 추적 방법 정보(tracemethod), 추적 스크립트 정보(tracescript), 재실행 스크립트 정보(replayscript), 추적 처리기 정보(Ctracer), 추적 처리기 옵션 정보(Ctracer_option), 재실행 처리기 정보(Creplayer), 재실행 처리기 옵션 정보(Creplayer_option), 타겟 장치 정보(targetnetwork)를 포함할 수 있다. The configuration information for the target application includes remote flag information (remoteflag), run directory information (rundir), target application information (app), trace flag information (traceflag), trace method information (tracemethod) , Replay script information, Ctracer, trace processor option information (Ctracer_option), replay processor information (Creplayer), replay processor option information (Creplayer_option), and target device information (targetnetwork).

원격 플래그 정보(remoteflag)는 타겟 응용 프로그램의 추적/재실행을 수행할 장치를 나타낼 수 있다. 예컨대, 원격 플래그 정보(remoteflag)가 1로 설정되어 있으면 타겟 응용 프로그램의 추적/재실행은 타겟 장치에서 수행되는 것을 나타내고, 0으로 설정되어 있으면 타겟 응용 프로그램의 추적/재실행은 호스트 장치에서 수행되는 것을 나타낸다.The remote flag information (remoteflag) may indicate a device to perform trace / replay of the target application. For example, if the remote flag information remoteflag is set to 1, tracking / replay of the target application is performed on the target device, and if it is set to 0, tracking / replay of the target application is performed on the host device .

런 디렉토리 정보(rundir)는 타겟 응용 프로그램의 추적/재실행이 진행되는 디렉토리를 나타낸다.The run directory information (rundir) indicates the directory in which the target application program is traced / re-executed.

추적 플래그 정보(traceflag)는 타겟 응용 프로그램의 추적 수행 여부를 나타내는 정보일 수 있다. 예컨대, 추적 플래그 정보(traceflag)가 1로 설정되면 타겟 장치에서 타겟 응용 프로그램의 추적을 진행하는 것을 나타내고, 0으로 설정되면 타겟 응용 프로그램의 추적을 스킵하는 것을 나타낸다.The trace flag information (traceflag) may be information indicating whether or not the target application program is to be traced. For example, if the trace flag information (traceflag) is set to 1, it indicates that the target device is tracking the target application, and when it is set to 0, the target application is skipped.

추적 방법 정보(tracemethod)는 타겟 장치에서 타겟 응용 프로그램의 추적을 수행하는데 사용되는 추적 처리 방식을 나타내고, 추적 스크립트 정보(tracescript)는 타겟 응용 프로그램의 추적을 수행하는데 사용되는 스크립트 종류를 나타내고, 재실행 스크립트 정보(replayscript)는 타겟 응용 프로그램의 재실행을 수행하는데 사용되는 스크립트 종류를 나타낸다.The trace method information (tracemethod) indicates a tracking processing method used to perform a tracking of a target application on a target device. The tracing script information indicates a type of a script used to perform tracking of a target application. The replays represent the type of script used to perform the replay of the target application.

추적 처리기 정보(Ctracer)는 타겟 장치에서 타겟 응용 프로그램의 추적을 수행하는데 사용되는 처리기의 식별자이고, 추적 처리기 옵션 정보(Ctracer_option)는 타겟 응용 프로그램의 추적을 수행하는데 사용되는 옵션을 나타낸다.The trace processor information (Ctracer) is an identifier of the processor used to perform the tracking of the target application in the target device, and the trace processor option information (Ctracer_option) indicates an option used to perform the tracking of the target application.

재실행 처리기 정보(Creplayer)는 타겟 장치에서 타겟 응용 프로그램의 재실행을 수행하는데 사용되는 처리기의 식별자이고, 재실행 처리기 옵션 정보(Creplayer_option)는 타겟 응용 프로그램의 재실행을 수행하는데 사용되는 옵션을 나타낸다.The redo processor information (Creplayer_option) indicates an option used to perform the redo of the target application program. The redo processor option information (Creplayer_option) indicates an option used to perform the redo of the target application program.

호스트 컴맨드 에이전트(113)는 전술한 타겟 응용 프로그램 정보를 바탕으로 타겟 응용 프로그램의 추적/재실행을 수행한다. The host command agent 113 performs tracking / re-execution of the target application program based on the target application program information described above.

예컨대, 호스트 컴맨드 에이전트(113)는 원격 플래그 정보(remoteflag)가 1로 설정되어 있음을 확인하고, 타겟 컴맨드 에이전트(121)와의 연결을 수행한다(S803). 그리고, 호스트 컴맨드 에이전트(113)는 런 디렉토리 정보(rundir)를 바탕으로 타겟 컴맨드 에이전트(121)로 타겟 응용 프로그램의 디렉토리 이동 명령을 전송한다(S804).For example, the host command agent 113 confirms that the remote flag information (remoteflag) is set to 1 and performs a connection with the target command agent 121 (S803). Then, the host command agent 113 transmits a directory move command of the target application program to the target command agent 121 based on the run directory information rundir (S804).

타겟 컴맨드 에이전트(121)는 런 디렉토리 이동 명령을 수신하고,타겟 응용 프로그램의 이동을 수행하고(S805), 런 디렉토리 이동이 완료되었음을 호스트 컴맨드 에이전트(113)로 전달한다(S806).The target command agent 121 receives the run directory move command, performs the movement of the target application program (S805), and transfers to the host command agent 113 that the run directory move is completed (S806).

호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램 정보에 수록된 정보를 바탕으로 타겟 응용 프로그램의 추적/재실행 명령을 생성하여 타겟 컴맨드 에이전트(121)에 전송할 수 있다.The host command agent 113 can generate a trace / replay command of the target application program based on the information included in the target application program information and transmit the trace / replay command to the target command agent 121.

예컨대, 호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램 정보에 수록된 정보에서 추적 플래그 정보(traceflag)를 확인하고, 추적 플래그 정보(traceflag)가 1로 설정되어 있을 경우, 추적 방법 정보(tracemethod)를 확인할 수 있다. 추적 방법 정보(tracemethod)가 'app'으로 설정된 경우, 호스트 컴맨드 에이전트(113)는 타겟 컴맨드 에이전트(121)로 타겟 응용 프로그램의 실행 및 추적을 지시하는 명령을 전송할 수 있다(S807).For example, the host command agent 113 checks the trace flag information (traceflag) in the information included in the target application information, and confirms the trace method (tracemethod) when the trace flag information (traceflag) . If the trace method is set to 'app', the host command agent 113 may send a command to the target command agent 121 to instruct execution and tracking of the target application program (S807).

예컨대, 호스트 컴맨드 에이전트(113)는 하기의 표 9에 예시되는 타겟 응용 프로그램의 실행 및 추적을 지시하는 명령을 생성하여 전송할 수 있다.For example, the host command agent 113 may generate and transmit commands instructing execution and tracking of the target application program illustrated in Table 9 below.

sshpass -p amd ssh root@192.168.0.111 "cd /root/kylee111/dot_product_wrapocl_3 && uftrace record -t 1us -D 4 -no-pltbind -data=uf.data ./dot_product"

sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl && uftrace record -t 1us -D 4 -no-pltbind -data=uf.data ./dot_product"
sshpass -p amd ssh root@192.168.0.111 "cd / root / kylee111 / dot_product_wrapocl_3 && uftrace record -t 1us -D 4 -no-pltbind -data = uf.data ./dot_product"

sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl && uftrace record -t 1us -D 4 -no-pltbind -data = uf.data ./dot_product"

타겟 응용 프로그램의 추적을 지시하는 명령은 타겟 장치의 네트워크 접속 패스워드, 타겟 장치의 네트워크 주소, 타겟 장치의 디렉토리 정보, 추적 처리기 정보(Ctracer)를 식별하는 식별자(uftrace), 추적 처리기 옵션 정보(Ctracer_option), app 실행 식별자(./dot_product) 등을 포함할 수 있다.The command for instructing the tracking of the target application includes a network access password of the target device, a network address of the target device, directory information of the target device, an identifier (uftrace) identifying the trace processor information (Ctracer), trace processor option information (Ctracer_option) , an app execution identifier (./dot_product), and the like.

타겟 컴맨드 에이전트(121)는 타겟 응용 프로그램의 추적을 지시하는 명령을 수신하고, 타겟 응용 프로그램의 추적을 지시하는 명령에 수록된 정보를 바탕으로 어플리케이션 프로세싱 처리부(125)에서 타겟 응용 프로그램의 실행 및 추적을 처리할 수 있다(S808). 그리고, 타겟 컴맨드 에이전트(121)는 타겟 응용 프로그램의 실행 및 추적을 수행한 결과를 호스트 컴맨드 에이전트(113)에 제공하고(S809), 호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램의 실행 및 추적을 수행한 결과를 통합 컴파일 처리부에 제공할 수 있다(S810).The target command agent 121 receives a command for instructing the tracking of the target application program and executes the target application program in the application processing unit 125 based on the information contained in the instruction for instructing the tracking of the target application program (S808). Then, the target command agent 121 provides the result of performing execution and tracking of the target application program to the host command agent 113 (S809), and the host command agent 113 executes execution and tracking of the target application program The result of performing the tracking can be provided to the integrated compilation processing unit (S810).

한편, 호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램 정보에 수록된 정보에서 추적 방법 정보(tracemethod)가 'script'로 설정된 경우, 호스트 컴맨드 에이전트(113)는 타겟 컴맨드 에이전트(121)로 스크립트의 실행 및 추적을 지시하는 명령을 전송할 수 있다(S811).On the other hand, when the trace method is set to 'script' in the information included in the target application program information, the host command agent 113 notifies the target command agent 121 of the script A command for instructing execution and tracing may be transmitted (S811).

예컨대, 호스트 컴맨드 에이전트(113)는 하기의 표 10에 예시되는 스크립트 실행 및 추적을 지시하는 명령을 생성하여 전송할 수 있다.For example, the host command agent 113 may generate and transmit a command instructing execution and tracking of the script illustrated in Table 10 below.

sshpass -p amd ssh root@192.168.0.111 "cd /root/kylee111/dot_product_wrapocl_3 && ./run-uftrace.sh uf.data"

sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl && ./run-uftrace.XU4.sh uf.data"
sshpass -p amd ssh root@192.168.0.111 "cd / root / kylee111 / dot_product_wrapocl_3 && ./run-uftrace.sh uf.data"

sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl && ./run-uftrace.XU4.sh uf.data"

스크립트 실행 및 추적을 지시하는 명령은 타겟 장치의 네트워크 접속 패스워드, 타겟 장치의 네트워크 주소, 타겟 장치의 디렉토리 정보, 추적 처리기 정보(Ctracer)를 식별하는 식별자(uftrace) 등을 포함할 수 있다.The command for instructing execution and tracking of the script may include a network connection password of the target device, a network address of the target device, directory information of the target device, an identifier (uftrace) identifying the trace processor information (Ctracer), and the like.

타겟 컴맨드 에이전트(121)는 스크립트 실행 및 추적을 지시하는 명령을 수신하고, 스크립트 실행 및 추적을 지시하는 명령에 수록된 정보를 바탕으로 어플리케이션 프로세싱 처리부(125)에서 'script' 실행 및 추적을 처리할 수 있다(S812). 그리고, 타겟 컴맨드 에이전트(121)는 'script' 실행 및 추적을 수행한 결과를 호스트 컴맨드 에이전트(113)에 제공하고(S813), 호스트 컴맨드 에이전트(113)는 'script' 실행 및 추적을 수행한 결과를 통합 컴파일 처리부에 제공할 수 있다(S814).The target command agent 121 receives a command for instructing execution and tracking of a script, and processes and executes 'script' in the application processing unit 125 based on the information included in the command for instructing execution and tracking of the script (S812). Then, the target command agent 121 provides the result of executing 'script' execution and tracking to the host command agent 113 (S813), and the host command agent 113 executes 'script' The result of the execution may be provided to the integrated compilation processing unit (S814).

한편, 호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램 정보에 수록된 정보에서 추적 방법 정보(tracemethod)가 'app'이고, 재실행으로 설정된 경우, 타겟 컴맨드 에이전트(121)로 타겟 응용 프로그램의 재실행을 지시하는 명령을 전송할 수 있다(S815).On the other hand, the host command agent 113 instructs the target command agent 121 to re-execute the target application program when the tracking method information (tracemethod) is 'app' in the information included in the target application program information, (S815).

예컨대, 호스트 컴맨드 에이전트(113)는 하기의 표 11에 예시되는 타겟 응용 프로그램의 재실행을 지시하는 명령을 생성하여 전송할 수 있다.For example, the host command agent 113 may generate and transmit a command instructing re-execution of the target application program illustrated in Table 11 below.

sshpass -p amd ssh root@192.168.0.111 "cd /root/kylee111/dot_product_wrapocl_3 && uftrace clreplay -t 1us -D 4 -no-pltbind -data=uf.data"

sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl && uftrace clreplay -t 1us -D 4 -no-pltbind -data=uf.data"
cd-root / kylee111 / dot_product_wrapocl_3 && uftrace clreplay -t 1us -D 4 -no-pltbind -data = uf.data "sshpass -p amd ssh root@192.168.0.111"

sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl && uftrace clreplay -t 1us -D 4 -no-pltbind -data = uf.data"

타겟 응용 프로그램의 재실행을 지시하는 명령은 타겟 장치의 네트워크 접속 패스워드, 타겟 장치의 네트워크 주소, 타겟 장치의 디렉토리 정보, 추적 처리기 정보(Ctracer)를 식별하는 식별자(uftrace), 추적 처리기 옵션 정보(Ctracer_option), app 실행 식별자(./dot_product) 등을 포함할 수 있다.The command instructing re-execution of the target application includes a network connection password of the target apparatus, a network address of the target apparatus, directory information of the target apparatus, an identifier (uftrace) identifying the trace processor information (Ctracer), trace processor option information (Ctracer_option) , an app execution identifier (./dot_product), and the like.

타겟 컴맨드 에이전트(121)는 타겟 응용 프로그램의 재실행을 지시하는 명령을 수신하고, 타겟 응용 프로그램의 재실행을 지시하는 명령에 수록된 정보를 바탕으로 uf.data 디렉토리에 저장(record)되어 있던 추적 자료들을 활용하여 추적 결과를 시간 순서대로 재실행할 수 있(S816). 그리고, 타겟 컴맨드 에이전트(121)는 타겟 응용 프로그램의 재실행 결과를 호스트 컴맨드 에이전트(113)에 제공하고(S817), 호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램의 재실행 결과를 통합 컴파일 처리부에 제공할 수 있다(S818).The target command agent 121 receives the instruction to re-execute the target application program, and based on the information recorded in the instruction to re-execute the target application program, So that the tracking results can be re-executed in chronological order (S816). Then, the target command agent 121 provides the re-execution result of the target application program to the host command agent 113 (S817), and the host command agent 113 sends the re-execution result of the target application program to the integrated compilation processing unit (S818).

한편, 호스트 컴맨드 에이전트(113)는 타겟 응용 프로그램 정보에 수록된 정보에서 추적 방법 정보(tracemethod)가 'script'이고, 재실행으로 설정된 경우, 타겟 컴맨드 에이전트(121)로 스크립트의 재실행을 지시하는 명령을 전송할 수 있다(S819).On the other hand, when the trace method is 'script' in the information included in the target application program information, and the host command client agent 113 is set to replay, the host command agent 113 instructs the target command agent 121 to re- (S819).

예컨대, 호스트 컴맨드 에이전트(113)는 하기의 표 12에 예시되는 스크립트의 재실행을 지시하는 명령을 생성하여 전송할 수 있다.For example, the host command agent 113 can generate and transmit a command instructing re-execution of the script illustrated in Table 12 below.

sshpass -p amd ssh root@192.168.0.111 "cd /root/kylee111/dot_product_wrapocl_3 && ./run-replay.sh replay uf.data"

sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl && ./run-replay.XU4.sh replay uf.data"
sshpass -p amd ssh root@192.168.0.111 "cd / root / kylee111 / dot_product_wrapocl_3 && ./run-replay.sh replay uf.data"

sshpass -p odroid ssh root@192.168.0.4 "cd /root/work_sprof/sysprof=0.7.2/dot_product_wrapocl && ./run-replay.XU4.sh replay uf.data"

스크립트의 재실행을 지시하는 명령은 타겟 장치의 네트워크 접속 패스워드, 타겟 장치의 네트워크 주소, 타겟 장치의 디렉토리 정보, 추적 처리기 정보(Ctracer)를 식별하는 식별자(uftrace) 등을 포함할 수 있다.The command for instructing re-execution of the script may include a network connection password of the target device, a network address of the target device, directory information of the target device, an identifier (uftrace) identifying the trace processor information (Ctracer)

타겟 컴맨드 에이전트(121)는 스크립트의 재실행을 지시하는 명령을 수신하고, 스크립트의 재실행을 지시하는 명령에 수록된 정보를 바탕으로 어플리케이션 프로세싱 처리부(125)에서 스크립트의 재실행을 처리할 수 있다(S820). 그리고, 타겟 컴맨드 에이전트(121)는 스크립트의 재실행 결과를 호스트 컴맨드 에이전트(113)에 제공하고(S821), 호스트 컴맨드 에이전트(113)는 스크립트의 재실행 결과를 통합 컴파일 처리부에 제공할 수 있다(S822).The target command agent 121 may receive a command instructing re-execution of the script and may process the re-execution of the script in the application processing unit 125 based on the information included in the command instructing re-execution of the script (S820) . Then, the target command agent 121 provides the re-execution result of the script to the host command agent 113 (S821), and the host command agent 113 can provide the re-execution result of the script to the integrated compilation processing unit (S822).

한편, 타겟 응용 프로그램의 추적/재실행을 수행할 대상이 복수의 타겟 장치(예, 제1타겟 장치, 제2타겟 장치)일 수 있다. 이에 대응하여, 통합 컴파일 처리부(111), 호스트 컴맨드 에이전트(113), 타겟 컴맨드 에이전트(121)는 복수의 타겟 장치(예, 제1타겟 장치, 제2타겟 장치)가 타겟 응용 프로그램의 추적/재실행을 수행하는 동작, 즉, S803 내지 S8224 단계의 동작을 진행할 수 있다. 복수의 타겟 장치(예, 제1타겟 장치, 제2타겟 장치)가 타겟 응용 프로그램의 추적/재실행을 수행하는 동작은 동시 또는 순차적으로 진행될 수 있다.On the other hand, the target to perform tracking / replay of the target application program may be a plurality of target devices (e.g., a first target device, a second target device). In response to this, the integrated compilation processing unit 111, the host command agent 113 and the target command agent 121 are configured such that a plurality of target devices (e.g., a first target device and a second target device) / Re-execute, that is, the operations of steps S803 to S8224 can be performed. Operations in which a plurality of target devices (e.g., a first target device and a second target device) perform tracking / re-execution of a target application program may proceed concurrently or sequentially.

본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.Although the exemplary methods of this disclosure are represented by a series of acts for clarity of explanation, they are not intended to limit the order in which the steps are performed, and if necessary, each step may be performed simultaneously or in a different order. In order to implement the method according to the present disclosure, the illustrative steps may additionally include other steps, include the remaining steps except for some steps, or may include additional steps other than some steps.

본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.The various embodiments of the disclosure are not intended to be all-inclusive and are intended to be illustrative of the typical aspects of the disclosure, and the features described in the various embodiments may be applied independently or in a combination of two or more.

또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다. In addition, various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof. In the case of hardware implementation, one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays A general processor, a controller, a microcontroller, a microprocessor, and the like.

본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다. The scope of the present disclosure is to be accorded the broadest interpretation as understanding of the principles of the invention, as well as software or machine-executable instructions (e.g., operating system, applications, firmware, Instructions, and the like are stored and are non-transitory computer-readable medium executable on the device or computer.

Claims (1)

호스트 장치가 다중 타겟 프로젝트 설정 정보로부터 복수의 타겟 장치의 네트워크 정보와 상기 복수의 타겟 장치의 타겟 파일 시스템의 공유 정보를 확인하는 과정과,
상기 복수의 타겟 장치의 네트워크 정보와 상기 복수의 타겟 장치의 타겟 파일 시스템의 공유 정보에 기초하여, 상기 복수의 타겟 장치의 타겟 파일 시스템을 호스트 장치의 디렉토리에 마운트 하는 과정과,
상기 마운트된 상기 복수의 타겟 장치의 타겟 파일 시스템을 사용하여, 상기 복수의 타겟 장치의 설정 환경에 각각 대응되는 서비스 응용 프로그램의 빌드정보를 생성하는 과정을 포함하는 다중 타겟의 임베디드 소프트웨어 개발 방법.
A step in which the host apparatus confirms network information of a plurality of target apparatuses and sharing information of a target file system of the plurality of target apparatuses from multiple target project setting information,
Mounting a target file system of the plurality of target apparatuses in a directory of a host apparatus based on network information of the plurality of target apparatuses and sharing information of a target file system of the plurality of target apparatuses;
And generating build information of a service application program corresponding to the configuration environment of the plurality of target devices using the target file system of the plurality of mounted target devices.
KR1020170133468A 2017-10-13 2017-10-13 Apparatus for embedded software development of multi target and method for the same KR102130166B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170133468A KR102130166B1 (en) 2017-10-13 2017-10-13 Apparatus for embedded software development of multi target and method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170133468A KR102130166B1 (en) 2017-10-13 2017-10-13 Apparatus for embedded software development of multi target and method for the same

Publications (2)

Publication Number Publication Date
KR20190041791A true KR20190041791A (en) 2019-04-23
KR102130166B1 KR102130166B1 (en) 2020-08-05

Family

ID=66285422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170133468A KR102130166B1 (en) 2017-10-13 2017-10-13 Apparatus for embedded software development of multi target and method for the same

Country Status (1)

Country Link
KR (1) KR102130166B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220073600A (en) * 2020-11-26 2022-06-03 주식회사 노타 Method and system for determining optimal parameter
KR20220109826A (en) * 2021-01-29 2022-08-05 주식회사 노타 Method and system for lighting artificial intelligence model

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102592874B1 (en) * 2021-08-18 2023-10-25 한국전자통신연구원 Unmanned Aerial Vehicle, Apparatus for Generating Source Files Providing Confidential Information Protection of Unmanned Aerial Vehicle

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100065046A (en) * 2008-12-05 2010-06-15 한국전자통신연구원 Apparatus and method for application testing of system based on embedded
KR20140021088A (en) * 2012-08-07 2014-02-20 인크로스 주식회사 A highly compatible plug-in system for developing hybrid web applications
KR101587500B1 (en) * 2014-08-29 2016-01-21 (주)한국플랫폼서비스기술 Intergrated application authoring tool provides a method using smart devices, cloud-based collaboration build system and the system
KR20160150321A (en) * 2015-06-22 2016-12-30 한국전자통신연구원 Apparatus for servicing development environment based on cloud and method using the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100065046A (en) * 2008-12-05 2010-06-15 한국전자통신연구원 Apparatus and method for application testing of system based on embedded
KR20140021088A (en) * 2012-08-07 2014-02-20 인크로스 주식회사 A highly compatible plug-in system for developing hybrid web applications
KR101587500B1 (en) * 2014-08-29 2016-01-21 (주)한국플랫폼서비스기술 Intergrated application authoring tool provides a method using smart devices, cloud-based collaboration build system and the system
KR20160150321A (en) * 2015-06-22 2016-12-30 한국전자통신연구원 Apparatus for servicing development environment based on cloud and method using the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220073600A (en) * 2020-11-26 2022-06-03 주식회사 노타 Method and system for determining optimal parameter
KR20230024950A (en) * 2020-11-26 2023-02-21 주식회사 노타 Method and system for determining optimal parameter
KR20220109826A (en) * 2021-01-29 2022-08-05 주식회사 노타 Method and system for lighting artificial intelligence model

Also Published As

Publication number Publication date
KR102130166B1 (en) 2020-08-05

Similar Documents

Publication Publication Date Title
US9720804B2 (en) Dynamic tracing framework for debugging in virtualized environments
EP2815320B1 (en) Remote debugging as a service
KR102130166B1 (en) Apparatus for embedded software development of multi target and method for the same
US10482001B2 (en) Automated dynamic test case generation
US10678512B2 (en) Enabling local development of microservices for hosting in remote orchestration engines
CN107967158B (en) Active drive API
US9535814B2 (en) Dynamic border line tracing for tracking message flows across distributed systems
WO2015200079A1 (en) Vertically integrated continuous delivery of an application
CN111459835B (en) Service debugging method and device, electronic equipment and computer readable storage medium
US20160378521A1 (en) Automated test optimization
US20170147471A1 (en) Isolating production environment debugging sessions
US9645874B2 (en) Analyzing OpenManage integration for troubleshooting log to determine root cause
CN111124420A (en) Compiling method, device, electronic equipment and readable storage medium
JP2018532169A (en) Method and apparatus for generating, collecting, storing, and loading debug information about failed test scripts
US20170286259A1 (en) Information processing apparatus, information processing system, and computer-readable recording medium
US9563536B1 (en) Performance neutral isolation of runtime discrepancies in binary code
US20170286064A1 (en) Projection of build and design-time inputs and outputs between different build environments
JP6568576B2 (en) Control when starting an atomic task on a server platform
JP2015158773A (en) Operation verification device for virtual apparatus, operation verification system for virtual apparatus, and program
KR102113757B1 (en) Web-Based Robot Programming System and Method
US20170109266A1 (en) Decomposing application topology data into transaction tracking data
Hausladen et al. A cloud-based integrated development environment for embedded systems
CN113709243A (en) Equipment remote control method and device, electronic equipment and storage medium
US11677637B2 (en) Contextual update compliance management
US20100306734A1 (en) Method and apparatus for multi-language software development

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant