KR100422069B1 - 무선통신을 이용한 교차 개발 장치 및 그 방법 - Google Patents

무선통신을 이용한 교차 개발 장치 및 그 방법 Download PDF

Info

Publication number
KR100422069B1
KR100422069B1 KR10-2001-0044942A KR20010044942A KR100422069B1 KR 100422069 B1 KR100422069 B1 KR 100422069B1 KR 20010044942 A KR20010044942 A KR 20010044942A KR 100422069 B1 KR100422069 B1 KR 100422069B1
Authority
KR
South Korea
Prior art keywords
development
cross
target board
host computer
microprocessor
Prior art date
Application number
KR10-2001-0044942A
Other languages
English (en)
Other versions
KR20030010145A (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 KR10-2001-0044942A priority Critical patent/KR100422069B1/ko
Priority to JP2001383720A priority patent/JP2003058391A/ja
Priority to US10/025,573 priority patent/US20030056196A1/en
Priority to CNB011456892A priority patent/CN1180340C/zh
Priority to EP01130918A priority patent/EP1280061A3/en
Publication of KR20030010145A publication Critical patent/KR20030010145A/ko
Application granted granted Critical
Publication of KR100422069B1 publication Critical patent/KR100422069B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 내장형 시스템에서 사용되는 타겟 보드의 프로그램 교차개발 시스템에 있어서, 작성된 응용프로그램을 타겟 보드의 마이크로 프로세서용으로 컴파일하고, 그 프로그램의 실행결과에 대한 디버깅을 수행하는 교차개발 처리부와, 교차개발 처리부로부터 교차개발을 수행하기 위한 정보를 무선으로 타겟 보드에 전송하기 위한 제 1 블루투스 모듈과, 제 1 블루투스 모듈로부터 전송된 무선 정보를 수신하고, 내부의 프로그램 처리 수행결과를 제 1 블루투스 모듈에 무선으로 전송하는 제 2 블루투스 모듈과, 타겟 보드의 마이크로 프로세서의 점유가능여부를 판단하여 제 2 블루투스 모듈을 통해 수신한 교차개발을 위한 무선정보를 송수신 및 실행할 수 있도록 호스트 컴퓨터에 통신채널을 할당하는 통신채널 제어부를 포함하여 구성함으로써, 타겟 보드의 위치에 상관없이 블루투스 모듈을 이용하여 호스트 컴퓨터에서 무선으로 원격 디버깅등의 교차 개발이 가능하며, 인터넷 네트워크를 이용하지 않는 근거리 통신임에 따라 보안성을 제공할 수 있게 한다.

Description

무선통신을 이용한 교차 개발 장치 및 그 방법{apparatus and method for cross development using wireless communication}
본 발명은 내장형 시스템(Embedded System)의 개발에 사용되어지는 교차 개발(Cross development) 시스템 및 그 방법에 관한 것이다.
최근 인터넷의 폭발적 성장과 함께 컴퓨터뿐만 아니라 다양한 정보기기 들이 인터넷에 직접 접속할 수 있게 되었다. 이에 따라 전화기, TV, PDA 등은 물론이고 냉장고, 전자레인지 등의 가전제품들도 인터넷 접속을 통해 다양한 기능을 수행할 수 있게 되었다. 이와 같이 인터넷 접속을 통해 다양한 기능을 내장한 제품들을 내장형 시스템(embedded system)이라고 한다.
내장형 시스템은 마이크로콘트롤러(microcontroller)를 내장하여 여러 개의실시간 응용 프로그램을 수행하게 된다. 주변 기술이 발전하고 응용 프로그램이 복잡해지면서 내장형 시스템 개발에서도 과거와는 다른 변화들이 나타나고 있다. 즉, 내장형 시스템의 마이크로 콘트롤러에서 실행되는 응용 프로그램을 작성할 경우에 기존의 어셈블리 언어와 달리 C언어와 같은 고급언어를 사용하는 것이 일반적인 추세가 되었다.
한편, 타겟 보드 등은 메모리나 디스크 등의 자원(Resource)이 한정되어 있음에 따라 그러한 고급언어로 작성된 프로그램을 그대로 실행시킬 수 는 없다. 이때문에 호스트 컴퓨터에서 C언어등의 고급언어를 사용하여 내장형 시스템의 마이크로 콘트롤러에서 실행할 응용 프로그램을 작성하고, 타겟 보드의 마이크로 콘트롤러에서 실행될 수 있는 기계어로 컴파일하여 타겟 보드에 전송하여 저장하고, 타겟 보드에서 그 저장된 응용 프로그램을 실행하고 그 실행여부를 검색하고 오류가 있는 부분에 대하여는 디버깅을 수행하는 교차 개발(cross development) 방법이 많이 사용되고 있다.
교차 개발 방법이란 호스트 컴퓨터에서 고급언어를 이용하여 응용 프로그램을 작성하고, 그 작성한 프로그램을 교차 컴파일러(Cross compiler)를 이용해서 타겟 보드를 위한 실행 코드를 만든 후에 통신 링크(Communication Link)를 통해 원격 디버깅을 하는 것을 말한다.
도 1은 일반적인 교차 개발 방법의 구성 블록도이다. 도시된 바와 같이 호스트 컴퓨터(10)는 고급언어 등을 이용하여 작성된 응용 프로그램을 교차 컴파일러를 이용하여 컴파일하고 타겟 보드와 필요한 명령, 정보, 프로그램을 주고 받는 등의원격 디버깅을 수행한다.
타겟 보드(20)는 CPU, I/O, 메모리, 주변 장치 등이 탑재되어 있으며 호스트 컴퓨터와 연결되어 필요한 정보를 주고 받으며 응용 프로그램을 실제로 수행시키는 타겟 보드, 즉 내장형 시스템 등을 위한 개발 보드이다.
이러한 호스트 컴퓨터(10)와 타겟 보드(20)는 통신링크에 의해 연결되어진다. 종래에 사용되고 있는 통신 링크에는 RS-232C, LAN, USB 등의 유선을 사용되고 있다.
현재의 내장형 시스템 개발 등에 사용되어 지는 교차 개발 방법은 호스트 컴퓨터와 타겟 보드 사이를 RS-232C 등의 시리얼(Serial) 장치로 연결하는 방법, 네트워크 장치를 연결하여 TCP/IP 프로토콜 등을 이용하는 방법, 호스트 컴퓨터의 시리얼 장치와 타겟 보드의 JTAG 포트(Joint Test Access Group port)를 연결하는 방법이 있다.
기존의 이런 방법들은 호스트 컴퓨터와 타겟 보드 사이가 항상 유선으로 연결되어 있어야 하므로 호스트 컴퓨터와 타겟 보드 사이에 거리와 위치 제약이 많으며, 시리얼 장치나 JTAG 포트를 이용할 경우에는 속도가 느리고 타겟 보드와 호스트 컴퓨터가 1대 1로만 연결되므로 여러 명이 교차 개발을 수행하기 위해서는 각 사람마다 하나의 타겟 보드씩 있어야함에 따라 여러 대의 타겟 보드가 있어야 하는 문제점이 있다.
또한, 네크워크 장치를 이용하기 위해서는 호스트 컴퓨터와 타겟 보드에 네트워크 장치를 별도로 설치해야 하며 네크워크 장치가 LAN 등의 네트워크 망에 연결되어 있을 때는 외부의 사용자가 네트워크망을 통하여 타겟 보드에 접근할 수도 있으므로 보안상의 문제가 있을 수가 있다.
본 발명은 이러한 문제점을 해결하기 위하여 안출된 것으로, 그 목적은 내장형 시스템(Embedded System)을 개발할 때 호스트 컴퓨터와 타겟 보드 사이를 무선으로 연결하여 디버깅할 수 있게 하는 무선통신을 이용한 교차개발 시스템 및 그 방법을 제공하는데 있다.
이러한 목적을 달성하기 위한 본 발명은 내장형 시스템의 교차 개발을 수행할때, 근거리 무선데이터통신의 전세계 표준으로 자리잡아가고 있는 블루투스(BlueTooth) 기술을 이용하여 호스트 컴퓨터(Host Computer)와 타겟 보드(Target Board)를 무선으로 연결한 후에 프로그램을 내려 받기 하거나 필요한 정보들을 주고 받는 등의 교차 개발을 수행한다.
이를 위해서 하드웨어적으로는 블루투스 모듈을 USB, PC CARD, RS-232C 등의 기존의 I/O장치에 연결하거나 BTA(BlueTooth Accelerator) 등의 내부 블루투스 모듈을 이용하며, 소프트웨어적으로는 호스트 컴퓨터의 디바이스 드라이버, 응용 프로그램, 커널(Kernel) 등의 내부에, 타겟 보드의 부트 로더(Boot loader), 모니터 프로그램(monitor program), 스텁(stub) 등의 내부에 HCI(Host Controller Interface), L2CAP(Logical Link Control and Adaptation Protocol), RFCOMM 등의 블루투스 프로토콜 스택과 프로파일(profile)을 구현한다.
도 1은 일반적인 교차 개발 방법의 개략적인 블록도.
도 2는 본 발명의 일실시예에 의한 블루투스 모듈을 이용한 교차 개발을 위한 시스템의 구성 블록도.
도 3은 본 발명의 다른 실시예에 의한 BTA(BlueTooth Accelerator)을 이용한 교차 개발을 위한 시스템의 구성 블록도.
도 4는 본 발명에 의한 블루투스를 이용한 교차 개발 시스템의 전체 블록도.
도 5는 본 발명에 의한 타겟 보드에서의 동작 흐름도.
도 6은 본 발명에 의한 호스트 컴퓨터에서의 동작 흐름도.
도 7은 본 발명에 의한 블루투스 프로토콜 스택의 블록도.
도 8은 본 발명에 의한 교차개발의 전체 동작 흐름도.
<도면의 주요부분에 대한 부호의 설명>
10 : 호스트 컴퓨터 11 : 유선 통신부
12 : 블루투스 모듈 13 : 교차 개발 처리부
20 : 타겟 보드 21 : 블루투스 모듈
22 : 유선 통신부 23 : CPU
24 : 메모리 25 : 입력부
26 : 출력부 27 : 주변장치
30 : 타겟 보드 31 : 인터페이스
32 : BTA 33 : CPU
34 : 메모리 35 : 입력부
36 : 출력부 37: 주변장치
40 : 피코넷
이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 실시예를 설명해보기로 하자.
도 2는 본 발명의 일실시예에 따른 블루투스 모듈을 이용한 교차 개발을 수행하는 시스템의 상세 블럭도이다. 도시된 바와 같이 호스트 컴퓨터(10)는 I/O 장치인 유선 통신부(11)와, 그 유선 통신부(12)에 연결되어 무선통신을 수행하기 위한 블루투스 모듈(BT 모듈)(12)과, 작성된 응용프로그램을 타겟 보드에서 실행할 수 있도록 컴파일하고, 그 프로그램의 실행결과에 따라 디버깅을 수행하는 교차개발 처리부(13)를 포함하여 구성된다.
아울러, 타겟 보드(20)에는 호스트 컴퓨터(10)의 블루투스 모듈(12)과 근거리 무선 통신을 수행하는 블루투스 모듈(21)이 타겟 보드(20)의 I/O 장치인 유선 통신부(22)에 장착된다. 도면에서 23은 타겟 보드(20)의 CPU이고 24는 메모리이고, 25는 입력부, 26은 출력부, 27은 주변장치이다.
여기서 호스트 컴퓨터(10)의 유선통신부(11) 및 타겟 보드(20)의 유선통신부(22)는 RS-232C, USB, PC Card중의 하나로 구성될 수 있다. 이러한 유선통신부(11, 22)중의 한 곳에 BT 모듈(12, 21)을 연결한다.
블루투스 모듈(12)은 호스트 컴퓨터(10)의 유선통신부(11)가 RS-232C, USB, PC Card중의 하나로 구성됨에 따라 선택된 유선통신부(11)에 연결되어 유선통신을 근거리 무선통신으로 변조하는 기능을 수행한다. 아울러, 타겟 보드(20)에서의 프로그램 수행결과정보등을 무선으로 전달받는 기능을 수행한다.
교차개발 처리부(13)는 C언어등의 고급언어로 작성된 응용프로그램을 타겟 보드에서 실행할 수 있도록 타겟 보드의 CPU에 맞는 기계어로 컴파일하는 기능을 수행하고, 타겟 보드의 CPU(23)에서 그 프로그램이 실행된 결과에 따라 사용자의 입력에 따라 디버깅하는 기능을 수행한다.
아울러, 타겟 보드(20)에 구비된 마이크로 프로세서의 교차개발을 위해 마이크로 프로세서가 현재 점유가 가능한 상태에 있으면 통신채널을 할당해달라고 하는 요청신호를 전송하고 그에 따른 교차개발 절차를 수행하게 된다.
타겟 보드(20)의 CPU(23)는 호스트 컴퓨터(10)로부터 통신채널의 할당을 요청하는 신호가 전송되면 이를 수신하여 CPU(23)의 현재 사용상태가 호스트 컴퓨터(10)의 무선 접속을 인정할 수 있는 상태에 있는가를 판단하고, 가능할 경우에는 무선 접속을 허용하는 메시지를 전송한다.
메모리(26)는 호스트 컴퓨터에서 통신링크를 통해서 내려받은 응용프로그램을 저장하고 실제로 수행시키기 위한 장소이다. 입력부(25) 출력부(26), 주변장치(27)는 타겟 보드(20)에 완성된 후에 타겟 보드(20)의 동작에 사용된다.
도 3에는 본 발명의 다른 실시예에 따른 교차 개발을 수행하는 시스템의 상세 블럭도이다. 도시된 바와 같이 호스트 컴퓨터의 I/O 장치인 유선 통신부(11)에 무선통신을 수행하기 위한 블루투스 모듈(BT 모듈)(12)이 장착된다. 여기서, 유선통신부(11)는 RS-232C, USB, PC Card중의 하나로 구성될 수 있으며, 이러한 유선통신부(11, 22)중의 한 곳에 BT 모듈(12)을 연결한다.
아울러, 타겟 보드의 CPU(33)에 직접, 또는 EIM(External Interface module)을 통해서 연결된 BTA(32)에 안테나를 연결시키기 위한 인터페이스 모듈(31)을 연결하여 무선통신을 통해 교차 개발을 수행하게 된다.
도 4는 본 발명의 또 다른 실시예에 따른 블루투스 모듈을 이용한 교차 개발을 수행하는 시스템의 상세 블럭도이다. 1대의 타겟 보드(20) 와 최대 7대의 호스트 컴퓨터(10)에 블루투스 모듈(12)을 각각 장착하고 블루투스의 피코넷(Piconet:40)을 사용하여 타겟 보드(20)와 여러 대의 호스트 컴퓨터(10)를 무선으로 연결하여 교차 개발을 하게 된다.
피코넷이란, 장착된 블루투스에 의해 무선 통신을 수행하는 임의의 네크워크이며 최대 8대의 블루투스 장착 시스템으로 형성될 수 있으며, 8개 중 1 개가 마스터가 되며 나머지는 슬레이브가 된다.
즉, 타겟 보드(20)에서 자신의 마이크로 프로세서의 점유가능여부를 판단하여 블루투스 모듈을 통해 수신한 상기 교차개발을 위한 무선정보를 송수신 및 실행할 수 있도록 호스트 컴퓨터(10)에 통신채널을 할당한다.
이에 따라, 타겟 보드(20)로부터 통신채널을 할당받은 호스트 컴퓨터(10)는 타겟 보드(20)의 CPU(23)를 점유하여 자신이 원하는 내용의 프로그램을 다운로드 시키고 그 프로그램을 타겟 보드(20)의 CPU(23)에서 실행시켜보고, 그 실행결과를 다시 수신하여 그 실행결과에 대한 디버깅 작업을 무선으로 원격에서 수행할 수 있게 된다.
만약 하나의 호스트 컴퓨터(10)가 타겟 보드(20)를 점유하여 교차개발 작업을 진행하고 있으면 다른 호스트 컴퓨터는 타겟 보드(20)의 점유가 해제될때까지대기하게 된다.
도 5는 본 발명에 의한 타겟 보드의 개략적인 동작 흐름도이다. 이 동작 흐름도에 나오는 내용들은 타겟 보드의 부트 로더, 모니터 프로그램, 스텁 등에 구현된다. 우선 타겟 보드의 전원이 공급되면 CPU(23)와 주변장치를 초기화 시킨다(S1). 그 후에 RS-232C, USB, LAN, JTAG 등의 유선통신부를 통해서 교차 개발을 할 것인지, 블루투스를 이용해서 무선으로 교차 개발을 할 것인지 선택하게 된다(S2). 유선을 선택하게 되는 경우 타겟 보드에 설치된 유선통신 인터페이스의 종류를 선택하게 된다(S3). 즉, RS-232C, USB, LAN 중 어떤 유선을 사용하게 될 것인지 선택하게 된다. 선택된 유선 장치를 초기화 시킨 후에(S4) 호스트 컴퓨터쪽으로 명령을 받기 위한 프롬프트를 선택된 유선인터페이스를 통해 전송하게 된다(S5).
한편, 블루투스를 통해서 무선으로 교차 개발을 하게 될 경우에는 타겟 보드에 BTA 가 존재하는지의 여부를 검색하여 검색한 결과 BTA 가 존재하지 않는 경우 블루투스 모듈을 RS-232C, USB 등의 기존의 유선 I/O 장치에 연결해야 하므로 블루투스 모듈이 연결된 유선 장치를 선택하게 되고 초기화를 하게 된다(S7). 블루투스는 타임 슬롯(Time slot) 을 나누어서 통신하므로 피코넷이라는 최대 8대의 블루투스 모듈을 가진 기계들이 동시에 통신할 수도 있으며 1개의 타임 슬롯만 사용하고 나머지 타임 슬롯에는 inquiry 패킷을 보내지 않는 등의 방법으로 1대 1로만 통신할 수도 있다. 이에 따라 피코넷 모드의 설정여부를 판단한다(S8). 판단결과 사용자의 입력신호에 따라 피코넷 모드를 설정하거나(S9) 피코넷 모드를해제한다(S10).
만일, 필요한 환경 변수 등이 정해지면 주변에 호스트 컴퓨터의 블루투스 모듈이 있는지를 찾기 위한 Inquiry 패킷을 계속해서 전송하게 된다(S11). 만약 주변에 호스트 컴퓨터의 블루투스 모듈이 있어서 이 블루투스 모듈에서 그 Inquiry 패킷을 수신하여 그에 대응하는 Inquiry scan 패킷을 전송해오는 경우, 이 Inquiry scan 패킷을 수신하게 된다(S12).
타겟 보드(20)에서는 수신한 Inquiry scan 패킷을 해석하여 해당 호스트 컴퓨터의 블루투스 모듈을 찾게 되고 해당 블루투스 모듈과 연결하기 위해 page 패킷을 전송한다(S13). 호스트 컴퓨터의(10) 블루투스 모듈에서는 이 page 패킷을 수신한 후 이에 대응하는 page scan 패킷을 전송하게 된다.
따라서, 타겟 보드(20)에서는 page 패킷을 전송한 후 그 page 패킷에 대응하여 호스트 컴퓨터(10)의 블루투스 모듈로부터 전송되는 page scan 패킷의 수신여부를 판단한다(S14). page scan 패킷이 수신되면 타겟 보드와 호스트 컴퓨터의 두 블루투스 모듈 사이에 연결이 이루어 지고 타겟 보드(20)에서는 호스트 컴퓨터(10)쪽으로 명령을 받기 위한 프롬프트를 도 7의 HCI, L2CAP 등의 블루투스 스택을 거쳐 무선으로 전송하게 된다(S5).
도 6은 본 발명에 의한 호스트 컴퓨터의 개략적인 동작 흐름도이다.
이 동작 흐름도의 동작들은 호스트 컴퓨터의 OS, 응용 프로그램, 디바이스 드라이버 등에 구현이 된다.
우선 RS-232C, USB, LAN 등의 유선통신부(11)를 통해서 교차 개발을 할 것인지, 블루투스를 이용해서 무선으로 교차 개발을 할 것인지 선택한다(S21). 유선을 선택하는 경우 RS-232C, USB, LAN 중 어떤 유선통신부(11)를 사용할 것인지를 선택하고(S22), 교차개발 동작모드를 수행하기 위해 선택된 해당 유선 장치를 초기화 시킨다(S23). 그 다음 타겟 보드로부터 전송된 명령 프롬프트를 수신한 후에(S33) 미리 정해진 명령어를 이용하여 타겟 보드와 교차개발을 진행한다(S34).
한편, 블루투스를 통해서 무선으로 교차 개발을 진행하는 경우에는 호스트 컴퓨터(10)에 BTA가 존재하는지의 여부를 판단한다(S24). BTA가 존재하는 경우라면 그에 따른 무선통신을 수행하면 되고, BTA가 존재하지 않는 경우라면 블루투스 모듈(12)을 RS-232C, USB 등의 유선 I/O 장치에 연결해야 하므로 블루투스 모듈이 연결된 유선 장치를 선택하고 해당 유선통신부(11)를 초기화한다(S25).
블루투스는 타임 슬롯(Time slot)을 나누어서 통신하므로 피코넷이라는 최대 8대의 블루투스 모듈을 가진 기계들이 동시에 통신할 수도 있으며, 1개의 타임 슬롯만 사용하고 나머지 타임 슬롯에는 inquiry 패킷을 보내지 않는 등의 방법으로 1대 1로만 통신할 수도 있다.
따라서 피코넷 모드를 사용할 것인지의 여부를 판단하게 된다(S26). 사용자의 입력신호에 따라 피코넷 모드를 설정하거나(S27), 피코넷 모드를 해제한다(S28).
이와 같이 필요한 환경 변수 등이 정해지면 주변의 타겟 보드의 블루투스 모듈이 다른 블루투스 모듈을 찾고 있는지 알기 위해서 Inquiry 패킷이 수신되고 있는지 판단한다(S29).
만약, 타겟 보드(20)의 블루투스 모듈로부터 전송된 Inquiry 패킷이 수신되면 그에 상응하여 Inquiry scan 패킷을 송신한다(S30). 이에 따라 타겟 보드와 호스트 컴퓨터가 서로의 블루투스 모듈을 인식하게 된다.
이렇게 호스트 컴퓨터(10)에서 Inquiry scan 패킷을 전송하면, 피코넷의 운영에 있어서 마스터에 해당하는 타겟 보드(20)에서는 자신의 블루투스 모듈과 호스트 컴퓨터(10)의 블루투스 모듈과 연결시키기 위해 Inquiry scan 패킷에 상응하는 page 패킷을 호스트 컴퓨터(10)로 전송하게 된다.
따라서, 슬레이브에 해당하는 호스트 컴퓨터(10)에서는 Inquiry scan 패킷을 전송한 후 타겟 보드(20)로부터 전송된 page 패킷의 수신여부를 판단한다(S31). page 패킷이 수신되면 그에 상응하는 page scan 패킷을 타겟 보드(20)에 전송한다. 이렇게 함으로써 호스트 컴퓨터(10)의 블루투스 모듈과 타겟 보드(20)의 블루투스 모듈 사이에 연결이 이루어 진다.
이렇게 블루투스 모듈간에 연결이 이루어지면, 호스트 컴퓨터(10)에서는 타겟 보드(20)로부터 전송된 명령 프롬프트의 수신한 후에 미리 정해진 명령어를 이용하여 타겟 보드와 교차 개발을 수행한다. 교차개발을 위해 호스트 컴퓨터(10)와 타겟 보드(20)간에 송수신되는 명령들은 도 7에 도시된 바와 같이 HCI, L2CAP 등의 블루투스 스택을 거쳐 무선으로 전송하게 된다.
도 5와 도 6을 참조하여 설명한 실시예에서는 피코넷을 구성함에 있어서 타겟 보드(20)를 마스터로 설정하고, 호스트 컴퓨터(10)를 슬레이브로 각각 설정한 상태에서의 흐름도이다.
한편, 타겟 보드(20)를 슬레이브로 설정하고, 호스트 컴퓨터(10)를 마스터로 설정하여 연결한 후 블루투스의 role change 명령을 이용하여 다시 타겟 보드(20)를 마스터로, 호스트 컴퓨터(10)를 슬레이브로 변경할 수 도 있다.
타겟 보드(20)가 마스터가 되면 타겟 보드(20)에 최대 7대의 호스트 컴퓨터가 슬레이브로 연결될 수 있다.
도 7은 블루투스를 사용하여 교차 개발을 하기 위한 블루투스 프로토콜 스택의 프로파일의 일예를 제시하고 있다. 즉, 호스트 컴퓨터(10)의 디바이스 드라이버, 응용 프로그램, 커널(Kernel) 등의 내부와, 타겟 보드(20)의 부트 로더(Boot loader), 모니터 프로그램(monitor program), 스텁(stub) 등의 내부에 HCI(Host Controller Interface), L2CAP(Logical Link Control and Adaptation Protocol), RFCOMM 등의 블루투스 프로토콜 스택과 프로파일(profile)을 구현한다.
그 구성을 살펴보면, 최하층으로부터 Baseband, LMP/L2CAP, RFCOMM/SDP 등의 블루투스 프로토콜 스택에 타겟 보드와 호스트 컴퓨터 사이의 교차 개발을 위한 자체 프로토콜 스택(Target board control)을 올려서 그 프로토콜들을 바탕으로 교차 개발을 하게 된다.
도 8은 상술한 바와 같은 호스트 컴퓨터와 타겟 보드를 이용하여 교차개발을 수행하는 전체적인 흐름을 나타내고 있다.
먼저, 호스트 컴퓨터(10)에서 교차개발을 위한 프로그램을 로딩하여 실행하고 내장하고 있는 유선 통신부(11)가 어떠한 장치가 설정되었는지 검색하고 그에 따른 무선통신을 수행하기 위하여 블루투스 모듈(12)의 환경을 설정하여 교차개발을 수행하기 위한 준비를 한다.
한편, 타겟 보드(20)에서는 전원이 공급되면 교차개발을 수행하기 위한 초기화가 수행하고 필요한 환경 변수 등이 정해지면 주변에 호스트 컴퓨터(10)의 블루투스 모듈에 자신이 존재함으로 알리기 위한 Inquiry 패킷을 전송하게 된다(S41).
호스트 컴퓨터(10)에서는 자신이 타겟 보드(20)를 점유하여 교차개발을 수행하고 싶다고 하는 의사가 있음을 타겟 보드(20)에 알려야 한다. 그에 따라 타겟 보드(20)의 마이크로 프로세서를 점유하여 교차개발을 하고 싶다고 하는 요청메시지를 Inquiry 패킷을 전송해온 타겟 보드(20)에 대하여 전송한다. 이 요청메시지가 Inquiry scan 패킷이 되는 것이다.
타겟 보드(20)에서는 여러 대의 호스트 컴퓨터(10)로부터 이러한 Inquiry scan 패킷을 수신할 수 있다. 타겟 보드(20)에서는 이 Inquiry scan 패킷을 해석하여 해당 호스트 컴퓨터의 블루투스 모듈을 찾게 되고, 자신의 마이크로 프로세서에서 현재 실행되고 있는 교차개발작업이 있는지를 검색하여 실행되고 있는 교차개발작업이 없는 경우에는 해당 호스트 컴퓨터(10)에서 자신의 마이크로 프로세서를 점유하여 사용해도 좋다고 하는 허락하고 해당 블루투스 모듈과 연결하기 위해 page 패킷을 전송한다(S43). 호스트 컴퓨터의(10) 블루투스 모듈에서는 이 page 패킷을 수신한 후 이에 대응하여 연결설정을 위한 page scan 패킷을 전송하게 된다(S44).
타겟 보드(20)에서 page scan 패킷을 수신하면 타겟 보드와 호스트 컴퓨터의 두 블루투스 모듈 사이에 연결이 이루어짐에 따라 교차개발을 수행하기 위해 호스트 컴퓨터(10)쪽으로 명령을 받기 위한 프롬프트를 전송한다(S45).
호스트 컴퓨터(10)에서는 타겟 보드(20)에서 실행할 수 있도록 타겟 보드에 적합한 형태로 컴파일된 응용프로그램 정보를 블루투스 모듈을 통해 무선으로 타겟 보드(20)에 전송한다(S46). 타겟 보드(20)에서는 무선으로 수신한 응용프로그램 정보를 해석하여 그에 따른 프로그램을 실행처리한다. 그리고 그 프로그램 수행결과에 대하여 디버깅을 하기 위하여 프로그램 수행결과 정보를 블루투스 모듈을 통해 무선으로 호스트 컴퓨터(10)에 전송한다.
호스트 컴퓨터(10)에서는 타겟 보드(20)의 프로그램 수행결과를 사용자에게 디스플레이하여 주고 사용자의 입력신호에 의거하여 프로그램 수행결과에 대한 디버깅을 수행하게 된다. 그리고 그 디버깅 정보를 타겟 보드(20)에 전송한다(S48).
타겟 보드(20)에서는 무선으로 수신한 디버깅 정보를 해석하여 그에 따른 프로그램을 실행처리한다. 그리고 그 프로그램 수행결과에 대하여 디버깅 수행결과 정보를 블루투스 모듈을 통해 무선으로 호스트 컴퓨터(10)에 전송한다(S49).
본 발명에 의한 교차개발 시스템을 이용하여 교차개발을 수행하는 경우 다음과 같은 효과를 제공할 수 있다.
첫째, 호스트 컴퓨터와 타겟 보드사이의 거리 제약을 최대 10m 정도로 늘릴 수 있으므로 타겟 보드의 위치에 상관없이 호스트에서 무선으로 원격 디버깅(Remote Debugging)등의 교차 개발이 가능하며, 인터넷 네트워크를 이용하지 않는 근거리 통신임에 따라 보안성도 제고할 수 있다.
둘째, 최대 1Mbps 의 비교적 빠른 전송 속도로 정보를 주고 받을 수 있게 된다.
셋째, 블루투스의 피코넷을 이용할 경우에는 1대의 타겟 보드을 이용하여 최대 7대의 호스트 컴퓨터와 연결할 수가 있으므로 여려 명이 동시에 1대의 타겟 보드를 사용할 수 있다.
넷째, 블루투스 모듈을 USB, PC Card, RS-232C 장치에 바로 연결할 수도 있으므로 기존의 타겟 보드와 호스트 컴퓨터의 하드웨어적인 변경없이 그대로 사용할 수도 있다.

Claims (14)

  1. 마이크로 프로세서를 구비하는 타겟 보드와 통신하여 그 마이크로 프로세서의 프로그램 교차개발을 수행하는 호스트 컴퓨터의 교차개발 방법에 있어서,
    무선 네트워크를 이용하여 상기 마이크로 프로세서의 점유를 무선으로 상기 타겟 보드에 요청하는 단계와,
    상기 요청에 상응하여 상기 타겟보드로부터 마이크로 프로세서의 점유가 가능함을 알리는 메시지가 수신된 경우 교차개발을 위한 정보를 무선 네트워크를 이용하여 상기 타겟 보드에 전송하는 단계와,
    상기 타겟 보드로부터 상기 정보에 의한 프로그램 실행처리 결과 정보를 수신받아 그 실행처리 결과에 대한 원격 디버깅을 수행하는 단계를 포함하는 무선 통신을 이용한 교차개발 방법.
  2. 제 1항에 있어서, 상기 무선네트워크는 블루투스 네트워크인 무선 통신을 이용한 교차개발 방법.
  3. 제 2항에 있어서, 블루투스 네트워크는 블루투스의 피코넷 네트워크인 무선 통신을 이용한 교차개발 방법.
  4. 적어도 하나 이상의 호스트 컴퓨터와 통신하여 그 내장된 마이크로 프로세서의 프로그램 교차개발을 수행하는 타겟 보드의 교차개발 방법에 있어서,
    무선 네트워크를 이용하여 상기 마이크로 프로세서의 점유를 요청하는 신호를 수신하는 단계와,
    상기 신호에 상응하여 마이크로 프로세서의 점유가능 여부를 판단하여 마이크로 프로세서의 점유가 가능할 경우 점유가능 메시지를 점유를 요청한 호스트 컴퓨터에 전송하는 단계와,
    상기 점유가능 메시지에 상응하여 상기 호스트 컴퓨터로부터 교차개발을 수행하기 위해 전송되는 정보를 무선네트워크를 이용하여 수신하는 단계와,
    상기 수신한 정보에 의하여 프로그램을 실행하고 그 실행결과에 대한 원격 디버깅을 위해 그 실행결과정보를 무선 네트워크를 이용하여 상기 호스트 컴퓨터에 전송하는 단계를 포함하는 무선 통신을 이용한 교차개발 방법.
  5. 제 4항에 있어서, 상기 무선네트워크는 블루투스 네트워크인 무선 통신을 이용한 교차개발 방법.
  6. 제 5항에 있어서, 상기 블루투스 네트워크는 블루투스의 피코넷 네트워크인 무선 통신을 이용한 교차개발 방법.
  7. 마이크로 프로세서를 구비하는 타겟 보드와 통신하여 그 마이크로 프로세서의 프로그램 교차개발을 수행하는 장치에 있어서,
    상기 타겟 보드에 상기 마이크로 프로세서의 점유를 요청하고 그에 상응하여 타겟 보드로부터 전송된 신호에 의거하여 상기 마이크로 프로세서의 점유가능 여부를 판단하는 수단과,
    점유가능시 상기 타겟보드와 교차개발을 위한 정보를 무선으로 송수신하는 수단과,
    상기 타겟 보드로부터 수신된 프로그램 실행처리 결과 정보에 의거하여 원격 디버깅을 수행하는 수단을 포함하는 무선 통신을 이용한 교차개발 장치.
  8. 제 7항에 있어서, 상기 무선으로 송수신하는 수단은 블루투스 모듈인 무선 통신을 이용한 교차개발 장치.
  9. 적어도 하나 이상의 호스트 컴퓨터와 통신하여 그 내장된 마이크로 프로세서의 프로그램 교차개발을 수행하는 타겟 보드의 교차개발장치에 있어서,
    상기 호스트 컴퓨터로부터 수신된 상기 마이크로 프로세서에 대한 점유 요청 신호에 상응하여 마이크로 프로세서의 점유가능 여부를 판단하는 수단과,
    상기 마이크로 프로세서의 점유가 가능할 경우 점유가능 메시지를 점유를 요청한 호스트 컴퓨터와 교차개발을 수행하기 위한 정보를 무선으로 송수신하는 수단과,
    상기 수신한 정보에 의하여 해당 프로그램을 실행하여 교차개발을 수행하는 수단을 포함하는 무선 통신을 이용한 타겟 보드의 교차개발장치.
  10. 제 9항에 있어서, 상기 무선으로 송수신하는 수단은 블루투스 네트워크인 무선 통신을 이용한 타겟 보드의 교차개발장치.
  11. 적어도 하나의 호스트 컴퓨터를 이용하여 타겟보드의 프로그램 교차개발을 수행하기 위한 데이터 송수신 장치에 있어서,
    상기 호스트 컴퓨터에 장착되어 상기 타겟보드의 교차개발을 위한 정보를 상기 타겟보드에 무선으로 송신하고, 그에 상응하는 수행 결과 정보를 수신하는 제 1 무선송수신부와,
    상기 타겟보드에 장착되어 상기 호스트 컴퓨터로부터 전송된 응용 프로그램및 디버깅 수행정보를 타겟보드에 전달하고, 그 수행결과를 상기 제 1 무선송수신 장치에 전달하는 제 2 무선송수신부를 포함하는 교차개발을 위한 데이터 송수신 장치.
  12. 제 11항에 있어서, 상기 정보는, 컴파일된 응용프로그램 정보, 마이크로 프로세서 사용 요청신호 정보, 프로그램 디버깅 정보중 적어도 하나를 포함하는 교차개발을 위한 데이터 송수신 장치.
  13. 제 11항에 있어서, 상기 제 1, 제 2 무선 송수신장치는 블루투스 모듈인 교차개발을 위한 데이터 송수신 장치.
  14. 제 11항에 있어서, 상기 제 1 또는 제 2 무선 송수신 장치는 BTA(BlueTooth Acceleration)를 포함하는 교차개발을 위한 데이터 송수신 장치.
KR10-2001-0044942A 2001-07-25 2001-07-25 무선통신을 이용한 교차 개발 장치 및 그 방법 KR100422069B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR10-2001-0044942A KR100422069B1 (ko) 2001-07-25 2001-07-25 무선통신을 이용한 교차 개발 장치 및 그 방법
JP2001383720A JP2003058391A (ja) 2001-07-25 2001-12-17 無線通信を用いたクロス開発方法及びそのシステム並びにデータ送受信装置
US10/025,573 US20030056196A1 (en) 2001-07-25 2001-12-26 Apparatus and method for cross development via wireless communication
CNB011456892A CN1180340C (zh) 2001-07-25 2001-12-27 通过无线通信进行交叉扩展的装置和方法
EP01130918A EP1280061A3 (en) 2001-07-25 2001-12-27 Apparatus and method for cross development via wireless communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0044942A KR100422069B1 (ko) 2001-07-25 2001-07-25 무선통신을 이용한 교차 개발 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20030010145A KR20030010145A (ko) 2003-02-05
KR100422069B1 true KR100422069B1 (ko) 2004-03-12

Family

ID=19712534

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0044942A KR100422069B1 (ko) 2001-07-25 2001-07-25 무선통신을 이용한 교차 개발 장치 및 그 방법

Country Status (5)

Country Link
US (1) US20030056196A1 (ko)
EP (1) EP1280061A3 (ko)
JP (1) JP2003058391A (ko)
KR (1) KR100422069B1 (ko)
CN (1) CN1180340C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100615450B1 (ko) 2004-12-13 2006-08-28 한국전자통신연구원 임베디드 시스템의 툴체인 구성 및 실행 방법, 그리고 이를이용한 이동 단말 장치

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612004B1 (ko) * 2000-04-06 2006-08-11 삼성전자주식회사 Bluetooth 무선 통신을 지원하는 통신장치에서의 수신 데이터 처리 방법
WO2005045667A2 (en) * 2003-11-06 2005-05-19 Intuwave Limited A method of rapid software application development for a wireless mobile device
US7318172B2 (en) * 2004-08-31 2008-01-08 Broadcom Corporation Wireless remote firmware debugging for embedded wireless device
US8327202B2 (en) * 2005-07-13 2012-12-04 Hewlett-Packard Development Company, L.P. System and method for scan testing
US8294483B2 (en) * 2008-05-30 2012-10-23 Freescale Semiconductor, Inc. Testing of multiple integrated circuits
US8032030B2 (en) * 2008-05-30 2011-10-04 Freescale Semiconductor, Inc. Multiple core system
US8549491B2 (en) 2008-12-05 2013-10-01 Electronics And Telecommunications Research Institute Apparatus and method for application testing of embedded system
KR101418390B1 (ko) * 2012-10-18 2014-07-11 이지케어텍(주) 원격 응용 프로그래밍 디버깅시스템 및 그 제어방법
JP6278300B2 (ja) * 2012-10-19 2018-02-14 株式会社ローラン リモート操作システム、無線通信ユニット、及びリモートデバッグシステム
JP2016158120A (ja) * 2015-02-25 2016-09-01 京セラ株式会社 通信装置、携帯端末装置および通信システム
US10254337B2 (en) 2015-10-27 2019-04-09 Marvell World Trade Ltd. System and method for establishing a trusted diagnosis/debugging agent over a closed commodity device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784581A (en) * 1996-05-03 1998-07-21 Intel Corporation Apparatus and method for operating a peripheral device as either a master device or a slave device
US6230119B1 (en) * 1998-02-06 2001-05-08 Patrick Michael Mitchell Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit
JP2001184149A (ja) * 1999-12-27 2001-07-06 Toshiba Corp 情報処理装置および動作状態制御方法
US6938246B2 (en) * 2000-05-08 2005-08-30 Microtune (San Diego), Inc. Diagnostic tool for a portable thread environment
US20020099863A1 (en) * 2000-06-02 2002-07-25 Guillaume Comeau Software support layer for processors executing interpreted language applications
US6633876B1 (en) * 2000-06-07 2003-10-14 Sun Microsystems, Inc. Analyzing post-mortem information on a remote computer system using a downloadable code module
US7185094B2 (en) * 2001-03-30 2007-02-27 Sandcherry, Inc. Media session framework using a control module to direct and manage application and service servers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100615450B1 (ko) 2004-12-13 2006-08-28 한국전자통신연구원 임베디드 시스템의 툴체인 구성 및 실행 방법, 그리고 이를이용한 이동 단말 장치

Also Published As

Publication number Publication date
CN1180340C (zh) 2004-12-15
EP1280061A3 (en) 2007-03-28
EP1280061A2 (en) 2003-01-29
US20030056196A1 (en) 2003-03-20
JP2003058391A (ja) 2003-02-28
KR20030010145A (ko) 2003-02-05
CN1399192A (zh) 2003-02-26

Similar Documents

Publication Publication Date Title
KR100422069B1 (ko) 무선통신을 이용한 교차 개발 장치 및 그 방법
EP1209877B1 (en) Communication unit and its controlling method
US20060136899A1 (en) Method for programming/updating software using USB OTG
US20070162666A1 (en) Data input terminal device
KR101174168B1 (ko) IrDA를 이용한 블루투스 기기의 페어링 방법과 이를이용한 이동통신단말기
US20020037699A1 (en) Radio communication system and electronic device search method
KR20140134451A (ko) 테스트 환경 설정 장치, 및 테스트 환경 설정 장치를 이용하는 네트워크 시뮬레이션 장치의 작동 방법
EP2016711A2 (en) Multi-mode host interface for and remote register and memory access of a wireless communication module
CN102737003B (zh) 一种模拟usb设备的方法及装置
JP2003348649A (ja) 無線デバイスのアクセスおよび管理のためのダイナミック・マシン合成方法
KR20010026519A (ko) 블루투스 무선 통신을 이용한 휴대폰의 소프트웨어 다운로드방법
JP2003078475A (ja) 無線送受信装置
Mamdouhi et al. Bluetooth wireless monitoring, managing and control for inter vehicle in vehicular ad-hoc networks
KR101282643B1 (ko) 블루투스 무선통신을 이용한 전자제어기의 소프트웨어업그레이드 시스템
US7907556B2 (en) Apparatus and method for controlling mobile terminal in data communication system
US20090154433A1 (en) Local area wireless communication apparatus and method
JP2002354063A (ja) 無線機器、無線カード、情報処理装置及びデバイスドライバロード方法
KR100739159B1 (ko) 연료전지를 이용한 홈 네트워크 시스템
KR101284791B1 (ko) 휴대용 단말기를 이용한 컴퓨터 운영체제 구현 방법 및 그 장치
US10165612B2 (en) Wireless connecting method, computer, and non-transitory computer-readable storage medium
US20040252649A1 (en) Dual mode wireless network card link parameter setting device and method of the same
JP3792114B2 (ja) 移動端末局間の多元接続通信方式およびそのためのプログラムを記憶したコンピュータ読み取り可能な記録媒体
US20030162531A1 (en) Wireless communication device, wireless communication system, and device configuring method for information processing system
KR100565499B1 (ko) 마스터기기의 플러그인 방법
JP2018006947A (ja) 通信装置、通信システム、及び通信プログラム

Legal Events

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

Payment date: 20090202

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee