KR101399356B1 - 동일한 통신 프로토콜에 따라서 상호 통신하는 개발자터미널 및 타겟 장치 및 상기 타겟 장치를 에뮬레이션하기위한 시스템 및 방법 - Google Patents

동일한 통신 프로토콜에 따라서 상호 통신하는 개발자터미널 및 타겟 장치 및 상기 타겟 장치를 에뮬레이션하기위한 시스템 및 방법 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
Application number
KR1020070032521A
Other languages
English (en)
Other versions
KR20080089847A (ko
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/ko
Publication of KR20080089847A publication Critical patent/KR20080089847A/ko
Application granted granted Critical
Publication of KR101399356B1 publication Critical patent/KR101399356B1/ko

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의 개발 환경을 구현할 수 있고, 별도의 추가 작업 없이 개발된 드라이버를 이용하여 직접 타겟 장치를 구동할 수 있다.

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}
도 1은 종래 기술에 의한 임베디드 시스템을 개념적으로 도시하는 도면이다.
도 2는 본 발명의 일 측면에 의한 개발자 터미널을 개념적으로 도시하는 블록도이다.
도 3은 본 발명의 다른 측면에 의한 에뮬레이션 시스템을 개념적으로 도시하는 블록도이다.
도 4는 본 발명의 또 다른 측면에 의한 타겟 장치에 타겟 드라이버가 포팅된 결과를 개념적으로 도시하는 블록도이다.
도 5는 본 발명의 또 다른 측면에 의한 네트워크 에이전트를 이용한 에뮬레이션 방법을 나타내는 흐름도이다.
본 발명은 타겟 장치를 에뮬레이션하기 위한 방법 및 장치에 관한 것으로서, 특히, 네트워크 에이전트를 이용하여 다양한 타겟 장치와 통신할 수 있는 개발자 터미널, 네트워크 에이전트를 포함하는 타겟 장치, 및 네트워크 에이전트를 이용한 타겟 장치의 에뮬레이션 방법 및 에뮬레이션 시스템에 관한 것이다.
기술의 발전에 힘입어, 다양한 사용자 전자 장치들이 개발된다. 사용자 전자 장치들에는 종래에는 존재하지 않았던 신규한 장치들이 존재한다. 예를 들어, 휴대용 멀티미디어 재생기(PMP, Portable Multimedia Player) 및 네비게이션 장치 등과 같은 신규한 전자 장치가 개발된다. 또한, 기존의 전자 장치들도 다양화되는 사용자 요구에 부합하기 위하여 기능을 개선하거나 추가하는 방향으로 자주 업그레이드된다. 예를 들어, 종래의 휴대용 전화기들은 DMB(Digital Multimedia Broadcasting) 기능 및 카메라 기능을 구현할 수 있도록 업그레이드된다.
그런데, 독립형(stand-alone) 방식으로 동작하는 전자 장치들은 그 내부에 제어기를 포함하며, 새로운 성능이 추가될 때마다 이러한 제어기를 구동하기 위한 어플리케이션을 수정 및 보완하여야 한다. 예를 들어, ARM(Advanced RISC Machine) 아키텍쳐에 따라 구현된 개인 휴대용 단말기(PDA, Personal Digital Assistant)의 경우, ARM 코어를 제어하기 위한 명령어들을 단말기의 ROM에 포팅함으로써 갱신된다.
그런데, 일반적으로 독립형 방식으로 동작하는 전자 장치의 경우, 개발 과정에서 직접적으로 제어 대상인 타겟 장치를 제어하면서 장치 드라이버를 개발하는 작업은 매우 번거롭다. 그 이유는 독립형 전자 장치의 하드웨어는 사용자가 장치 드라이버를 개발하기에 적합한 환경을 제공하지 못하기 때문이다. 또한, 타겟 장 치에 이용된 하드웨어 코어의 종류는 매우 다양한데, 사용자가 모든 코어에 상응하는 명령어 집합을 모두 숙지하는 것 또한 쉽지 않다. 뿐만 아니라, 일반적인 전자 장치는 RISC(Reduced Instruction Set Computer) 아키텍쳐를 가지므로, 구현할 수 있는 명령어의 개수가 제한되는 반면, 하위 레벨 언어를 이용하여 이러한 명령어를 직접적으로 조작하는 것은 결코 용이하지 않다.
따라서, 더 많은 시스템 자원을 제공하는 개발자 터미널에서 타겟 장치를 구동하기 위한 드라이버를 개발하는 방식이 널리 이용된다.
도 1은 종래 기술에 의한 임베디드 시스템을 개념적으로 도시하는 도면이다.
임베디드 시스템이란 장치 제어부가 내장되어 독립형 방식으로 동작할 수 있는 전자 장치를 나타낸다. 도 1을 참조하면, 타겟 장치 상에 탑재된 장치 드라이버 및 운영 체제를 상위의 미들웨어 및 어플리케이션 계층이 직접 호출한다. 도 1을 참조하여, 임베디드 시스템을 개발하는 과정을 살펴보면, 최하위 계층에 하드웨어 장치 드라이버가 구현된다. 그러면, 하드웨어 장치 드라이버 상위에 미들웨어 계층 및 어플리케이션 계층이 구현된다.
그런데, 종래의 임베디드 시스템에서는, 하위 계층이 구현되어야, 그 상부에서 동작하는 계층이 동작할 수 있다. 예를 들어, 타겟 장치의 하드웨어에 관련된 장치 드라이버의 개발이 완료되어야만 그 상위 소프트웨어의 개발이 가능하다는 것이다. 따라서, 개발 기간이 더 소요될 뿐만 아니라 타겟 장치의 하드웨어가 사소하게 변경되더라도 모든 계층들이 동시에 변경되어야 한다. 뿐만 아니라, 드라이버 개발 과정에서 오류가 발생했을 경우, 오류가 어플리케이션에서 발생한 것인지 타겟 장치의 하드웨어에서 발생한 것인지를 확인하기 힘들다.
그러므로, 타겟 장치의 하드웨어를 에뮬레이션하여, 직접적으로 타겟 장치를 구동하지 않더라도 타겟 장치가 구동되는 것과 같은 환경을 구현하는 에뮬레이션 기술이 이용된다. 에뮬레이션 기술을 통하여, 타겟 장치에 종속되지 않도록 미들웨어 계층 및 어플리케이션 계층을 구현할 수 있다. 따라서, 장치 드라이버의 개발 과정에서는 미들웨어 계층 및 어플리케이션 계층에서 타겟 장치와 독립적으로 드라이버를 개발한다. 이와 같이 장치 드라이버를 개발하면, 추후 타겟 장치의 하드웨어가 변경되더라도 시스템 계층에서만 변경된 사항을 수용하면 족하다. 또한, 에뮬레이션을 이용하면 어플리케이션의 개발 도중에 발생되는 오류를 소프트웨어적인 오류로 판단하고 해당 소프트웨어를 디버깅할 수 있다.
그런데, 종래 기술에 의한 에뮬레이션 방법에 따르면, 하나의 개발자 터미널에 하나의 타겟 장치가 연결된다. 따라서, 타겟 장치는 하나의 개발자 터미널에 의하여 독점되므로, 여러 개발자가 드라이버의 개발에 참여하더라도 원활하게 분업할 수 없다. 이러한 단점은 특히 에뮬레이션에 이용되는 장비가 고가일 경우에 두드러진다.
뿐만 아니라, 에뮬레이션 환경이 실제 타겟 장치와 완전히 일치하는 것은 아니다. 따라서, 개발자 터미널에서 타겟 장치를 에뮬레이션하여 드라이버를 개발하였다 하더라도, 개발된 드라이버가 타겟 장치에 이식되었을 때 정확히 동작하는지는 반드시 보장되는 것이 아니다. 그런데, 개발자 터미널에서 이용하는 API 및 타겟 장치에서 이용하는 API 가 상이하기 때문에 타겟 장치에 대한 장치 드라이버를 이용하여 직접적으로 타겟 장치를 구동할 수 없다. 그러므로, 장치 드라이버가 완성되더라도 타겟 장치의 API에 상응하도록 포팅하는 과정이 필요하다. 포팅한 드라이버를 이용하여 타겟 장치를 구동한 결과 오류가 발생되면, 다시 에뮬레이션 장치를 이용하여 드라이버를 수정하여야 하며, 수정된 드라이버 역시 다시 타겟 장치의 API에 상응하도록 포팅하여야 하므로 개발 시간이 길어진다.
그러므로, 하나의 에뮬레이션 장치를 여러 개의 개발자 터미널에 의하여 공유하는 것은 물론, 드라이버의 개발이 완료되었을 경우, 별다른 부가적인 작업 없이 개발된 드라이버를 직접 타겟 장치에 포팅하기 위한 기술이 절실히 요구된다.
본 발명의 목적은 하나의 에뮬레이션 장치 또는 하나의 타겟 장치를 다수 개의 개발자 터미널에서 공유함으로써 드라이버 개발 기간을 단축할 수 있는 에뮬레이션 시스템을 제공하는 것이다.
본 발명의 다른 목적은, 개발자 터미널의 시스템 계층, 에뮬레이션 부, 및 타겟 장치에 동일한 통신 프로토콜에 따라서 통신하는 네트워크 에이전트를 포함시키고, 드라이버가 개발 완료된 이후에 드라이버와 함께 네트워크 에이전트를 함께 타겟 장치 내에 포팅시킴으로써, 별도의 추가 작업 없이 개발된 드라이버를 이용하여 직접 타겟 장치를 구동하기 위한 에뮬레이션 방법을 제공하는 것이다.
상기와 같은 목적들을 달성하기 위한 본 발명의 일면은, 타겟 장치 및 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개발자 터미널을 포함하는 에뮬레 이션 시스템에 관한 것으로서, 개발자 터미널은, 타겟 장치를 제어하기 위한 제어 명령을 시스템 계층으로 전달하는 어플리케이션 계층 및 시스템 계층으로부터 수신된 제어 명령을 타겟 장치의 하드웨어 특성에 상응하도록 추상화하여 타겟 장치로 전송하는 하드웨어 추상화 계층(HAL)을 포함하고, 타겟 장치는, 추상화된 제어 명령을 수신하고, 추상화된 제어 명령에 상응하여 타겟 장치를 제어하여 획득된 에뮬레이션 결과를 개발자 터미널로 전송하는 타겟 제어부를 포함하며, 개발자 터미널 및 타겟 장치는, 동일한 통신 프로토콜에 따라 상호 통신하는 것을 특징으로 한다. 개발자 터미널 및 타겟 장치는, 통신 프로토콜에 따라 동작하는 네트워크 에이전트를 각각 포함하며, 네트워크 에이전트들은 소정의 네트워크를 통하여 상호 연결되는 것이 바람직하다. 특히, 타겟 장치는, 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것이 바람직하다. 뿐만 아니라, 타겟 드라이버가 개발되면, 개발된 타겟 드라이버는 네트워크 에이전트와 함께 타겟 장치의 메모리에 포팅되는 것이 바람직하다. 더 나아가, 개발자 터미널은, 개발자 터미널의 운영 체제를 추상화하는 운영 체제 추상화 계층(OSAL) 및 운영 체제 추상화 계층(OSAL) 및 어플리케이션 계층 사이에 위치하는 미들웨어 계층을 더 포함한다.
상기와 같은 목적들을 달성하기 위한 본 발명의 다른 면은, 타겟 장치 및 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개발자 터미널을 포함하는 에뮬레이션 방법에 관한 것이다. 본 발명의 다른 면에 따른 에뮬레이션 방법은 타겟 장치를 제어하기 위한 제어 명령을 개발자 터미널의 어플리케이션 계층으로부터 시스템 계층으로 전달하는 단계, 수신된 제어 명령을 타겟 장치의 하드웨어 특성에 상응하도록 추상화하고, 추상화된 제어 명령을 소정의 통신 프로토콜에 따라 타겟 장치로 전송하는 단계, 추상화된 제어 명령을 수신하고, 추상화된 제어 명령에 상응하여 타겟 장치를 에뮬레이션하는 단계, 및 타겟 장치를 에뮬레이션하여 획득된 에뮬레이션 결과를 통신 프로토콜에 따라 개발자 터미널로 전송하는 단계를 포함하는 것을 특징으로 한다. 개발자 터미널 및 타겟 장치는 통신 프로토콜에 따라 동작하는 네트워크 에이전트를 이용하여 상호 통신하며, 타겟 장치는, 소정의 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것이 바람직하다. 특히, 통신 프로토콜은 이더넷 프로토콜 또는 직렬 통신 프로토콜인 것을 특징으로 한다. 더 나아가, 본 발명에 의한 에뮬레이션 방법은 타겟 드라이버가 개발되면, 개발된 타겟 드라이버를 네트워크 에이전트와 함께 타겟 장치의 메모리에 포팅하는 단계를 더 포함한다.
상기와 같은 목적들을 달성하기 위한 본 발명의 또 다른 면은, 타겟 장치를 에뮬레이션하여 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개발자 터미널에 관한 것이다. 본 발명에 의한 개발자 터미널은 타겟 장치를 제어하기 위한 제어 명령을 시스템 계층으로 전달하는 어플리케이션 계층, 시스템 계층으로부터 수신된 제어 명령을 타겟 장치의 하드웨어 특성에 상응하도록 추상화하여 타겟 장치로 전송하는 하드웨어 추상화 계층(HAL), 및 추상화된 제어 명령을 수신하고, 추상화된 제어 명령에 상응하여 타겟 장치를 제어하여 획득된 에뮬레이션 결과를 개발자 터미널로 전송하는 에뮬레이션부를 포함하며, 개발자 터미널 및 에뮬레이션부는 동일한 통신 프로토콜에 따라 상호 통신하는 것을 특징으로 한다. 또한, 개발 자 터미널 및 에뮬레이션부는 통신 프로토콜에 따라 동작하는 네트워크 에이전트를 각각 포함하며, 네트워크 에이전트는 소정의 네트워크를 통하여 상호 연결되는 것을 특징으로 한다. 특히, 본 발명에 따른 개발자 터미널은 타겟 드라이버가 개발되면, 개발된 타겟 드라이버를 네트워크 에이전트와 함께 타겟 장치의 메모리에 포팅하는 것을 특징으로 한다.
상기와 같은 목적들을 달성하기 위한 본 발명의 또 다른 면은, 개발자 터미널로부터 수신된 추상화된 제어 명령에 의하여 제어되는 타겟 장치에 관한 것이다. 본 발명에 따른 타겟 장치는, 추상화된 제어 명령을 소정의 통신 프로토콜에 따라서 수신하기 위한 네트워크 에이전트 및 추상화된 제어 명령에 의하여 타겟 장치를 제어하기 위한 타겟 제어부를 포함하며, 타겟 제어부는, 타겟 장치를 에뮬레이션한 결과를 네트워크 에이전트를 통하여 개발자 터미널로 송신하는 것을 특징으로 한다. 특히, 네트워크 에이전트는 소정의 네트워크를 통하여 개발자 터미널에 연결되는 것을 특징으로 한다. 더 나아가, 타겟 장치는 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것이 바람직하다. 뿐만 아니라, 네트워크 에이전트는 타겟 드라이버가 개발되면, 개발자 터미널로부터 포팅된 타겟 드라이버를 수신하고, 타겟 장치는, 수신된 타겟 드라이버를 네트워크 에이전트와 함께 저장하는 메모리를 더 포함하는 것을 특징으로 한다.
본 발명에 따르면, 네트워크를 이용하여 하나의 타겟 장치를 여러 개의 개발자 터미널에서 공유할 수 있을 뿐만 아니라, 개발된 드라이버를 별도의 작업 없이 직접 타겟 장치 상에 임베딩하여 타겟 장치를 구동시킬 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로서, 본 발명을 상세히 설명한다. 각 도면에 대하여, 동일한 참조부호는 동일한 부재임을 나타낸다.
도 2는 본 발명의 일 측면에 의한 개발자 터미널을 개념적으로 도시하는 블록도이다.
도 2를 참조하면, 개발자 터미널(200)은 어플리케이션 계층(210), 미들웨어 계층(220), 시스템 계층(230), 및 에뮬레이션 부(290)을 포함한다. 시스템 계층(230)은 운영 체제 추상화 계층(Operating System Abstraction Layer, OSAL)(240) 및 하드웨어 추상화 계층(250)을 포함하며, 에뮬레이션 부(290)는 타겟 제어부(280)를 포함한다.
어플리케이션 계층(210)은 사용자가 직접 이용할 수 있는 응용 프로그램에 해당한다. 예를 들어, 타겟 장치가 텔레비전 튜너일 경우, 어플리케이션 계층(210)은 회면 조정, 음량 조정, 및 채널 설정 등과 같은 메뉴 선택 화면 및 OSD(On Screen Display) 등을 제어한다.
미들웨어 계층(220)은 서로 상이한 타겟 장치 간의 동작 중 공통적인 부분을 제어하는 계층이다. 예를 들어, 타겟 장치가 텔레비전 튜너일 경우 해당 텔레비전 튜너에 이용되는 어플리케이션은 상이하더라도, 모든 텔레비전 튜너는 채널 변경 엔진, 화면 조절 엔진, 채널 정보 데이터베이스 관리, 및 하드웨어 제어 등의 동작을 공통적으로 수행한다. 따라서, 이러한 공통적인 동작들은 미들웨어 계층(220)에서 제어한다.
이와 같이, 어플리케이션 계층(210) 및 미들웨어 계층(220)을 구별함으로써, 다양한 타겟 장치에 대한 개발 시간을 단축할 수 있다. 즉, 상이한 타겟 장치에 이용되는 어플리케이션이 상이할 경우라도, 이러한 타겟 장치들 간의 공통되는 동작은 미들웨어 계층(220)에서 구현할 수 있다. 그러면, 개발자는 미들웨어 계층(220)은 공통적으로 이용하고, 상이한 기능들만을 어플리케이션 계층(210)에서 개발할 수 있으므로 개발 시간이 단축된다.
도 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)은 변경되지 않아도 된다.
이하, 하드웨어 추상화 계층(Hardware Abstractio Layer, HAL)(250)에 설명한다.
다양한 타겟 장치를 효과적으로 에뮬레이션하고, 타겟 장치에 종속되지 않게 어플리케이션 계층(210) 및 미들웨어 계층(220)을 구현하기 위하여는, 타겟 장치의 하드웨어를 추상화 하여주는 하드웨어 추상화 계층(250)이 필요하다. 하드웨어 추상화 계층(250)을 이용함에 의하여, 정의된 하드웨어 추상화 계층(250)의 하부 계층들만을 타겟 장치에 맞도록 적응시키고, 하드웨어 추상화 계층(250) 상부의 어플리케이션 계층(210) 및 미들웨어 계층(220)은 타겟 장치에 독립적으로 구현할 수 있게 된다. 즉, 하드웨어 추상화 계층(250)이란 입출력 인터페이스, 인터럽트 제어, 다중 프로세서 통신의 구현 등에 필요한 하드웨어 종속적인 세부 사항을 처리하는 루틴들의 집합체를 나타낸다. 임베디드 시스템에서 하드웨어 추상화 계층을 정의하고 이 기능을 개발자 터미널 상에서 구현함으로써, 에뮬레이션 기반 개발환경을 제공하는 것은 물론, 타겟 장치 및 장치 드라이버가 확보되기 이전에 미들웨어 계층(220) 또는 어플리케이션 계층(210)을 개발할 수 있다.
에뮬레이션 부(290)는 하드웨어 추상화 계층(250)에 의하여 추상화된 제어 명령을 이용하여 타겟 제어부(280)를 제어한다. 에뮬레이션 부(290)에 의하여 타겟 제어부(280)를 구동함으로써, 개발자는 직접 타겟 장치를 구동하는 것과 유사한 효과를 얻을 수 있다.
도 2에 도시된 개발자 터미널(200)에서, 하드웨어 추상화 계층(250) 및 에뮬레이션 부(290)는 각각 제1 및 제2 네트워크 에이전트(260, 270)를 포함한다. 어 플리케이션 계층(210)에서 생성된 제어 명령은 미들웨어 계층(220)을 통하여 시스템 계층(230)으로 전달된다. 그러면, 하드웨어 추상화 계층(250)은 제1 네트워크 에이전트(260)를 통하여 추상화된 제어 명령을 에뮬레이션 부(290)로 전송한다. 그러면, 제2 네트워크 에이전트(270)는 추상화된 제어 명령을 수신하고, 수신된 제어 명령을 타겟 제어부(280)로 전달한다.
에뮬레이션 부(290)에서 수신된 제어 명령에 상응하여 타겟 장치를 에뮬레이션한 에뮬레이션 결과는 다시 제2 네트워크 에이전트(270)로부터 제1 네트워크 에이전트(260)로 전송된다. 그러면, 하드웨어 추상화 계층(250)은 수신된 에뮬레이션 결과를 미들웨어 계층(220)을 거쳐 어플리케이션 계층(210)으로 전달한다. 어플리케이션 계층(210)은 수신된 에뮬레이션 결과를 분석하여, 장치 드라이버를 개발할 수 있다. 제1 운영 체제(OS1)는 윈도우즈(windows), 리눅스, 임베디드 리눅스, VxWORKs, WinCE, WinCE.net 등의 다양한 운영 체제일 수 있다.
도 2에 도시된 바와 같이, 시스템 계층(230) 및 에뮬레이션 부(290) 간의 데이터 교환은 네트워크 에이전트들을 이용하여 수행된다. 네트워크 에이전트를 통하여 제어 명령이 직접적으로 에뮬레이션 부(290)로 전달되고, 에뮬레이션 결과가 직접적으로 어플리케이션 계층(210)으로 전송된다. 그러므로 개발자의 개발 시간이 단축될 수 있다. 또한, 에뮬레이션 부(290)로부터 송신되는 에뮬레이션 결과는 하나 이상의 개발자 터미널들에 의하여 공유될 수도 있다. 이 경우, 개발자 터미널(200)에서 드라이버를 개발하던 환경 그대로 타겟 장치에 접속할 수 있으므로, 향상된 개발환경에서 타겟 장치 기반으로 드라이버를 검증할 수 있다.
드라이버의 개발이 완료되면, 개발된 드라이버는 물론, 제1 네트워크 에이전트(260) 및 제2 네트워크 에이전트(270) 모두 타겟 장치로 포팅된다. 이러한 과정은 도 4를 이용하여 상세히 후술된다.
도 3은 본 발명의 다른 측면에 의한 에뮬레이션 시스템을 개념적으로 도시하는 블록도이다.
도 3에 도시된 에뮬레이션 시스템은 개발자 터미널(200) 및 타겟 장치(300)를 포함한다.
도 3에 도시된 개발자 터미널(200)은 도 2에 도시된 개발자 터미널과 그 구성 및 동작이 유사하다. 따라서, 어플리케이션 계층(210), 미들웨어 계층(220), 시스템 계층(230), 운영 체제 추상화 계층(240), 하드웨어 추상화 계층(250), 및 제1 네트워크 에이전트(260)에 대하여는 반복적인 설명이 생략된다.
도 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)에 적용될 수 있도록 허용한다.
도 3에 도시된 바와 같이, 하드웨어 추상화 계층(250) 및 시스템 계층(360)은 네트워크 에이전트들을 통하여 상호 통신하므로, 개발자 터미널(200)에서 개발된 드라이버를 이용하여 타겟 장치(300)를 직접적으로 구동할 수 있음을 알 수 있다. 바람직하게는 네트워크 에이전트(260, 360)들은 이더넷 프로토콜에 상응하여 이더넷 네트워크를 통하여 상호 통신할 수 있으나, 본 발명은 이에 한정되는 것이 아니다. 따라서, 추상화된 제어 명령 및 에뮬레이션 결과를 전달하기 위하여 다양한 유무선 통신 네트워크가 이용될 수 있음은 물론이다.
도 4는 본 발명의 또 다른 측면에 의한 타겟 장치에 타겟 드라이버가 포팅된 결과를 개념적으로 도시하는 블록도이다. 도 4에 도시된 타겟 장치(400)는 어플리케이션 계층(410), 미들웨어 계층(420), 제1 시스템 계층(430), 및 제2 시스템 계층(465)을 포함한다. 제1 시스템 계층(430)은 운영 체제 추상화 계층(440) 및 하드웨어 추상화 계층(450)을 포함한다. 하드웨어 추상화 계층(450)은 제1 네트워크 에이전트(460)를 포함하며, 제2 시스템 계층(465)은 제2 네트워크 에이전트(470)를 포함한다. 타겟 장치(400)는 제2 운영 체제(OS2)에 따라서 동작한다.
타겟 장치(400)에 포함되는 어플리케이션 계층(410), 미들웨어 계층(420), 및 제1 시스템 계층(430)은 도 2 또는 도 3 도시된 개발자 터미널(200)에 포함된 것들과 그 구성 및 동작이 유사하다. 즉, 개발자 터미널에 구현되었던 어플리케이션 계층(410), 미들웨어 계층(420), 및 제1 시스템 계층(430)은 드라이버의 개발이 완료되면 그대로 타겟 장치(400)로 포팅된다. 이 경우, 하드웨어 추상화 계층(450) 및 제2 시스템 계층(465) 간의 통신을 담당하는 네트워크 에이전트들이 함께 포팅된다. 따라서, 개발자 터미널(200)을 이용하여 개발된 드라이버는 아무런 수정을 거치지 않고서도 타겟 장치(400)로 직접 포팅된다. 즉, 어플리케이션 계층(410)에 의하여 제공된 제어 명령은 하드웨어 추상화 계층(450)에 의하여 추상화되어 네트워크 에이전트들을 통하여 직접적으로 타겟 제어부(480)를 구동한다.
도 5는 본 발명의 또 다른 측면에 의한 네트워크 에이전트를 이용한 에뮬레이션 방법을 나타내는 흐름도이다.
우선, 어플리케이션 계층에서 구현된 드라이버에 의하여 생성된 제어 명령이 미들웨어 계층으로 전달된다(S510).
그러면, 미들웨어 계층은 수신된 제어 명령을 하드웨어 추상화 계층(HAL)을 포함하는 시스템 계층으로 전달한다(S520). 하드웨어 추상화 계층(HAL)은 수신된 제어 명령을 타겟 장치의 하드웨어에 상응하도록 추상화하여 추상화된 제어 명령을 생성한다(S530). 또한, 추상화된 제어 명령은 네트워크 에이전트를 통하여 에뮬레이션부 또는 타겟 장치로 전송된다(S540). 개발자 터미널에서 소프트웨어적으로 타겟 장치를 에뮬레이션하는 경우에는, 추상화된 제어 명령은 개발자 터미널 내의 에뮬레이션부로 전달된다. 하지만, 개발자 터미널이 직접적으로 타겟 장치를 제어하는 경우에는 추상화된 제어 명령은 타겟 장치로 전달된다.
그러면, 에뮬레이션부 내의 타겟 제어부(도 2의 280 참조) 또는 타겟 장치 내의 타겟 제어부(도 3의 380 참조)는 수신된 추상화된 제어 명령에 의하여 제어된다. 이와 같이 타겟 장치를 구동한 결과는 에뮬레이션 결과로서 다시 개발자 터미널로 전달된다(S550). 개발자 터미널 및 타겟 장치 간의 통신을 담당하는 네트워크 에이전트는 동일한 통신 파라미터에 따라서 동작하는 것이 바람직함은 전술된 바와 같다.
이와 같은 에뮬레이션 동작 및 드라이버 개발 동작이 반복 수행되면, 타겟 장치를 위한 드라이버가 개발 완료되었는지 판단한다(S560). 판단 결과 드라이버가 완료되었다면, 타겟 드라이버를 네트워크 에이전트와 함께 타겟 장치로 포팅한다(S570). 포팅 동작이란, 예를 들어서, 윈도우 기반 환경에서 개발된 드라이버를 타겟 장치에 상응하도록 컴파일하는 동작을 의미한다. 이러한 동작은, 윈도우 기반 드라이버의 명령어 집합을 타겟 장치에 이용되는 명령어 집합으로 매핑시키는 과정을 통하여 수행될 수 있다. 이 경우, 주요 명령어들은 API(Application Program Interface) 형태로 형성되어 네트워크를 통하여 통신될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 예를 들면, 본 발명에서는 설명의 편의를 위하여 텔레비전 튜너를 타겟 장치로서 이용하는 경우에 대하여 설명하 였으나, 본 발명은 이에 한정되는 것이 아님은 명백하다. 또한, 본 발명의 실시예에서 제어 명령 및 에뮬레이션 결과는 네트워크 에이전트를 통하여 송수신되는 것으로 설명되었으나, 본 발명은 이에 한정되는 것이 아니다. 더 나아가, 반드시 네트워크를 통하여 제어 명령 및 에뮬레이션 결과가 전송되어야 하는 것은 아니며, 직렬 통신을 통하여도 전송될 수 있음은 물론이다. 그러므로, 동일한 통신 프로토콜에 따라서 통신하는 모든 통신 모듈들이 네트워크 에이전트로서 이용될 수 있음에 유의하여야 한다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명에 의하여, 하나의 에뮬레이션 장치 또는 하나의 타겟 장치를 다수 개의 개발자 터미널에서 공유함으로써 1:다 또는 다:1의 개발 환경을 구현하고, 드라이버 개발 기간을 단축할 수 있다.
또한, 본 발명에 의하여, 개발자 터미널의 시스템 계층, 에뮬레이션 부, 및 타겟 장치에 동일한 통신 프로토콜에 따라서 통신하는 네트워크 에이전트를 포함키고, 드라이버가 개발 완료된 이후에 드라이버와 함께 네트워크 에이전트를 함께 타겟 장치 내에 포팅시킴으로써, 별도의 추가 작업 없이 개발된 드라이버를 이용하여 직접 타겟 장치를 구동할 수 있다.

