KR101399356B1 - Developer terminal and target device, which communicate with each other according to same communication protocol and system and method for emulating the target device - Google Patents

Developer terminal and target device, which communicate with each other according to same communication protocol and system and method for emulating the target device Download PDF

Info

Publication number
KR101399356B1
KR101399356B1 KR1020070032521A KR20070032521A KR101399356B1 KR 101399356 B1 KR101399356 B1 KR 101399356B1 KR 1020070032521 A KR1020070032521 A KR 1020070032521A KR 20070032521 A KR20070032521 A KR 20070032521A KR 101399356 B1 KR101399356 B1 KR 101399356B1
Authority
KR
South Korea
Prior art keywords
target device
target
layer
control command
developer terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
KR1020070032521A
Other languages
Korean (ko)
Other versions
KR20080089847A (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 KR1020070032521A priority Critical patent/KR101399356B1/en
Publication of KR20080089847A publication Critical patent/KR20080089847A/en
Application granted granted Critical
Publication of KR101399356B1 publication Critical patent/KR101399356B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

네트워크 에이전트를 포함하는 개발자 터미널, 타겟 장치 및 네트워크 에이전트를 이용한 에뮬레이션 방법 및 시스템이 개시된다. 본 발명에 따르는 에뮬레이션 시스템은 타겟 장치 및 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개발자 터미널을 포함한다. 개발자 터미널은, 타겟 장치를 제어하기 위한 제어 명령을 시스템 계층으로 전달하는 어플리케이션 계층 및 시스템 계층으로부터 수신된 제어 명령을 타겟 장치의 하드웨어 특성에 상응하도록 추상화하여 타겟 장치로 전송하는 하드웨어 추상화 계층(HAL)을 포함한다. 타겟 장치는, 추상화된 제어 명령을 수신하고, 추상화된 제어 명령에 상응하여 타겟 장치를 제어하여 획득된 에뮬레이션 결과를 개발자 터미널로 전송하는 타겟 제어부를 포함한다. 개발자 터미널 및 타겟 장치는, 동일한 통신 프로토콜에 따라 상호 통신한다. 본 발명에 의하여, 하나의 에뮬레이션 장치 또는 하나의 타겟 장치를 다수 개의 개발자 터미널에서 공유함으로써 1:다 또는 다:1의 개발 환경을 구현할 수 있고, 별도의 추가 작업 없이 개발된 드라이버를 이용하여 직접 타겟 장치를 구동할 수 있다.

Figure R1020070032521

An emulation method and system using a developer terminal including a network agent, a target device, and a network agent are disclosed. The emulation system according to the present invention includes a target terminal and a developer terminal for developing a target driver for driving the target terminal. The developer terminal includes an application layer for transferring a control command for controlling a target device to a system layer, a hardware abstraction layer (HAL) for abstracting control commands received from the system layer to correspond to hardware characteristics of the target device, . The target device includes a target control unit that receives the abstracted control command, controls the target device in accordance with the abstracted control command, and transmits the obtained emulation result to the developer terminal. The developer terminal and the target device communicate with each other according to the same communication protocol. According to the present invention, one emulation device or one target device can be shared by a plurality of developer terminals, thereby realizing a 1: D or D: 1 development environment. By using a driver developed without any additional work, The device can be driven.

Figure R1020070032521

Description

동일한 통신 프로토콜에 따라서 상호 통신하는 개발자 터미널 및 타겟 장치 및 상기 타겟 장치를 에뮬레이션하기 위한 시스템 및 방법{Developer terminal and target device, which communicate with each other according to same communication protocol and system and method for emulating the target device} A developer terminal and a target device that communicate with each other in accordance with the same communication protocol, and a system and method for emulating the target device, and a system and method for emulating the target device }

도 1은 종래 기술에 의한 임베디드 시스템을 개념적으로 도시하는 도면이다. 1 is a diagram conceptually showing an embedded system according to the prior art.

도 2는 본 발명의 일 측면에 의한 개발자 터미널을 개념적으로 도시하는 블록도이다. 2 is a block diagram conceptually illustrating a developer terminal according to an aspect of the present invention.

도 3은 본 발명의 다른 측면에 의한 에뮬레이션 시스템을 개념적으로 도시하는 블록도이다. 3 is a block diagram conceptually illustrating an emulation system according to another aspect of the present invention.

도 4는 본 발명의 또 다른 측면에 의한 타겟 장치에 타겟 드라이버가 포팅된 결과를 개념적으로 도시하는 블록도이다. 4 is a block diagram conceptually showing a result of porting a target driver to a target device according to another aspect of the present invention.

도 5는 본 발명의 또 다른 측면에 의한 네트워크 에이전트를 이용한 에뮬레이션 방법을 나타내는 흐름도이다. 5 is a flowchart illustrating an emulation method using a network agent according to another aspect of the present invention.

본 발명은 타겟 장치를 에뮬레이션하기 위한 방법 및 장치에 관한 것으로서, 특히, 네트워크 에이전트를 이용하여 다양한 타겟 장치와 통신할 수 있는 개발자 터미널, 네트워크 에이전트를 포함하는 타겟 장치, 및 네트워크 에이전트를 이용한 타겟 장치의 에뮬레이션 방법 및 에뮬레이션 시스템에 관한 것이다. The present invention relates to a method and apparatus for emulating a target device, and more particularly to a method and apparatus for emulating a target device using a network agent, a developer terminal capable of communicating with various target devices using the network agent, a target device including a network agent, An emulation method, and an emulation system.

기술의 발전에 힘입어, 다양한 사용자 전자 장치들이 개발된다. 사용자 전자 장치들에는 종래에는 존재하지 않았던 신규한 장치들이 존재한다. 예를 들어, 휴대용 멀티미디어 재생기(PMP, Portable Multimedia Player) 및 네비게이션 장치 등과 같은 신규한 전자 장치가 개발된다. 또한, 기존의 전자 장치들도 다양화되는 사용자 요구에 부합하기 위하여 기능을 개선하거나 추가하는 방향으로 자주 업그레이드된다. 예를 들어, 종래의 휴대용 전화기들은 DMB(Digital Multimedia Broadcasting) 기능 및 카메라 기능을 구현할 수 있도록 업그레이드된다. With advances in technology, a variety of user electronic devices are developed. There are new devices in user electronics that have not existed in the past. For example, new electronic devices such as portable multimedia players (PMPs) and navigation devices have been developed. In addition, existing electronic devices are frequently upgraded to improve or add functionality to meet diverse user needs. For example, conventional portable telephones are upgraded to implement DMB (Digital Multimedia Broadcasting) functions and camera functions.

그런데, 독립형(stand-alone) 방식으로 동작하는 전자 장치들은 그 내부에 제어기를 포함하며, 새로운 성능이 추가될 때마다 이러한 제어기를 구동하기 위한 어플리케이션을 수정 및 보완하여야 한다. 예를 들어, ARM(Advanced RISC Machine) 아키텍쳐에 따라 구현된 개인 휴대용 단말기(PDA, Personal Digital Assistant)의 경우, ARM 코어를 제어하기 위한 명령어들을 단말기의 ROM에 포팅함으로써 갱신된다. However, electronic devices operating in a stand-alone manner include a controller therein, and an application for driving such a controller must be modified and supplemented each time a new performance is added. For example, in the case of a personal digital assistant (PDA) implemented in accordance with the ARM (Advanced RISC Machine) architecture, the instructions for controlling the ARM core are updated by porting them to the ROM of the terminal.

그런데, 일반적으로 독립형 방식으로 동작하는 전자 장치의 경우, 개발 과정에서 직접적으로 제어 대상인 타겟 장치를 제어하면서 장치 드라이버를 개발하는 작업은 매우 번거롭다. 그 이유는 독립형 전자 장치의 하드웨어는 사용자가 장치 드라이버를 개발하기에 적합한 환경을 제공하지 못하기 때문이다. 또한, 타겟 장 치에 이용된 하드웨어 코어의 종류는 매우 다양한데, 사용자가 모든 코어에 상응하는 명령어 집합을 모두 숙지하는 것 또한 쉽지 않다. 뿐만 아니라, 일반적인 전자 장치는 RISC(Reduced Instruction Set Computer) 아키텍쳐를 가지므로, 구현할 수 있는 명령어의 개수가 제한되는 반면, 하위 레벨 언어를 이용하여 이러한 명령어를 직접적으로 조작하는 것은 결코 용이하지 않다. In general, in the case of an electronic device operating in a stand-alone mode, it is very troublesome to develop a device driver while controlling a target device to be controlled directly in the development process. The reason for this is that the hardware of the standalone electronic device does not provide a suitable environment for the user to develop the device driver. In addition, the types of hardware cores used in the target device are very diverse, and it is also not easy for the user to know all instruction sets corresponding to all cores. In addition, since general electronic devices have a Reduced Instruction Set Computer (RISC) architecture, the number of instructions that can be implemented is limited, while manipulating these instructions directly using lower level languages is not easy.

따라서, 더 많은 시스템 자원을 제공하는 개발자 터미널에서 타겟 장치를 구동하기 위한 드라이버를 개발하는 방식이 널리 이용된다. Therefore, a method of developing a driver for driving a target device in a developer terminal that provides more system resources is widely used.

도 1은 종래 기술에 의한 임베디드 시스템을 개념적으로 도시하는 도면이다. 1 is a diagram conceptually showing an embedded system according to the prior art.

임베디드 시스템이란 장치 제어부가 내장되어 독립형 방식으로 동작할 수 있는 전자 장치를 나타낸다. 도 1을 참조하면, 타겟 장치 상에 탑재된 장치 드라이버 및 운영 체제를 상위의 미들웨어 및 어플리케이션 계층이 직접 호출한다. 도 1을 참조하여, 임베디드 시스템을 개발하는 과정을 살펴보면, 최하위 계층에 하드웨어 장치 드라이버가 구현된다. 그러면, 하드웨어 장치 드라이버 상위에 미들웨어 계층 및 어플리케이션 계층이 구현된다. An embedded system refers to an electronic device that can operate in a stand-alone manner with a built-in device control unit. Referring to FIG. 1, upper layer middleware and application layer directly call a device driver and an operating system mounted on a target device. Referring to FIG. 1, a process of developing an embedded system will be described. A hardware device driver is implemented in the lowest layer. Then, the middleware layer and the application layer are implemented in the upper part of the hardware device driver.

그런데, 종래의 임베디드 시스템에서는, 하위 계층이 구현되어야, 그 상부에서 동작하는 계층이 동작할 수 있다. 예를 들어, 타겟 장치의 하드웨어에 관련된 장치 드라이버의 개발이 완료되어야만 그 상위 소프트웨어의 개발이 가능하다는 것이다. 따라서, 개발 기간이 더 소요될 뿐만 아니라 타겟 장치의 하드웨어가 사소하게 변경되더라도 모든 계층들이 동시에 변경되어야 한다. 뿐만 아니라, 드라이버 개발 과정에서 오류가 발생했을 경우, 오류가 어플리케이션에서 발생한 것인지 타겟 장치의 하드웨어에서 발생한 것인지를 확인하기 힘들다. However, in the conventional embedded system, a lower layer must be implemented, and a layer operating on the lower layer can operate. For example, development of a higher-level software is possible only when development of a device driver related to the hardware of the target device is completed. Therefore, not only the development period is longer, but all layers must be changed at the same time even if the hardware of the target device is changed slightly. In addition, if an error occurs during driver development, it is difficult to confirm whether the error occurred in the application or hardware of the target device.

그러므로, 타겟 장치의 하드웨어를 에뮬레이션하여, 직접적으로 타겟 장치를 구동하지 않더라도 타겟 장치가 구동되는 것과 같은 환경을 구현하는 에뮬레이션 기술이 이용된다. 에뮬레이션 기술을 통하여, 타겟 장치에 종속되지 않도록 미들웨어 계층 및 어플리케이션 계층을 구현할 수 있다. 따라서, 장치 드라이버의 개발 과정에서는 미들웨어 계층 및 어플리케이션 계층에서 타겟 장치와 독립적으로 드라이버를 개발한다. 이와 같이 장치 드라이버를 개발하면, 추후 타겟 장치의 하드웨어가 변경되더라도 시스템 계층에서만 변경된 사항을 수용하면 족하다. 또한, 에뮬레이션을 이용하면 어플리케이션의 개발 도중에 발생되는 오류를 소프트웨어적인 오류로 판단하고 해당 소프트웨어를 디버깅할 수 있다. Thus, an emulation technique is used that implements the environment in which the target device is driven even if the target device is not directly driven by emulating the hardware of the target device. Through the emulation technology, the middleware layer and the application layer can be implemented so as not to be dependent on the target device. Accordingly, in the process of developing a device driver, a driver is developed independently from a target device in a middleware layer and an application layer. By developing the device driver in this way, even if the hardware of the target device is changed later, it suffices to accommodate the changes only in the system layer. In addition, emulation can be used to determine errors that occur during application development as software errors and to debug the software.

그런데, 종래 기술에 의한 에뮬레이션 방법에 따르면, 하나의 개발자 터미널에 하나의 타겟 장치가 연결된다. 따라서, 타겟 장치는 하나의 개발자 터미널에 의하여 독점되므로, 여러 개발자가 드라이버의 개발에 참여하더라도 원활하게 분업할 수 없다. 이러한 단점은 특히 에뮬레이션에 이용되는 장비가 고가일 경우에 두드러진다. However, according to the emulation method according to the related art, one target device is connected to one developer terminal. Therefore, since the target device is monopolized by one developer terminal, even if several developers participate in the development of the driver, it is not possible to separate them smoothly. This disadvantage is particularly noticeable when the equipment used for emulation is expensive.

뿐만 아니라, 에뮬레이션 환경이 실제 타겟 장치와 완전히 일치하는 것은 아니다. 따라서, 개발자 터미널에서 타겟 장치를 에뮬레이션하여 드라이버를 개발하였다 하더라도, 개발된 드라이버가 타겟 장치에 이식되었을 때 정확히 동작하는지는 반드시 보장되는 것이 아니다. 그런데, 개발자 터미널에서 이용하는 API 및 타겟 장치에서 이용하는 API 가 상이하기 때문에 타겟 장치에 대한 장치 드라이버를 이용하여 직접적으로 타겟 장치를 구동할 수 없다. 그러므로, 장치 드라이버가 완성되더라도 타겟 장치의 API에 상응하도록 포팅하는 과정이 필요하다. 포팅한 드라이버를 이용하여 타겟 장치를 구동한 결과 오류가 발생되면, 다시 에뮬레이션 장치를 이용하여 드라이버를 수정하여야 하며, 수정된 드라이버 역시 다시 타겟 장치의 API에 상응하도록 포팅하여야 하므로 개발 시간이 길어진다. In addition, the emulation environment does not exactly match the actual target device. Therefore, even if a driver is developed by emulating a target device in a developer terminal, it is not necessarily guaranteed that the developed driver will operate correctly when the target device is implanted. However, since the API used in the developer terminal and the API used in the target device are different, the target device can not be directly driven using the device driver for the target device. Therefore, even if the device driver is completed, a process of porting is required to correspond to the API of the target device. If an error occurs as a result of driving the target device using the ported driver, the driver must be modified again using the emulation device. Also, the modified driver must be ported to correspond to the API of the target device again.

그러므로, 하나의 에뮬레이션 장치를 여러 개의 개발자 터미널에 의하여 공유하는 것은 물론, 드라이버의 개발이 완료되었을 경우, 별다른 부가적인 작업 없이 개발된 드라이버를 직접 타겟 장치에 포팅하기 위한 기술이 절실히 요구된다. Therefore, in addition to sharing one emulation device by a plurality of developer terminals, when the development of the driver is completed, a technique for directly porting the developed driver directly to the target device is required without additional work.

본 발명의 목적은 하나의 에뮬레이션 장치 또는 하나의 타겟 장치를 다수 개의 개발자 터미널에서 공유함으로써 드라이버 개발 기간을 단축할 수 있는 에뮬레이션 시스템을 제공하는 것이다. An object of the present invention is to provide an emulation system capable of shortening a driver development period by sharing one emulation device or one target device at a plurality of developer terminals.

본 발명의 다른 목적은, 개발자 터미널의 시스템 계층, 에뮬레이션 부, 및 타겟 장치에 동일한 통신 프로토콜에 따라서 통신하는 네트워크 에이전트를 포함시키고, 드라이버가 개발 완료된 이후에 드라이버와 함께 네트워크 에이전트를 함께 타겟 장치 내에 포팅시킴으로써, 별도의 추가 작업 없이 개발된 드라이버를 이용하여 직접 타겟 장치를 구동하기 위한 에뮬레이션 방법을 제공하는 것이다. It is a further object of the present invention to provide a network system that includes a network agent communicating with the system layer, the emulation section, and the target device of the developer terminal according to the same communication protocol, and after the driver is developed, Thereby providing an emulation method for directly driving a target device using a driver developed without additional work.