Claims (24)

  1. 타겟 장치 및 상기 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개발자 터미널을 포함하는 에뮬레이션 시스템에 있어서, 상기 개발자 터미널은,
    상기 타겟 장치를 제어하기 위한 제어 명령을 시스템 계층으로 전달하는 어플리케이션 계층 및
    상기 시스템 계층으로부터 수신된 상기 제어 명령을 상기 타겟 장치의 하드웨어 특성에 상응하도록 추상화하여 상기 타겟 장치로 전송하는 하드웨어 추상화 계층(HAL)을 포함하고, 상기 타겟 장치는,
    추상화된 상기 제어 명령을 수신하고, 추상화된 상기 제어 명령에 상응하여 상기 타겟 장치를 제어하여 획득된 에뮬레이션 결과를 상기 개발자 터미널로 전송하는 타겟 제어부를 포함하며,
    상기 개발자 터미널 및 상기 타겟 장치는, 동일한 통신 프로토콜에 따라 상호 통신하는 것을 특징으로 하는 에뮬레이션 시스템.
  2. 제1항에 있어서, 상기 개발자 터미널 및 상기 타겟 장치는,
    상기 통신 프로토콜에 따라 동작하는 네트워크 에이전트를 각각 포함하며,
    상기 네트워크 에이전트들은 소정의 네트워크를 통하여 상호 연결되는 것을 특징으로 하는 에뮬레이션 시스템.
  3. 제2항에 있어서, 상기 타겟 장치는,
    상기 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것을 특징으로 하는 에뮬레이션 시스템.
  4. 제2항에 있어서,
    상기 통신 프로토콜은 이더넷(Ethernet) 프로토콜 또는 직렬 통신(serial communication) 프로토콜인 것을 특징으로 하는 에뮬레이션 시스템.
  5. 제2항에 있어서,
    상기 타겟 드라이버가 개발되면, 개발된 타겟 드라이버는 상기 네트워크 에이전트와 함께 상기 타겟 장치의 메모리에 포팅되는 것을 특징으로 하는 에뮬레이션 시스템.
  6. 제1항에 있어서, 상기 개발자 터미널은,
    상기 개발자 터미널의 운영 체제를 추상화하는 운영 체제 추상화 계층(OSAL) 및
    상기 운영 체제 추상화 계층(OSAL) 및 상기 어플리케이션 계층 사이에 위치하는 미들웨어 계층을 더 포함하는 것을 특징으로 하는 에뮬레이션 시스템.
  7. 타겟 장치 및 상기 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개 발자 터미널을 포함하는 에뮬레이션 방법에 있어서,
    상기 타겟 장치를 제어하기 위한 제어 명령을 상기 개발자 터미널의 어플리케이션 계층으로부터 시스템 계층으로 전달하는 단계;
    수신된 상기 제어 명령을 상기 타겟 장치의 하드웨어 특성에 상응하도록 추상화하고, 추상화된 제어 명령을 소정의 통신 프로토콜에 따라 상기 타겟 장치로 전송하는 단계;
    추상화된 상기 제어 명령을 수신하고, 추상화된 상기 제어 명령에 상응하여 상기 타겟 장치를 에뮬레이션하는 단계; 및
    상기 타겟 장치를 에뮬레이션하여 획득된 에뮬레이션 결과를 상기 통신 프로토콜에 따라 상기 개발자 터미널로 전송하는 단계를 포함하는 것을 특징으로 하는 에뮬레이션 방법.
  8. 제7항에 있어서, 상기 개발자 터미널 및 상기 타겟 장치는,
    상기 통신 프로토콜에 따라 동작하는 네트워크 에이전트를 이용하여 상호 통신하는 것을 특징으로 하는 에뮬레이션 방법.
  9. 제8항에 있어서, 상기 타겟 장치는,
    소정의 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것을 특징으로 하는 에뮬레이션 방법.
  10. 제8항에 있어서,
    상기 통신 프로토콜은 이더넷 프로토콜 또는 직렬 통신 프로토콜인 것을 특징으로 하는 에뮬레이션 방법.
  11. 제8항에 있어서,
    상기 타겟 드라이버가 개발되면, 개발된 타겟 드라이버를 상기 네트워크 에이전트와 함께 상기 타겟 장치의 메모리에 포팅하는 단계를 더 포함하는 것을 특징으로 하는 에뮬레이션 방법.
  12. 제7항에 있어서, 상기 개발자 터미널은,
    상기 개발자 터미널의 운영 체제를 추상화하는 운영 체제 추상화 계층(OSAL) 및
    상기 운영 체제 추상화 계층(OSAL) 및 상기 어플리케이션 계층 사이에 위치하는 미들웨어 계층을 포함하는 것을 특징으로 하는 에뮬레이션 방법.
  13. 타겟 장치를 에뮬레이션하여 상기 타겟 장치를 구동하는 타겟 드라이버를 개발하기 위한 개발자 터미널 장치에 있어서,
    상기 타겟 장치를 제어하기 위한 제어 명령을 시스템 계층으로 전달하는 어플리케이션 계층;
    상기 시스템 계층으로부터 수신된 상기 제어 명령을 상기 타겟 장치의 하드웨어 특성에 상응하도록 추상화하여 상기 타겟 장치로 전송하는 하드웨어 추상화 계층(HAL); 및
    추상화된 상기 제어 명령을 수신하고, 추상화된 상기 제어 명령에 상응하여 상기 타겟 장치를 제어하여 획득된 에뮬레이션 결과를 상기 하드웨어 추상화 계층으로 전송하는 에뮬레이션부를 포함하며,
    상기 하드웨어 추상화 계층 및 상기 에뮬레이션부는, 동일한 통신 프로토콜에 따라 상호 통신하는 것을 특징으로 하는 개발자 터미널 장치.
  14. 제13항에 있어서, 상기 하드웨어 추상화 계층 및 상기 에뮬레이션부는,
    상기 통신 프로토콜에 따라 동작하는 네트워크 에이전트를 각각 포함하며,
    상기 네트워크 에이전트는 소정의 네트워크를 통하여 상호 연결되는 것을 특징으로 하는 개발자 터미널 장치.
  15. 제14항에 있어서, 상기 에뮬레이션 부는,
    상기 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것을 특징으로 하는 개발자 터미널 장치.
  16. 제14항에 있어서,
    상기 통신 프로토콜은 이더넷 프로토콜 또는 직렬 통신 프로토콜인 것을 특징으로 하는 개발자 터미널 장치.
  17. 제14항에 있어서, 상기 개발자 터미널 장치는,
    상기 타겟 드라이버가 개발되면, 개발된 타겟 드라이버를 상기 네트워크 에이전트와 함께 상기 타겟 장치의 메모리에 포팅하는 것을 특징으로 하는 개발자 터미널 장치.
  18. 제13항에 있어서, 상기 개발자 터미널 장치는,
    상기 개발자 터미널 장치의 운영 체제를 추상화하는 운영 체제 추상화 계층(OSAL) 및
    상기 운영 체제 추상화 계층(OSAL) 및 상기 어플리케이션 계층 사이에 위치하는 미들웨어 계층을 더 포함하는 것을 특징으로 하는 개발자 터미널 장치.
  19. 개발자 터미널로부터 수신된 추상화된 제어 명령에 의하여 제어되는 타겟 장치에 있어서,
    추상화된 상기 제어 명령을 소정의 통신 프로토콜에 따라서 수신하기 위한 네트워크 에이전트 및
    추상화된 상기 제어 명령에 의하여 상기 타겟 장치를 제어하기 위한 타겟 제어부를 포함하며,
    상기 타겟 제어부는, 상기 타겟 장치를 에뮬레이션한 결과를 상기 네트워크 에이전트를 통하여 상기 개발자 터미널로 송신하는 것을 특징으로 하는 타겟 장치.
  20. 제19항에 있어서,
    상기 네트워크 에이전트는 소정의 네트워크를 통하여 상기 개발자 터미널에 연결되는 것을 특징으로 하는 타겟 장치.
  21. 제20항에 있어서, 상기 타겟 장치는,
    상기 네트워크를 통하여 복수 개의 개발자 터미널에 의하여 공유되는 것을 특징으로 하는 타겟 장치.
  22. 제20항에 있어서,
    상기 통신 프로토콜은 이더넷 프로토콜 또는 직렬 통신 프로토콜인 것을 특징으로 하는 타겟 장치.
  23. 제20항에 있어서,
    상기 네트워크 에이전트는, 상기 타겟 드라이버가 개발되면, 상기 개발자 터미널로부터 포팅된 상기 타겟 드라이버를 수신하고,
    상기 타겟 장치는, 수신된 상기 타겟 드라이버를 상기 네트워크 에이전트와 함께 저장하는 메모리를 더 포함하는 것을 특징으로 하는 타겟 장치.
  24. 제19항에 있어서, 상기 타겟 장치는,
    상기 타겟 장치의 운영 체제를 추상화하는 운영 체제 추상화 계층(OSAL)을 더 포함하는 것을 특징으로 하는 타겟 장치.