상기와 같은 목적들을 달성하기 위한 본 발명의 일면은, 타겟 장치 및 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개발자 터미널을 포함하는 에뮬레 이션 시스템에 관한 것으로서, 개발자 터미널은, 타겟 장치를 제어하기 위한 제어 명령을 시스템 계층으로 전달하는 어플리케이션 계층 및 시스템 계층으로부터 수신된 제어 명령을 타겟 장치의 하드웨어 특성에 상응하도록 추상화하여 타겟 장치로 전송하는 하드웨어 추상화 계층(HAL)을 포함하고, 타겟 장치는, 추상화된 제어 명령을 수신하고, 추상화된 제어 명령에 상응하여 타겟 장치를 제어하여 획득된 에뮬레이션 결과를 개발자 터미널로 전송하는 타겟 제어부를 포함하며, 개발자 터미널 및 타겟 장치는, 동일한 통신 프로토콜에 따라 상호 통신하는 것을 특징으로 한다. 개발자 터미널 및 타겟 장치는, 통신 프로토콜에 따라 동작하는 네트워크 에이전트를 각각 포함하며, 네트워크 에이전트들은 소정의 네트워크를 통하여 상호 연결되는 것이 바람직하다. 특히, 타겟 장치는, 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것이 바람직하다. 뿐만 아니라, 타겟 드라이버가 개발되면, 개발된 타겟 드라이버는 네트워크 에이전트와 함께 타겟 장치의 메모리에 포팅되는 것이 바람직하다. 더 나아가, 개발자 터미널은, 개발자 터미널의 운영 체제를 추상화하는 운영 체제 추상화 계층(OSAL) 및 운영 체제 추상화 계층(OSAL) 및 어플리케이션 계층 사이에 위치하는 미들웨어 계층을 더 포함한다. According to an aspect of the present invention, there is provided an emulation system including a target device and a developer terminal for developing a target driver for driving the target device, And a hardware abstraction layer (HAL) for abstracting control commands received from the application layer and the system layer to transfer control commands received from the system layer to the target device in accordance with hardware characteristics of the target device, Wherein the developer terminal and the target device communicate with each other in accordance with the same communication protocol, and the developer terminal and the target device communicate with each other in accordance with the same communication protocol, and the target terminal controls the target device in response to the abstracted control command and transmits the obtained emulation result to the developer terminal. . Preferably, the developer terminal and the target device each include a network agent operating according to a communication protocol, and the network agents are preferably interconnected through a predetermined network. In particular, the target device is preferably shared by a plurality of developer terminals via a network. In addition, when a target driver is developed, the developed target driver is preferably ported to the memory of the target device along with the network agent. Further, the developer terminal further includes a middleware layer located between the operating system abstraction layer (OSAL) and operating system abstraction layer (OSAL) and the application layer that abstracts the operating system of the developer terminal.

상기와 같은 목적들을 달성하기 위한 본 발명의 다른 면은, 타겟 장치 및 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개발자 터미널을 포함하는 에뮬레이션 방법에 관한 것이다. 본 발명의 다른 면에 따른 에뮬레이션 방법은 타겟 장치를 제어하기 위한 제어 명령을 개발자 터미널의 어플리케이션 계층으로부터 시스템 계층으로 전달하는 단계, 수신된 제어 명령을 타겟 장치의 하드웨어 특성에 상응하도록 추상화하고, 추상화된 제어 명령을 소정의 통신 프로토콜에 따라 타겟 장치로 전송하는 단계, 추상화된 제어 명령을 수신하고, 추상화된 제어 명령에 상응하여 타겟 장치를 에뮬레이션하는 단계, 및 타겟 장치를 에뮬레이션하여 획득된 에뮬레이션 결과를 통신 프로토콜에 따라 개발자 터미널로 전송하는 단계를 포함하는 것을 특징으로 한다. 개발자 터미널 및 타겟 장치는 통신 프로토콜에 따라 동작하는 네트워크 에이전트를 이용하여 상호 통신하며, 타겟 장치는, 소정의 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것이 바람직하다. 특히, 통신 프로토콜은 이더넷 프로토콜 또는 직렬 통신 프로토콜인 것을 특징으로 한다. 더 나아가, 본 발명에 의한 에뮬레이션 방법은 타겟 드라이버가 개발되면, 개발된 타겟 드라이버를 네트워크 에이전트와 함께 타겟 장치의 메모리에 포팅하는 단계를 더 포함한다. According to another aspect of the present invention, there is provided an emulation method including a target device and a developer terminal for developing a target driver for driving the target device. The emulation method according to another aspect of the present invention includes the steps of transferring a control command for controlling the target device from the application layer of the developer terminal to the system layer, abstracting the received control command to correspond to the hardware characteristics of the target device, Transmitting the control command to the target device according to a predetermined communication protocol, receiving the abstracted control command, emulating the target device in accordance with the abstracted control command, and emulating the target device to communicate the obtained emulation result To the developer terminal according to the protocol. The developer terminal and the target device communicate with each other using a network agent operating according to a communication protocol, and the target device is preferably shared by a plurality of developer terminals through a predetermined network. Particularly, the communication protocol is an Ethernet protocol or a serial communication protocol. Further, the emulation method according to the present invention further includes the step of, when the target driver is developed, porting the developed target driver to the memory of the target device together with the network agent.

상기와 같은 목적들을 달성하기 위한 본 발명의 또 다른 면은, 타겟 장치를 에뮬레이션하여 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개발자 터미널에 관한 것이다. 본 발명에 의한 개발자 터미널은 타겟 장치를 제어하기 위한 제어 명령을 시스템 계층으로 전달하는 어플리케이션 계층, 시스템 계층으로부터 수신된 제어 명령을 타겟 장치의 하드웨어 특성에 상응하도록 추상화하여 타겟 장치로 전송하는 하드웨어 추상화 계층(HAL), 및 추상화된 제어 명령을 수신하고, 추상화된 제어 명령에 상응하여 타겟 장치를 제어하여 획득된 에뮬레이션 결과를 개발자 터미널로 전송하는 에뮬레이션부를 포함하며, 개발자 터미널 및 에뮬레이션부는 동일한 통신 프로토콜에 따라 상호 통신하는 것을 특징으로 한다. 또한, 개발 자 터미널 및 에뮬레이션부는 통신 프로토콜에 따라 동작하는 네트워크 에이전트를 각각 포함하며, 네트워크 에이전트는 소정의 네트워크를 통하여 상호 연결되는 것을 특징으로 한다. 특히, 본 발명에 따른 개발자 터미널은 타겟 드라이버가 개발되면, 개발된 타겟 드라이버를 네트워크 에이전트와 함께 타겟 장치의 메모리에 포팅하는 것을 특징으로 한다. According to another aspect of the present invention, there is provided a developer terminal for developing a target driver for emulating a target device to drive a target device. The developer terminal according to the present invention includes an application layer for transferring a control command for controlling a target device to a system layer, a hardware abstraction layer for abstracting control commands received from the system layer to correspond to hardware characteristics of a target device, (HAL), and an emulation section for receiving the abstracted control command, controlling the target device in accordance with the abstracted control command, and transmitting the obtained emulation result to the developer terminal, wherein the developer terminal and the emulation section And communicate with each other. Further, the developer terminal and the emulation section each include a network agent operating in accordance with a communication protocol, and the network agent is interconnected through a predetermined network. In particular, the developer terminal according to the present invention is characterized in that when a target driver is developed, the developed target driver is ported to the memory of the target device together with the network agent.

상기와 같은 목적들을 달성하기 위한 본 발명의 또 다른 면은, 개발자 터미널로부터 수신된 추상화된 제어 명령에 의하여 제어되는 타겟 장치에 관한 것이다. 본 발명에 따른 타겟 장치는, 추상화된 제어 명령을 소정의 통신 프로토콜에 따라서 수신하기 위한 네트워크 에이전트 및 추상화된 제어 명령에 의하여 타겟 장치를 제어하기 위한 타겟 제어부를 포함하며, 타겟 제어부는, 타겟 장치를 에뮬레이션한 결과를 네트워크 에이전트를 통하여 개발자 터미널로 송신하는 것을 특징으로 한다. 특히, 네트워크 에이전트는 소정의 네트워크를 통하여 개발자 터미널에 연결되는 것을 특징으로 한다. 더 나아가, 타겟 장치는 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것이 바람직하다. 뿐만 아니라, 네트워크 에이전트는 타겟 드라이버가 개발되면, 개발자 터미널로부터 포팅된 타겟 드라이버를 수신하고, 타겟 장치는, 수신된 타겟 드라이버를 네트워크 에이전트와 함께 저장하는 메모리를 더 포함하는 것을 특징으로 한다. According to another aspect of the present invention, there is provided a target device controlled by an abstracted control command received from a developer terminal. A target apparatus according to the present invention includes a network agent for receiving an abstracted control command according to a predetermined communication protocol and a target control unit for controlling the target apparatus by an abstracted control command, And transmits the emulated result to the developer terminal through the network agent. In particular, the network agent is connected to the developer terminal through a predetermined network. Furthermore, the target device is preferably shared by a plurality of developer terminals via a network. In addition, the network agent further includes a memory for receiving the target driver ported from the developer terminal, when the target driver is developed, and the target device storing the received target driver together with the network agent.

본 발명에 따르면, 네트워크를 이용하여 하나의 타겟 장치를 여러 개의 개발자 터미널에서 공유할 수 있을 뿐만 아니라, 개발된 드라이버를 별도의 작업 없이 직접 타겟 장치 상에 임베딩하여 타겟 장치를 구동시킬 수 있다. According to the present invention, not only one target device can be shared by a plurality of developer terminals using a network, but also a target device can be driven by directly embedding the developed driver on a target device without any additional work.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. In order to fully understand the present invention, operational advantages of the present invention, and objects achieved by the practice of the present invention, reference should be made to the accompanying drawings and the accompanying drawings which illustrate preferred embodiments of the present invention.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로서, 본 발명을 상세히 설명한다. 각 도면에 대하여, 동일한 참조부호는 동일한 부재임을 나타낸다. Hereinafter, the present invention will be described in detail with reference to the preferred embodiments of the present invention with reference to the accompanying drawings. In each drawing, the same reference numerals denote the same members.

도 2는 본 발명의 일 측면에 의한 개발자 터미널을 개념적으로 도시하는 블록도이다. 2 is a block diagram conceptually illustrating a developer terminal according to an aspect of the present invention.

도 2를 참조하면, 개발자 터미널(200)은 어플리케이션 계층(210), 미들웨어 계층(220), 시스템 계층(230), 및 에뮬레이션 부(290)을 포함한다. 시스템 계층(230)은 운영 체제 추상화 계층(Operating System Abstraction Layer, OSAL)(240) 및 하드웨어 추상화 계층(250)을 포함하며, 에뮬레이션 부(290)는 타겟 제어부(280)를 포함한다. Referring to FIG. 2, the developer terminal 200 includes an application layer 210, a middleware layer 220, a system layer 230, and an emulation section 290. The system layer 230 includes an operating system abstraction layer (OSAL) 240 and a hardware abstraction layer 250, and the emulation unit 290 includes a target control unit 280.

어플리케이션 계층(210)은 사용자가 직접 이용할 수 있는 응용 프로그램에 해당한다. 예를 들어, 타겟 장치가 텔레비전 튜너일 경우, 어플리케이션 계층(210)은 회면 조정, 음량 조정, 및 채널 설정 등과 같은 메뉴 선택 화면 및 OSD(On Screen Display) 등을 제어한다. The application layer 210 corresponds to an application program directly available to the user. For example, when the target device is a television tuner, the application layer 210 controls a menu selection screen such as a facial adjustment, a volume adjustment, and a channel setting, and an OSD (On Screen Display).