KR1020070032521A 2007-04-02 2007-04-02 동일한 통신 프로토콜에 따라서 상호 통신하는 개발자터미널 및 타겟 장치 및 상기 타겟 장치를 에뮬레이션하기위한 시스템 및 방법 KR101399356B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070032521A KR101399356B1 (ko) 2007-04-02 2007-04-02 동일한 통신 프로토콜에 따라서 상호 통신하는 개발자터미널 및 타겟 장치 및 상기 타겟 장치를 에뮬레이션하기위한 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070032521A KR101399356B1 (ko) 2007-04-02 2007-04-02 동일한 통신 프로토콜에 따라서 상호 통신하는 개발자터미널 및 타겟 장치 및 상기 타겟 장치를 에뮬레이션하기위한 시스템 및 방법

Publications (2)

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

Family

ID=40151275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070032521A KR101399356B1 (ko) 2007-04-02 2007-04-02 동일한 통신 프로토콜에 따라서 상호 통신하는 개발자터미널 및 타겟 장치 및 상기 타겟 장치를 에뮬레이션하기위한 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101399356B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102217255B1 (ko) * 2015-10-12 2021-02-17 현대자동차주식회사 네트워크에서 통신 노드의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040079336A (ko) * 2003-03-06 2004-09-14 마이크로소프트 코포레이션 분산형 컴퓨팅 시스템을 위한 아키텍쳐 및 분산형애플리케이션의 자동화된 설계, 배치 및 관리
JP2005004411A (ja) 2003-06-11 2005-01-06 Hitachi Ltd システム開発方法、および、システム開発支援プログラム
KR20050018397A (ko) * 2003-08-12 2005-02-23 삼성전자주식회사 프로세서 간 통신 방법 및 장치
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 (ko) * 2003-03-06 2004-09-14 마이크로소프트 코포레이션 분산형 컴퓨팅 시스템을 위한 아키텍쳐 및 분산형애플리케이션의 자동화된 설계, 배치 및 관리
JP2005004411A (ja) 2003-06-11 2005-01-06 Hitachi Ltd システム開発方法、および、システム開発支援プログラム
KR20050018397A (ko) * 2003-08-12 2005-02-23 삼성전자주식회사 프로세서 간 통신 방법 및 장치
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 (ko) 2008-10-08