미들웨어 계층(220)은 서로 상이한 타겟 장치 간의 동작 중 공통적인 부분을 제어하는 계층이다. 예를 들어, 타겟 장치가 텔레비전 튜너일 경우 해당 텔레비전 튜너에 이용되는 어플리케이션은 상이하더라도, 모든 텔레비전 튜너는 채널 변경 엔진, 화면 조절 엔진, 채널 정보 데이터베이스 관리, 및 하드웨어 제어 등의 동작을 공통적으로 수행한다. 따라서, 이러한 공통적인 동작들은 미들웨어 계층(220)에서 제어한다. The middleware layer 220 is a layer that controls a common part of operations among target apparatuses that are different from each other. For example, when the target device is a television tuner, all the television tuners commonly perform operations such as a channel change engine, a screen adjustment engine, a channel information database management, and a hardware control, even if the application used for the television tuner is different . Accordingly, these common operations are controlled in the middleware layer 220. [

이와 같이, 어플리케이션 계층(210) 및 미들웨어 계층(220)을 구별함으로써, 다양한 타겟 장치에 대한 개발 시간을 단축할 수 있다. 즉, 상이한 타겟 장치에 이용되는 어플리케이션이 상이할 경우라도, 이러한 타겟 장치들 간의 공통되는 동작은 미들웨어 계층(220)에서 구현할 수 있다. 그러면, 개발자는 미들웨어 계층(220)은 공통적으로 이용하고, 상이한 기능들만을 어플리케이션 계층(210)에서 개발할 수 있으므로 개발 시간이 단축된다. By thus distinguishing the application layer 210 and the middleware layer 220, development time for various target devices can be shortened. That is, even if the applications used for different target devices are different, a common operation between these target devices can be implemented in the middleware layer 220. Then, the developer can use the middleware layer 220 in common and develop only different functions in the application layer 210, thereby shortening the development time.

도 2에서, 개발자 터미널(200)은 제1 운영 체제(OS1) 상에서 동작한다. 제1 운영 체제(OS1)는 윈도우즈(windows), 리눅스, 임베디드 리눅스, VxWORKs, WinCE, WinCE.net 등의 다양한 운영 체제일 수 있다. 개발자 터미널(200)의 어플리케이션 계층(210) 및 미들웨어 계층(220)은 운영 체제(OS1) 상에서 동작한다. 따라서, 운영 체제(OS1)가 변경되면 어플리케이션 계층(210) 및 미들웨어 계층(220)이 모두 변경되어야 한다. 그러므로, 개발자 터미널(200)에서 동작하는 운영 체제(OS1)에 대한 어플리케이션 계층(210) 및 미들웨어 계층(220)의 독립성을 확보하기 위하여 운영 체제 추상화 계층(OSAL, 240)이 이용된다. 즉, 개발자 터미널(200)에서 이용되는 운영 체제(OS1)가 변경되더라도, 변경된 운영 체제는 운영 체제 추상화 계층(240)에 의하여 추상화되기 때문에, 어플리케이션 계층(210) 및 미들웨어 계층(220)은 변경되지 않아도 된다. 2, the developer terminal 200 operates on a first operating system OS1. The first operating system (OS1) may be a variety of operating systems such as Windows, Linux, embedded Linux, VxWORKs, WinCE, WinCE.net, and the like. The application layer 210 and the middleware layer 220 of the developer terminal 200 operate on the operating system OS1. Accordingly, when the operating system OS1 is changed, both the application layer 210 and the middleware layer 220 must be changed. Therefore, an operating system abstraction layer (OSAL) 240 is used to ensure the independence of the application layer 210 and the middleware layer 220 for the operating system OS1 operating in the developer terminal 200. [ That is, even if the operating system OS1 used in the developer terminal 200 is changed, since the changed operating system is abstracted by the operating system abstraction layer 240, the application layer 210 and the middleware layer 220 are not changed You do not have to.

이하, 하드웨어 추상화 계층(Hardware Abstractio Layer, HAL)(250)에 설명한다. The hardware abstractio layer (HAL) 250 will be described below.

다양한 타겟 장치를 효과적으로 에뮬레이션하고, 타겟 장치에 종속되지 않게 어플리케이션 계층(210) 및 미들웨어 계층(220)을 구현하기 위하여는, 타겟 장치의 하드웨어를 추상화 하여주는 하드웨어 추상화 계층(250)이 필요하다. 하드웨어 추상화 계층(250)을 이용함에 의하여, 정의된 하드웨어 추상화 계층(250)의 하부 계층들만을 타겟 장치에 맞도록 적응시키고, 하드웨어 추상화 계층(250) 상부의 어플리케이션 계층(210) 및 미들웨어 계층(220)은 타겟 장치에 독립적으로 구현할 수 있게 된다. 즉, 하드웨어 추상화 계층(250)이란 입출력 인터페이스, 인터럽트 제어, 다중 프로세서 통신의 구현 등에 필요한 하드웨어 종속적인 세부 사항을 처리하는 루틴들의 집합체를 나타낸다. 임베디드 시스템에서 하드웨어 추상화 계층을 정의하고 이 기능을 개발자 터미널 상에서 구현함으로써, 에뮬레이션 기반 개발환경을 제공하는 것은 물론, 타겟 장치 및 장치 드라이버가 확보되기 이전에 미들웨어 계층(220) 또는 어플리케이션 계층(210)을 개발할 수 있다. In order to effectively emulate various target devices and to implement the application layer 210 and the middleware layer 220 without depending on the target device, a hardware abstraction layer 250 that abstracts the hardware of the target device is needed. Only the lower layers of the defined hardware abstraction layer 250 are adapted to the target device and the application layer 210 and the middleware layer 220 ) Can be implemented independently of the target device. That is, the hardware abstraction layer 250 represents a collection of routines for processing hardware-dependent details necessary for an input / output interface, an interrupt control, an implementation of a multiprocessor communication, and the like. By defining a hardware abstraction layer in the embedded system and implementing this function on the developer terminal, the emulation-based development environment can be provided and the middleware layer 220 or the application layer 210 can be provided Can be developed.

에뮬레이션 부(290)는 하드웨어 추상화 계층(250)에 의하여 추상화된 제어 명령을 이용하여 타겟 제어부(280)를 제어한다. 에뮬레이션 부(290)에 의하여 타겟 제어부(280)를 구동함으로써, 개발자는 직접 타겟 장치를 구동하는 것과 유사한 효과를 얻을 수 있다. The emulation unit 290 controls the target control unit 280 using a control command abstracted by the hardware abstraction layer 250. By driving the target control unit 280 by the emulation unit 290, the developer can obtain an effect similar to driving the target device directly.

도 2에 도시된 개발자 터미널(200)에서, 하드웨어 추상화 계층(250) 및 에뮬레이션 부(290)는 각각 제1 및 제2 네트워크 에이전트(260, 270)를 포함한다. 어 플리케이션 계층(210)에서 생성된 제어 명령은 미들웨어 계층(220)을 통하여 시스템 계층(230)으로 전달된다. 그러면, 하드웨어 추상화 계층(250)은 제1 네트워크 에이전트(260)를 통하여 추상화된 제어 명령을 에뮬레이션 부(290)로 전송한다. 그러면, 제2 네트워크 에이전트(270)는 추상화된 제어 명령을 수신하고, 수신된 제어 명령을 타겟 제어부(280)로 전달한다. In the developer terminal 200 shown in FIG. 2, the hardware abstraction layer 250 and the emulation unit 290 include first and second network agents 260 and 270, respectively. The control commands generated in the application layer 210 are transferred to the system layer 230 through the middleware layer 220. Then, the hardware abstraction layer 250 transmits the control command abstracted through the first network agent 260 to the emulation unit 290. Then, the second network agent 270 receives the abstracted control command and delivers the received control command to the target control unit 280. [

에뮬레이션 부(290)에서 수신된 제어 명령에 상응하여 타겟 장치를 에뮬레이션한 에뮬레이션 결과는 다시 제2 네트워크 에이전트(270)로부터 제1 네트워크 에이전트(260)로 전송된다. 그러면, 하드웨어 추상화 계층(250)은 수신된 에뮬레이션 결과를 미들웨어 계층(220)을 거쳐 어플리케이션 계층(210)으로 전달한다. 어플리케이션 계층(210)은 수신된 에뮬레이션 결과를 분석하여, 장치 드라이버를 개발할 수 있다. 제1 운영 체제(OS1)는 윈도우즈(windows), 리눅스, 임베디드 리눅스, VxWORKs, WinCE, WinCE.net 등의 다양한 운영 체제일 수 있다. The emulation result emulating the target device corresponding to the control command received at the emulation unit 290 is transmitted again from the second network agent 270 to the first network agent 260. [ Then, the hardware abstraction layer 250 transfers the received emulation result to the application layer 210 via the middleware layer 220. The application layer 210 may analyze the received emulation result to develop a device driver. The first operating system (OS1) may be a variety of operating systems such as Windows, Linux, embedded Linux, VxWORKs, WinCE, WinCE.net, and the like.

도 2에 도시된 바와 같이, 시스템 계층(230) 및 에뮬레이션 부(290) 간의 데이터 교환은 네트워크 에이전트들을 이용하여 수행된다. 네트워크 에이전트를 통하여 제어 명령이 직접적으로 에뮬레이션 부(290)로 전달되고, 에뮬레이션 결과가 직접적으로 어플리케이션 계층(210)으로 전송된다. 그러므로 개발자의 개발 시간이 단축될 수 있다. 또한, 에뮬레이션 부(290)로부터 송신되는 에뮬레이션 결과는 하나 이상의 개발자 터미널들에 의하여 공유될 수도 있다. 이 경우, 개발자 터미널(200)에서 드라이버를 개발하던 환경 그대로 타겟 장치에 접속할 수 있으므로, 향상된 개발환경에서 타겟 장치 기반으로 드라이버를 검증할 수 있다. As shown in FIG. 2, data exchange between the system layer 230 and the emulation unit 290 is performed using network agents. The control command is directly transmitted to the emulation unit 290 through the network agent and the emulation result is directly transmitted to the application layer 210. [ Therefore, developers' development time can be shortened. In addition, the emulation result transmitted from the emulation unit 290 may be shared by one or more developer terminals. In this case, since the environment in which the driver is developed in the developer terminal 200 can be connected to the target device, the driver can be verified based on the target device in an improved development environment.

드라이버의 개발이 완료되면, 개발된 드라이버는 물론, 제1 네트워크 에이전트(260) 및 제2 네트워크 에이전트(270) 모두 타겟 장치로 포팅된다. 이러한 과정은 도 4를 이용하여 상세히 후술된다. When development of the driver is completed, both the first network agent 260 and the second network agent 270, as well as the developed driver, are ported to the target device. This process will be described later in detail with reference to FIG.

도 3은 본 발명의 다른 측면에 의한 에뮬레이션 시스템을 개념적으로 도시하는 블록도이다. 3 is a block diagram conceptually illustrating an emulation system according to another aspect of the present invention.

도 3에 도시된 에뮬레이션 시스템은 개발자 터미널(200) 및 타겟 장치(300)를 포함한다. The emulation system shown in Figure 3 includes a developer terminal 200 and a target device 300.

도 3에 도시된 개발자 터미널(200)은 도 2에 도시된 개발자 터미널과 그 구성 및 동작이 유사하다. 따라서, 어플리케이션 계층(210), 미들웨어 계층(220), 시스템 계층(230), 운영 체제 추상화 계층(240), 하드웨어 추상화 계층(250), 및 제1 네트워크 에이전트(260)에 대하여는 반복적인 설명이 생략된다. The developer terminal 200 shown in Fig. 3 is similar in construction and operation to the developer terminal shown in Fig. Thus, a repetitive description of the application layer 210, the middleware layer 220, the system layer 230, the operating system abstraction layer 240, the hardware abstraction layer 250, and the first network agent 260 is omitted do.

도 3에 도시된 개발자 터미널(200)은 개발 완료된 드라이버를 이용하여 직접 타겟 장치(300)를 제어한다. 타겟 장치(300)는 시스템 계층(360), 제2 네트워크 에이전트(370), 타겟 제어부(380) 및 운영 체제 추상화 계층(390)을 포함한다. 개발자 터미널(200)의 하드웨어 추상화 계층(250)은 어플리케이션 계층(210)으로부터 수신된 제어 명령을 추상화하고, 추상화된 제어 명령을 제1 네트워크 에이전트(260)를 이용하여 송신한다. 그러면, 타겟 장치(300)의 제2 네트워크 에이전트(370)는 네트워크를 통하여 추상화된 제어 명령을 수신한다. 수신된 제어 명령은 타겟 제어부(380)로 전달되며, 타겟 제어부(380)는 타겟 장치를 직접 제어한다. 도 3에 도시된 타겟 장치(300)는 제2 운영 체제(OS2) 상에서 동작한다. 제1 운영 체제(OS1)와 같이, 제2 운영 체제(OS2)도 윈도우즈, 리눅스, 임베디드 리눅스, VxWORKs, WinCE, WinCE.net 등의 다양한 운영 체제일 수 있음은 물론이다. 타겟 장치(300)에 포함되는 운영 체제 추상화 계층(390)은 제2 운영 체제(OS2)를 추상화함으로써, 개발자 터미널(200)의 제1 운영 체제(OS1)가 타겟 장치(300)의 제2 운영 체제(OS2)와 상이하더라도, 개발자 터미널(200)에서 개발된 드라이버가 직접적으로 타겟 장치(300)에 적용될 수 있도록 허용한다. The developer terminal 200 shown in FIG. 3 directly controls the target device 300 using the developed driver. The target device 300 includes a system layer 360, a second network agent 370, a target control 380, and an operating system abstraction layer 390. The hardware abstraction layer 250 of the developer terminal 200 abstracts control commands received from the application layer 210 and transmits abstracted control commands using the first network agent 260. Then, the second network agent 370 of the target device 300 receives the abstracted control command via the network. The received control command is transmitted to the target control unit 380, and the target control unit 380 directly controls the target apparatus. The target device 300 shown in Fig. 3 operates on a second operating system OS2. Of course, like the first operating system OS1, the second operating system OS2 can be various operating systems such as Windows, Linux, embedded Linux, VxWORKs, WinCE, WinCE.net, and the like. The operating system abstraction layer 390 included in the target device 300 abstracts the second operating system OS2 so that the first operating system OS1 of the developer terminal 200 can access the second operation of the target device 300 The driver developed in the developer terminal 200 can be directly applied to the target device 300 even if it is different from the OS2.

도 3에 도시된 바와 같이, 하드웨어 추상화 계층(250) 및 시스템 계층(360)은 네트워크 에이전트들을 통하여 상호 통신하므로, 개발자 터미널(200)에서 개발된 드라이버를 이용하여 타겟 장치(300)를 직접적으로 구동할 수 있음을 알 수 있다. 바람직하게는 네트워크 에이전트(260, 360)들은 이더넷 프로토콜에 상응하여 이더넷 네트워크를 통하여 상호 통신할 수 있으나, 본 발명은 이에 한정되는 것이 아니다. 따라서, 추상화된 제어 명령 및 에뮬레이션 결과를 전달하기 위하여 다양한 유무선 통신 네트워크가 이용될 수 있음은 물론이다. 3, the hardware abstraction layer 250 and the system layer 360 communicate with each other through the network agents. Therefore, the target device 300 can be directly driven using the driver developed in the developer terminal 200 It can be seen that Preferably, the network agents 260 and 360 may communicate with each other through an Ethernet network corresponding to the Ethernet protocol, but the present invention is not limited thereto. Thus, it should be understood that various wired and wireless communication networks may be used to convey the abstracted control commands and emulation results.

도 4는 본 발명의 또 다른 측면에 의한 타겟 장치에 타겟 드라이버가 포팅된 결과를 개념적으로 도시하는 블록도이다. 도 4에 도시된 타겟 장치(400)는 어플리케이션 계층(410), 미들웨어 계층(420), 제1 시스템 계층(430), 및 제2 시스템 계층(465)을 포함한다. 제1 시스템 계층(430)은 운영 체제 추상화 계층(440) 및 하드웨어 추상화 계층(450)을 포함한다. 하드웨어 추상화 계층(450)은 제1 네트워크 에이전트(460)를 포함하며, 제2 시스템 계층(465)은 제2 네트워크 에이전트(470)를 포함한다. 타겟 장치(400)는 제2 운영 체제(OS2)에 따라서 동작한다. 4 is a block diagram conceptually showing a result of porting a target driver to a target device according to another aspect of the present invention. The target device 400 shown in FIG. 4 includes an application layer 410, a middleware layer 420, a first system layer 430, and a second system layer 465. The first system layer 430 includes an operating system abstraction layer 440 and a hardware abstraction layer 450. The hardware abstraction layer 450 includes a first network agent 460 and the second system layer 465 includes a second network agent 470. [ The target device 400 operates in accordance with the second operating system OS2.

타겟 장치(400)에 포함되는 어플리케이션 계층(410), 미들웨어 계층(420), 및 제1 시스템 계층(430)은 도 2 또는 도 3 도시된 개발자 터미널(200)에 포함된 것들과 그 구성 및 동작이 유사하다. 즉, 개발자 터미널에 구현되었던 어플리케이션 계층(410), 미들웨어 계층(420), 및 제1 시스템 계층(430)은 드라이버의 개발이 완료되면 그대로 타겟 장치(400)로 포팅된다. 이 경우, 하드웨어 추상화 계층(450) 및 제2 시스템 계층(465) 간의 통신을 담당하는 네트워크 에이전트들이 함께 포팅된다. 따라서, 개발자 터미널(200)을 이용하여 개발된 드라이버는 아무런 수정을 거치지 않고서도 타겟 장치(400)로 직접 포팅된다. 즉, 어플리케이션 계층(410)에 의하여 제공된 제어 명령은 하드웨어 추상화 계층(450)에 의하여 추상화되어 네트워크 에이전트들을 통하여 직접적으로 타겟 제어부(480)를 구동한다. The application layer 410, the middleware layer 420 and the first system layer 430 included in the target device 400 include those included in the developer terminal 200 shown in FIG. 2 or 3, Is similar. That is, the application layer 410, the middleware layer 420, and the first system layer 430, which are implemented in the developer terminal, are ported to the target device 400 when the development of the driver is completed. In this case, network agents responsible for communication between the hardware abstraction layer 450 and the second system layer 465 are ported together. Accordingly, the driver developed using the developer terminal 200 is directly ported to the target device 400 without any modification. That is, the control commands provided by the application layer 410 are abstracted by the hardware abstraction layer 450 to drive the target controller 480 directly through the network agents.

도 5는 본 발명의 또 다른 측면에 의한 네트워크 에이전트를 이용한 에뮬레이션 방법을 나타내는 흐름도이다. 5 is a flowchart illustrating an emulation method using a network agent according to another aspect of the present invention.

우선, 어플리케이션 계층에서 구현된 드라이버에 의하여 생성된 제어 명령이 미들웨어 계층으로 전달된다(S510). First, the control command generated by the driver implemented in the application layer is transferred to the middleware layer (S510).

그러면, 미들웨어 계층은 수신된 제어 명령을 하드웨어 추상화 계층(HAL)을 포함하는 시스템 계층으로 전달한다(S520). 하드웨어 추상화 계층(HAL)은 수신된 제어 명령을 타겟 장치의 하드웨어에 상응하도록 추상화하여 추상화된 제어 명령을 생성한다(S530). 또한, 추상화된 제어 명령은 네트워크 에이전트를 통하여 에뮬레이션부 또는 타겟 장치로 전송된다(S540). 개발자 터미널에서 소프트웨어적으로 타겟 장치를 에뮬레이션하는 경우에는, 추상화된 제어 명령은 개발자 터미널 내의 에뮬레이션부로 전달된다. 하지만, 개발자 터미널이 직접적으로 타겟 장치를 제어하는 경우에는 추상화된 제어 명령은 타겟 장치로 전달된다. Then, the middleware layer transfers the received control command to the system layer including the hardware abstraction layer (HAL) (S520). The hardware abstraction layer (HAL) abstracts the received control command corresponding to the hardware of the target device to generate an abstracted control command (S530). In addition, the abstracted control command is transmitted to the emulation unit or the target apparatus through the network agent (S540). In the case of emulating a target device by software in a developer terminal, the abstracted control command is transferred to the emulation section in the developer terminal. However, if the developer terminal directly controls the target device, the abstracted control command is delivered to the target device.

그러면, 에뮬레이션부 내의 타겟 제어부(도 2의 280 참조) 또는 타겟 장치 내의 타겟 제어부(도 3의 380 참조)는 수신된 추상화된 제어 명령에 의하여 제어된다. 이와 같이 타겟 장치를 구동한 결과는 에뮬레이션 결과로서 다시 개발자 터미널로 전달된다(S550). 개발자 터미널 및 타겟 장치 간의 통신을 담당하는 네트워크 에이전트는 동일한 통신 파라미터에 따라서 동작하는 것이 바람직함은 전술된 바와 같다. Then, the target control (see 280 in FIG. 2) in the emulation unit or the target control (see 380 in FIG. 3) in the target device is controlled by the received abstracted control command. The result of driving the target device is transferred to the developer terminal as an emulation result (S550). It is desirable that the network agent responsible for communication between the developer terminal and the target device operates in accordance with the same communication parameters as described above.

이와 같은 에뮬레이션 동작 및 드라이버 개발 동작이 반복 수행되면, 타겟 장치를 위한 드라이버가 개발 완료되었는지 판단한다(S560). 판단 결과 드라이버가 완료되었다면, 타겟 드라이버를 네트워크 에이전트와 함께 타겟 장치로 포팅한다(S570). 포팅 동작이란, 예를 들어서, 윈도우 기반 환경에서 개발된 드라이버를 타겟 장치에 상응하도록 컴파일하는 동작을 의미한다. 이러한 동작은, 윈도우 기반 드라이버의 명령어 집합을 타겟 장치에 이용되는 명령어 집합으로 매핑시키는 과정을 통하여 수행될 수 있다. 이 경우, 주요 명령어들은 API(Application Program Interface) 형태로 형성되어 네트워크를 통하여 통신될 수 있다. If the emulation operation and the driver development operation are repeatedly performed, it is determined whether a driver for the target device has been developed (S560). If it is determined that the driver is completed, the target driver is ported to the target device together with the network agent (S570). The porting operation means, for example, an operation of compiling a driver developed in a window-based environment corresponding to a target device. This operation can be performed through a process of mapping the instruction set of the window-based driver to the instruction set used in the target device. In this case, the main commands are formed in API (Application Program Interface) form and can be communicated through the network.

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 예를 들면, 본 발명에서는 설명의 편의를 위하여 텔레비전 튜너를 타겟 장치로서 이용하는 경우에 대하여 설명하 였으나, 본 발명은 이에 한정되는 것이 아님은 명백하다. 또한, 본 발명의 실시예에서 제어 명령 및 에뮬레이션 결과는 네트워크 에이전트를 통하여 송수신되는 것으로 설명되었으나, 본 발명은 이에 한정되는 것이 아니다. 더 나아가, 반드시 네트워크를 통하여 제어 명령 및 에뮬레이션 결과가 전송되어야 하는 것은 아니며, 직렬 통신을 통하여도 전송될 수 있음은 물론이다. 그러므로, 동일한 통신 프로토콜에 따라서 통신하는 모든 통신 모듈들이 네트워크 에이전트로서 이용될 수 있음에 유의하여야 한다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. For example, in the present invention, a television tuner is used as a target device for convenience of explanation, but it is obvious that the present invention is not limited to this. Also, in the embodiment of the present invention, the control command and the emulation result are transmitted and received through the network agent, but the present invention is not limited thereto. Furthermore, it is needless to say that the control command and the emulation result are not necessarily transmitted through the network, but can also be transmitted through the serial communication. Therefore, it should be noted that all communication modules communicating in accordance with the same communication protocol can be used as a network agent.

따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

본 발명에 의하여, 하나의 에뮬레이션 장치 또는 하나의 타겟 장치를 다수 개의 개발자 터미널에서 공유함으로써 1:다 또는 다:1의 개발 환경을 구현하고, 드라이버 개발 기간을 단축할 수 있다. According to the present invention, one emulation device or one target device can be shared among a plurality of developer terminals, thereby realizing a 1: D or D: 1 development environment and shortening a driver development period.

또한, 본 발명에 의하여, 개발자 터미널의 시스템 계층, 에뮬레이션 부, 및 타겟 장치에 동일한 통신 프로토콜에 따라서 통신하는 네트워크 에이전트를 포함키고, 드라이버가 개발 완료된 이후에 드라이버와 함께 네트워크 에이전트를 함께 타겟 장치 내에 포팅시킴으로써, 별도의 추가 작업 없이 개발된 드라이버를 이용하여 직접 타겟 장치를 구동할 수 있다. Further, according to the present invention, a network agent communicating with the system layer, the emulation section, and the target device of the developer terminal according to the same communication protocol is included, and after the driver is developed, the network agent is ported together with the driver into the target device The target device can be directly driven by using the developed driver without any additional work.

Claims (24)

타겟 장치 및 상기 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개발자 터미널을 포함하는 에뮬레이션 시스템에 있어서, 상기 개발자 터미널은,1. An emulation system comprising a target device and a developer terminal for developing a target driver for driving the target device, 상기 타겟 장치를 제어하기 위한 제어 명령을 시스템 계층으로 전달하는 어플리케이션 계층 및 An application layer for transferring a control command for controlling the target device to a system layer, 상기 시스템 계층으로부터 수신된 상기 제어 명령을 상기 타겟 장치의 하드웨어 특성에 상응하도록 추상화하여 상기 타겟 장치로 전송하는 하드웨어 추상화 계층(HAL)을 포함하고, 상기 타겟 장치는, And a hardware abstraction layer (HAL) that abstracts the control command received from the system layer to correspond to a hardware characteristic of the target device and transmits the abstracted control command to the target device, 추상화된 상기 제어 명령을 수신하고, 추상화된 상기 제어 명령에 상응하여 상기 타겟 장치를 제어하여 획득된 에뮬레이션 결과를 상기 개발자 터미널로 전송하는 타겟 제어부를 포함하며, And a target control unit for receiving the abstracted control command, controlling the target apparatus in response to the abstracted control command, and transmitting the obtained emulation result to the developer terminal, 상기 개발자 터미널 및 상기 타겟 장치는, 동일한 통신 프로토콜에 따라 상호 통신하는 것을 특징으로 하는 에뮬레이션 시스템. Wherein the developer terminal and the target device communicate with each other according to the same communication protocol. 제1항에 있어서, 상기 개발자 터미널 및 상기 타겟 장치는, 2. The system of claim 1, wherein the developer terminal and the target device further comprise: 상기 통신 프로토콜에 따라 동작하는 네트워크 에이전트를 각각 포함하며, Each network agent operating in accordance with the communication protocol, 상기 네트워크 에이전트들은 소정의 네트워크를 통하여 상호 연결되는 것을 특징으로 하는 에뮬레이션 시스템. Wherein the network agents are interconnected via a predetermined network. 제2항에 있어서, 상기 타겟 장치는, 3. The apparatus of claim 2, 상기 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것을 특징으로 하는 에뮬레이션 시스템. And is shared by a plurality of developer terminals via the network. 제2항에 있어서, 3. The method of claim 2, 상기 통신 프로토콜은 이더넷(Ethernet) 프로토콜 또는 직렬 통신(serial communication) 프로토콜인 것을 특징으로 하는 에뮬레이션 시스템. Wherein the communication protocol is an Ethernet protocol or a serial communication protocol. 제2항에 있어서, 3. The method of claim 2, 상기 타겟 드라이버가 개발되면, 개발된 타겟 드라이버는 상기 네트워크 에이전트와 함께 상기 타겟 장치의 메모리에 포팅되는 것을 특징으로 하는 에뮬레이션 시스템. Wherein when the target driver is developed, the developed target driver is ported to the memory of the target device together with the network agent. 제1항에 있어서, 상기 개발자 터미널은, The terminal according to claim 1, 상기 개발자 터미널의 운영 체제를 추상화하는 운영 체제 추상화 계층(OSAL) 및 An operating system abstraction layer (OSAL) that abstracts the operating system of the developer terminal and 상기 운영 체제 추상화 계층(OSAL) 및 상기 어플리케이션 계층 사이에 위치하는 미들웨어 계층을 더 포함하는 것을 특징으로 하는 에뮬레이션 시스템. Further comprising a middleware layer located between the operating system abstraction layer (OSAL) and the application layer. 타겟 장치 및 상기 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개 발자 터미널을 포함하는 에뮬레이션 방법에 있어서, An emulation method comprising a target device and a developer terminal for developing a target driver for driving the target device, 상기 타겟 장치를 제어하기 위한 제어 명령을 상기 개발자 터미널의 어플리케이션 계층으로부터 시스템 계층으로 전달하는 단계; Transferring a control command for controlling the target device from an application layer of the developer terminal to a system layer; 수신된 상기 제어 명령을 상기 타겟 장치의 하드웨어 특성에 상응하도록 추상화하고, 추상화된 제어 명령을 소정의 통신 프로토콜에 따라 상기 타겟 장치로 전송하는 단계; Abstracting the received control command to correspond to a hardware characteristic of the target device, and transmitting an abstracted control command to the target device according to a predetermined communication protocol; 추상화된 상기 제어 명령을 수신하고, 추상화된 상기 제어 명령에 상응하여 상기 타겟 장치를 에뮬레이션하는 단계; 및 Receiving the abstracted control command and emulating the target device in response to the abstracted control command; And 상기 타겟 장치를 에뮬레이션하여 획득된 에뮬레이션 결과를 상기 통신 프로토콜에 따라 상기 개발자 터미널로 전송하는 단계를 포함하는 것을 특징으로 하는 에뮬레이션 방법. And transmitting emulation results obtained by emulating the target device to the developer terminal according to the communication protocol. 제7항에 있어서, 상기 개발자 터미널 및 상기 타겟 장치는, 8. The system of claim 7, wherein the developer terminal and the target device 상기 통신 프로토콜에 따라 동작하는 네트워크 에이전트를 이용하여 상호 통신하는 것을 특징으로 하는 에뮬레이션 방법. And communicate with each other using a network agent operating in accordance with the communication protocol. 제8항에 있어서, 상기 타겟 장치는, 9. The apparatus of claim 8, 소정의 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것을 특징으로 하는 에뮬레이션 방법. And is shared by a plurality of developer terminals via a predetermined network. 제8항에 있어서, 9. The method of claim 8, 상기 통신 프로토콜은 이더넷 프로토콜 또는 직렬 통신 프로토콜인 것을 특징으로 하는 에뮬레이션 방법. Wherein the communication protocol is an Ethernet protocol or a serial communication protocol. 제8항에 있어서, 9. The method of claim 8, 상기 타겟 드라이버가 개발되면, 개발된 타겟 드라이버를 상기 네트워크 에이전트와 함께 상기 타겟 장치의 메모리에 포팅하는 단계를 더 포함하는 것을 특징으로 하는 에뮬레이션 방법. And when the target driver is developed, porting the developed target driver to the memory of the target device with the network agent. 제7항에 있어서, 상기 개발자 터미널은, 8. The terminal according to claim 7, 상기 개발자 터미널의 운영 체제를 추상화하는 운영 체제 추상화 계층(OSAL) 및 An operating system abstraction layer (OSAL) that abstracts the operating system of the developer terminal and 상기 운영 체제 추상화 계층(OSAL) 및 상기 어플리케이션 계층 사이에 위치하는 미들웨어 계층을 포함하는 것을 특징으로 하는 에뮬레이션 방법. And a middleware layer located between the operating system abstraction layer (OSAL) and the application layer. 타겟 장치를 에뮬레이션하여 상기 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개발자 터미널 장치에 있어서, A developer terminal device for developing a target driver for emulating a target device to drive the target device, 상기 타겟 장치를 제어하기 위한 제어 명령을 시스템 계층으로 전달하는 어플리케이션 계층; An application layer for delivering control commands to the system layer for controlling the target device; 상기 시스템 계층으로부터 수신된 상기 제어 명령을 상기 타겟 장치의 하드웨어 특성에 상응하도록 추상화하여 상기 타겟 장치로 전송하는 하드웨어 추상화 계층(HAL); 및 A hardware abstraction layer (HAL) that abstracts the control command received from the system layer to correspond to the hardware characteristics of the target device and transmits the abstracted control command to the target device; And 추상화된 상기 제어 명령을 수신하고, 추상화된 상기 제어 명령에 상응하여 상기 타겟 장치를 제어하여 획득된 에뮬레이션 결과를 상기 하드웨어 추상화 계층으로 전송하는 에뮬레이션부를 포함하며, And an emulation unit for receiving the abstracted control command and controlling the target device in response to the abstracted control command to transmit the obtained emulation result to the hardware abstraction layer, 상기 하드웨어 추상화 계층 및 상기 에뮬레이션부는, 동일한 통신 프로토콜에 따라 상호 통신하는 것을 특징으로 하는 개발자 터미널 장치. Wherein the hardware abstraction layer and the emulation unit communicate with each other according to the same communication protocol. 제13항에 있어서, 상기 하드웨어 추상화 계층 및 상기 에뮬레이션부는, 14. The apparatus of claim 13, wherein the hardware abstraction layer and the emulation unit comprise: 상기 통신 프로토콜에 따라 동작하는 네트워크 에이전트를 각각 포함하며, Each network agent operating in accordance with the communication protocol, 상기 네트워크 에이전트는 소정의 네트워크를 통하여 상호 연결되는 것을 특징으로 하는 개발자 터미널 장치. And the network agents are interconnected through a predetermined network. 제14항에 있어서, 상기 에뮬레이션 부는, 15. The apparatus of claim 14, 상기 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것을 특징으로 하는 개발자 터미널 장치. And is shared by a plurality of developer terminals through the network. 제14항에 있어서, 15. The method of claim 14, 상기 통신 프로토콜은 이더넷 프로토콜 또는 직렬 통신 프로토콜인 것을 특징으로 하는 개발자 터미널 장치. Wherein the communication protocol is an Ethernet protocol or a serial communication protocol. 제14항에 있어서, 상기 개발자 터미널 장치는, 15. The developer terminal apparatus according to claim 14, 상기 타겟 드라이버가 개발되면, 개발된 타겟 드라이버를 상기 네트워크 에이전트와 함께 상기 타겟 장치의 메모리에 포팅하는 것을 특징으로 하는 개발자 터미널 장치. And when the target driver is developed, port the developed target driver to the memory of the target device together with the network agent. 제13항에 있어서, 상기 개발자 터미널 장치는, 14. The developer terminal apparatus according to claim 13, 상기 개발자 터미널 장치의 운영 체제를 추상화하는 운영 체제 추상화 계층(OSAL) 및 An operating system abstraction layer (OSAL) that abstracts the operating system of the developer terminal device and 상기 운영 체제 추상화 계층(OSAL) 및 상기 어플리케이션 계층 사이에 위치하는 미들웨어 계층을 더 포함하는 것을 특징으로 하는 개발자 터미널 장치. Further comprising a middleware layer located between the operating system abstraction layer (OSAL) and the application layer. 개발자 터미널로부터 수신된 추상화된 제어 명령에 의하여 제어되는 타겟 장치에 있어서, A target device controlled by an abstracted control command received from a developer terminal, 추상화된 상기 제어 명령을 소정의 통신 프로토콜에 따라서 수신하기 위한 네트워크 에이전트 및 A network agent for receiving the abstracted control command according to a predetermined communication protocol; and 추상화된 상기 제어 명령에 의하여 상기 타겟 장치를 제어하기 위한 타겟 제어부를 포함하며, And a target control unit for controlling the target apparatus by the abstracted control command, 상기 타겟 제어부는, 상기 타겟 장치를 에뮬레이션한 결과를 상기 네트워크 에이전트를 통하여 상기 개발자 터미널로 송신하는 것을 특징으로 하는 타겟 장치. Wherein the target control unit transmits a result of emulating the target device to the developer terminal via the network agent. 제19항에 있어서, 20. The method of claim 19, 상기 네트워크 에이전트는 소정의 네트워크를 통하여 상기 개발자 터미널에 연결되는 것을 특징으로 하는 타겟 장치. Wherein the network agent is connected to the developer terminal via a predetermined network. 제20항에 있어서, 상기 타겟 장치는, 21. The apparatus of claim 20, 상기 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것을 특징으로 하는 타겟 장치. And shared by a plurality of developer terminals via the network. 제20항에 있어서, 21. The method of claim 20, 상기 통신 프로토콜은 이더넷 프로토콜 또는 직렬 통신 프로토콜인 것을 특징으로 하는 타겟 장치. Wherein the communication protocol is an Ethernet protocol or a serial communication protocol. 제20항에 있어서, 21. The method of claim 20, 상기 네트워크 에이전트는, 상기 타겟 드라이버가 개발되면, 상기 개발자 터미널로부터 포팅된 상기 타겟 드라이버를 수신하고, Wherein the network agent receives the target driver ported from the developer terminal when the target driver is developed, 상기 타겟 장치는, 수신된 상기 타겟 드라이버를 상기 네트워크 에이전트와 함께 저장하는 메모리를 더 포함하는 것을 특징으로 하는 타겟 장치. Wherein the target device further comprises a memory for storing the received target driver with the network agent. 제19항에 있어서, 상기 타겟 장치는, 20. The apparatus of claim 19, 상기 타겟 장치의 운영 체제를 추상화하는 운영 체제 추상화 계층(OSAL)을 더 포함하는 것을 특징으로 하는 타겟 장치. And an operating system abstraction layer (OSAL) that abstracts the operating system of the target device.
KR1020070032521A 2007-04-02 2007-04-02 Developer terminal and target device, which communicate with each other according to same communication protocol and system and method for emulating the target device Expired - Fee Related KR101399356B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070032521A KR101399356B1 (en) 2007-04-02 2007-04-02 Developer terminal and target device, which communicate with each other according to same communication protocol and system and method for emulating the target device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070032521A KR101399356B1 (en) 2007-04-02 2007-04-02 Developer terminal and target device, which communicate with each other according to same communication protocol and system and method for emulating the target device

Publications (2)

Publication Number Publication Date
KR20080089847A KR20080089847A (en) 2008-10-08
KR101399356B1 true KR101399356B1 (en) 2014-05-27

Family

ID=40151275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070032521A Expired - Fee Related KR101399356B1 (en) 2007-04-02 2007-04-02 Developer terminal and target device, which communicate with each other according to same communication protocol and system and method for emulating the target device

Country Status (1)

Country Link
KR (1) KR101399356B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102217255B1 (en) * 2015-10-12 2021-02-17 현대자동차주식회사 Operation method of communication node in network
CN108388426A (en) * 2018-04-27 2018-08-10 李喜 A kind of artificial intelligence development platform and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040079336A (en) * 2003-03-06 2004-09-14 마이크로소프트 코포레이션 Architecture for distributed computing system and automated design, deployment, and management of distributed applications
JP2005004411A (en) 2003-06-11 2005-01-06 Hitachi Ltd System development method and system development support program
KR20050018397A (en) * 2003-08-12 2005-02-23 삼성전자주식회사 Method and apparatus for data communication between processor
WO2005121950A2 (en) 2004-06-08 2005-12-22 Dartdevices Corporation Architecture apparatus and method for seamless universal device interoperability platform

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040079336A (en) * 2003-03-06 2004-09-14 마이크로소프트 코포레이션 Architecture for distributed computing system and automated design, deployment, and management of distributed applications
JP2005004411A (en) 2003-06-11 2005-01-06 Hitachi Ltd System development method and system development support program
KR20050018397A (en) * 2003-08-12 2005-02-23 삼성전자주식회사 Method and apparatus for data communication between processor
WO2005121950A2 (en) 2004-06-08 2005-12-22 Dartdevices Corporation Architecture apparatus and method for seamless universal device interoperability platform

Also Published As

Publication number Publication date
KR20080089847A (en) 2008-10-08

Similar Documents

Publication Publication Date Title
EP1004072B1 (en) Embedded graphical programming system
CN100391176C (en) Method and system for remotely updating functions of household devices
US7464016B2 (en) Hot plug and hot pull system simulation
US20110191787A1 (en) System and method for providing sensor data from embedded device to software development environment
US20120284696A1 (en) Method, Apparatuses and a System for Compilation
JP2005518015A (en) Middleware service layer for platform systems for mobile terminals
CN102656538A (en) Automatic and controllable system operation
CN101000550A (en) Remote on-line reconfiguration method of embedded system
US8504344B2 (en) Interface between a verification environment and a hardware acceleration engine
CN112034732B (en) A semi-physical satellite simulation system and simulation method
CN108664264A (en) A kind of device and method remotely updating FPGA by JTAG modes based on CPU
KR101399356B1 (en) Developer terminal and target device, which communicate with each other according to same communication protocol and system and method for emulating the target device
CN118673854B (en) Method and device for implementing real-time simulation of hardware logic using FPGA
CN115390873A (en) Time frequency equipment firmware upgrading method based on single chip microcomputer and readable access medium
CN109358872A (en) Remote firmware updating method, device and computer readable storage medium
CN111787378A (en) Software upgrading method applied to remote control device and remote control device
CN114328349B (en) Virtual serial port terminal system, realization method and device thereof, and computer storage medium
US20210216342A1 (en) System, server, verification method and program
KR101284791B1 (en) Method and apparatus for implementing computer operating system using mobile terminal
CN103365266A (en) A Distributed Intelligent Lithography Equipment Based on Agent
CN107239305A (en) The system and method loaded for field programmable gate array chip file
KR20080089848A (en) Emulation server for emulating target device and emulation method and system using same
CN117376229B (en) FTP file system software cross debugging method and system based on embedded equipment
US20030033131A1 (en) System level simulation method and device
CN116149757B (en) Plug-in virtual route realization method, device, computer equipment and storage medium

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20070402

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20120323

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20070402

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20130805

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20140224

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20140520

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20140521

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PC1903 Unpaid annual fee
OSZAR »