Similar Documents

Publication Publication Date Title
EP1004072B1 (en) Embedded graphical programming system
US7464016B2 (en) Hot plug and hot pull system simulation
CN100385395C (zh) 利用远程配置数据进行引导的方法和装置
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 (ja) 移動体端末用プラットフォーム・システムのミドルウエア・サービス・レイヤ
CN108664264A (zh) 一种基于cpu通过jtag方式远程更新fpga的装置和方法
CN114237676B (zh) 一种fpga逻辑更新方法、装置、设备及可读存储介质
CN109299011A (zh) 一种应用程序的测试方法及系统
KR101399356B1 (ko) 동일한 통신 프로토콜에 따라서 상호 통신하는 개발자터미널 및 타겟 장치 및 상기 타겟 장치를 에뮬레이션하기위한 시스템 및 방법
CN109358872A (zh) 远程固件升级方法、装置及计算机可读存储介质
CN102929159B (zh) 一种仿真模型状态控制方法与装置
CN115604070A (zh) 基于mctp协议的消息传输方法、装置、设备及介质
CN115390873A (zh) 一种基于单片机的时间频率设备固件升级方法及可读存取介质
KR101284791B1 (ko) 휴대용 단말기를 이용한 컴퓨터 운영체제 구현 방법 및 그 장치
CN107239305A (zh) 用于现场可编程门阵列芯片文件加载的系统及方法
CN108614447B (zh) 风电机组的联合仿真方法、装置、设备及存储介质
CN102567003A (zh) 一种电信增值业务开发环境中的业务调试实现方法
CN111787378A (zh) 应用于遥控装置的软件升级方法及遥控装置
US20030033131A1 (en) System level simulation method and device
US20210216342A1 (en) System, server, verification method and program
CN116149757B (zh) 插件虚拟路由实现方法、装置、计算机设备及存储介质
JP6642787B2 (ja) 通信シミュレーション装置、方法及びプログラム
CN109213673A (zh) 一种基于串口仿真软件的开发方法和装置
CN112988202B (zh) 一种fc模块升级的系统及方法

Legal Events

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