KR20050024827A - 타겟 시스템 기반 소스 프로그램 개발장치 및 방법 - Google Patents
타겟 시스템 기반 소스 프로그램 개발장치 및 방법 Download PDFInfo
- Publication number
- KR20050024827A KR20050024827A KR1020030061709A KR20030061709A KR20050024827A KR 20050024827 A KR20050024827 A KR 20050024827A KR 1020030061709 A KR1020030061709 A KR 1020030061709A KR 20030061709 A KR20030061709 A KR 20030061709A KR 20050024827 A KR20050024827 A KR 20050024827A
- Authority
- KR
- South Korea
- Prior art keywords
- project
- target system
- source program
- information
- host system
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 호스트-타겟으로 구성되는 크로스 개발 환경에서 소스 프로그램 개발자가 타겟 시스템에서 직접 소스 프로그램을 개발할 수 있는 개발 환경을 제공한다. 소스 개발자는 타겟 시스템에서 소스 프로그램을 작성하고, 작성된 소스 프로그램은 호스트 시스템에 전달되어 크로스 컴파일부를 통하여 크로스 컴파일되고, 컴파일된 실행 프로그램은 다시 타겟 시스템으로 전송되어 실행된다. 이와 같은 소스 편집-컴파일-실행은 프로젝트 기반으로 진행된다. 타겟 시스템의 소스 편집부는 소스 편집 기능을 제공하고 프로젝트 관리 클라이언트부는 호스트 시스템의 프로젝트 관리 서버부와 연동하여 프로젝트 생성, 열기, 빌드, 실행 등의 프로젝트 관리 기능을 제공한다. 호스트 시스템의 크로스 컴파일부는 소스 프로그램의 크로스 컴파일 기능을 제공한다. PDA와 같이 이동성을 갖는 타겟 시스템의 경우에, 이동성과 관련된 소스 프로그램을 개발하여 타겟 시스템을 이동해가며 테스트하는 과정에서 오류가 발생하면, 타겟 시스템에서 직접 소스 프로그램을 수정하고 바로 실행해 볼 수 있기 때문에, 기존의 호스트 시스템에서 소스 프로그램을 수정하는 방법보다 빠르고 편리하게 소스 프로그램을 개발할 수 있는 장점을 제공한다.
Description
본 발명은 임베디드(embedded) 시스템의 소스 프로그램 개발을 위한 크로스 개발 환경 장치 및 방법에 관한 것으로, 상세하게는 호스트-타겟으로 구성되는 크로스 개발 환경에서 임베디드 시스템의 소스 프로그램을 개발하기 위해 타켓 시스템에서 직접 소스 프로그램을 개발할 수 있는 크로스 개발 환경의 장치와 방법에 관한 것이다.
크로스 개발 환경이란 호스트 시스템과 타겟 시스템이 네트워크로 연결된 상태에서 호스트 시스템에서 타겟 시스템의 소스 프로그램을 개발할 수 있는 환경을 말한 것으로, 호스트 시스템은 데스크탑 PC 또는 워크스테이션과 같은 사용자들이 손쉽게 사용할 수 있는 범용 컴퓨터 시스템이고, 타겟 시스템은 호스트 시스템과는 다르게 특수한 기능을 수행하는 임베디드 시스템을 말한다.
예를 들면, 가정에서 사용하는 TV, 냉장고에 컴퓨터 시스템이 내장되어 기존의 TV와 냉장고의 기능을 하면서, 네트워크를 통한 인터넷 접속 등의 기능을 할 수 있다. 임베디드 시스템은 TV, 냉장고 등의 가전 제품들 뿐만 아니라, 휴대폰, PDA, 웹패드와 같이 쉽게 들고 다닐 수 있는 기기들을 포함하여 컴퓨터 시스템이 내장된 모든 기기들을 말한다.
임베디드 시스템들은 CPU와 메모리를 갖고 컴퓨터 시스템이 할 수 있는 연산 및 데이터 처리 등의 기능을 수행할 수 있지만 빠른 연산과 많은 양의 데이터 처리가 주목적이 아니므로 호스트 시스템의 CPU와 메모리 보다는 성능과 저장 용량이 부족하여도 되기 때문에 가격이 싼 CPU와 메모리를 이용하게 된다. 이와 같은 이유로 임베디드 시스템에서 수행되는 소스 프로그램의 개발은 임베디드 시스템보다는 성능이 우수한 호스트 시스템에서 개발이 이루어지도록 하고 있다.
임베디드 소스 프로그램 개발자는 호스트 시스템에서 소스 프로그램을 작성하고, 작성된 소스 프로그램을 크로스 컴파일하여 실행 프로그램을 만든다. 그리고 실행 프로그램을 타겟 시스템으로 다운로드하여 실행시키게 되며, 개발자는 이와 같은 과정을 반복하며 임베디드 소스 프로그램 개발을 완료하게 된다.
이와 같은 종래 크로스 개발 환경에서는 모든 개발이 호스트 시스템에서 이루어지고, 타겟 시스템은 실행 결과를 확인하기 위하여 호스트 시스템 가까이에 고정된 상태로 위치한다. 그러나 PDA와 같이 이동성을 갖는 타겟 시스템에서 이동성과 관련된 응용 프로그램을 개발하는 과정에서는 기존의 크로스 개발 환경은 개발 시간 증대와 개발 환경의 불편함을 가져올 수 있다.
예를 들면, 도로에서 실시간으로 도로의 위치 정보를 출력하는 PDA용 소스 프로그램의 개발을 가정할 경우 이와 같은 소스 프로그램의 대부분의 개발은 사무실이 있는 호스트 시스템에서 이루어지고, 실제 상황에서의 테스트를 위하여 도로에서 PDA를 이동해가면서 테스트 하는 과정에 프로그램 오류가 발생할 수 있다. 이때, 최악의 경우에는 다시 사무실로 이동해서 소스 프로그램을 수정한 후, 다시 도로로 이동하여 테스트해야 한다. 이러한 상황은 소스 프로그램 개발 시간의 엄청난 낭비를 가져올 수 있으며, 개발자가 바로 이동중 프로그램 오류에 대한 소스 프로그램을 수정해서 테스트할 수 없는 개발 환경의 불편함을 가져올 수 있다.
본 발명의 목적은 기존 임베디스 소프트웨어 개발환경에서 호스트 시스템과 타겟 시스템간의 크로스 개발 환경을 유지하면서, PDA와 같은 타겟 시스템에서 직접 타겟 시스템의 소스 프로그램을 개발할 수 있는 장치와 방법을 제공하는데 있다.
본 발명은 호스트 시스템에서 개발된 실행 프로그램을 PDA와 같은 타겟 시스템을 이동해가면서 테스트하는 과정에서 프로그램의 오류가 발생한 경우에, 다시 호스트 시스템에서 소스 프로그램을 수정하지 않고, 타겟 시스템에서 직접 소스 프로그램 수정, 컴파일, 실행할 수 있는 장치와 방법을 제공하는데 있다.
본 발명은 타겟 시스템에서 소스 프로그램을 편집할 수 있는 장치를 두어 타겟 시스템에서 소스 프로그램을 수정하고, 수정된 소스 프로그램을 호스트 시스템으로 전송하여 호스트 시스템의 크로스 컴파일러를 사용하여 컴파일하고, 컴파일된 실행 프로그램을 다시 타겟 시스템으로 전송하여 타겟 시스템에서 실행함으로써 상기 목적을 달성할 수 있다.
타겟 시스템에서 수정된 소스 프로그램의 컴파일을 타겟 시스템이 아닌 호스트 시스템에서 하는 이유는 타겟 시스템은 일반적으로 호스트 시스템과 비교하여 CPU 속도가 느리고, 메모리 용량이 부족하기 때문에, 컴파일 환경을 타겟 시스템에 유지하는 것은 컴파일 시간도 증가시키고 타겟 시스템의 메모리에 대한 낭비도 증가시키기 때문이다. 물론 호스트 시스템에서의 컴파일 방식이 호스트-타겟 간의 통신을 위한 과부하도 존재할 수 있지만, 통신에 대한 과부하보다는 타겟 시스템의 자원과 컴파일 시간에 대한 과부하가 더 클 것으로 예상되기 때문에, 컴파일 환경을 호스트 시스템에 유지하는 것이 더 효과적이다.
상기 목적을 달성하기 위한 본 발명은 호스트 시스템과 타겟 시스템으로 구성되는 크로스 개발 환경에서 소스 프로그램을 개발하기 위한 장치에 있어서, 타겟 시스템은 저장장치; 입력장치; 출력장치; 상기 입력장치를 통해 입력된 소스 프로그램 작성과 관련한 소스 프로그램 생성, 열기, 편집, 저장명령을 저장하고 출력장치를 통해 표시하는 소스 편집부 및 상기 입력, 출력장치 및 호스트 시스템과 연동하여 프로젝트 생성, 열기, 수정, 빌드, 실행, 닫기 등의 기능을 수행하고, 상기 프로젝트 정보와 관련하여 데이터 송수신 및 정보저장을 제어하는 프로젝트 관리 클라이언트부를 포함하고;
상기 호스트 시스템은 저장장치; 소스 프로그램을 빌드(크로스 컴파일 및 링크)하여 상기 타겟 시스템에서 실행할 수 있는 실행 프로그램을 생성한 후 저장장치에 저장하고, 컴파일 결과 메시지를 프로젝트 관리 서버부에 전달하는 크로스 컴파일부; 및 상기 입력, 출력장치 및 호스트 시스템과 연동하여 프로젝트 생성, 열기, 수정, 빌드, 실행, 닫기 등의 기능을 수행하고, 상기 프로젝트 정보를 상기 타겟 시스템의 저장장치에 저장할 수 있게 하는 프로젝트 관리 클라이언트부;를 구비하고, 호스트 시스템이 크로스 컴파일부; 저장장치; 및
상기 타겟 시스템과 연동하여 프로젝트 정보를 상기 호스트 시스템의 저장장치에 저장하고, 상기 크로스 컴파일부와 연동하여 소스 프로그램의 빌드(컴파일 및 링크) 기능을 수행하는 프로젝트 관리 서버부를 구비하여, 소스 프로그램 개발자가 타겟 시스템에서 소스 프로그램을 개발하는 것을 특징으로 하는 타겟 시스템 기반 소스 프로그램 개발장치를 제공한다.
상기 목적을 달성하기 위한 본 발명은 호스트 시스템과 타겟 시스템으로 구성되는 크로스 개발 환경에서 소스 프로그램을 개발하기 위한 방법에 있어서, 상기 타겟 시스템에서 프로젝트를 생성하거나 기존 프로젝트를 여는 프로젝트 생성 또는 열기 단계; 상기 생성 또는 열기에 의한 프로젝트를 수정하는 프로젝트 수정 단계; 상기 수정된 프로젝트를 상기 호스트 시스템에서 빌드하는 프로젝트 빌드 단계; 상기 빌드된 실행 프로그램을 상기 타겟 시스템에서 실행하는 프로젝트 실행 단계; 및 상기 프로젝트를 닫는 프로젝트 닫기 단계; 를 포함하는 것을 특징으로 하는 타겟 시스템 기반 소스 프로그램 개발방법을 제공한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명하면 다음과 같다.
도 1은 본 발명에 따른 타겟 시스템(100) 기반의 소스 프로그램 개발 환경을 도시한 도면이다.
도 1을 참조하면, 본 발명은 타겟 시스템(100)에서 소스 프로그램을 작성하고, 작성된 소스 프로그램을 호스트 시스템(120)에서 빌드하여, 빌드된 실행 프로그램을 타겟 시스템(100)에서 실행할 수 있는 장치를 개시하고 있다.
상기 타겟 시스템(100)은 프로젝트 관리 클라이언트부(101), 소스 편집부(107), CPU(106), 통신장치(102), 저장장치(103), 입력장치(104) 및 출력장치(105)로 구성되며, 상기 호스트 시스템(120)은 프로젝트 관리 서버부(121), 크로스 컴파일부(124), 통신장치(122) 및 저장장치(123)로 구성되고, 상기 타겟 시스템(100)과 호스트 시스템(120)은 유/무선 네트워크(110)를 통해 연결되어 있다.
소스 프로그램 개발자는 타겟 시스템(100)의 CPU(106)가 수행할 수 있는 실행 프로그램 개발을 위하여 입력장치(104)와 출력장치(105)를 이용하여 소스 프로그램의 편집, 빌드, 실행 등 실행 프로그램 개발에 필요한 과정을 수행한다.
타겟 시스템(100)에서 작성된 소스 프로그램은 호스트 시스템(120)에 전달되어 빌드되어 실행 프로그램이 생성되고, 타겟 시스템(100)의 실행 프로그램은 호스트 시스템(120)으로 전달되어 실행된다. 이때 소스 프로그램 개발자는 작성된 프로그램의 실행 결과를 타겟 시스템(100)의 출력장치(105)를 통해 확인할 수 있다.
본 발명에 의해 개시되는 크로스 개발 환경 장치는 소스 프로그램의 편집-빌드-실행의 개발 과정을 프로젝트 기반으로 진행할 수 있는 개발 환경을 제공한다.
소스 프로그램 개발자는 타겟 시스템(100)의 입력장치(104)와 출력장치(105)를 이용하여 프로젝트 생성, 열기, 수정, 빌드 및 실행 등을 수행한다. 프로젝트 관련 기능들은 도 2에서 자세하게 설명된다.
이와 같이 타겟 시스템(100)의 프로젝트 관리 클라이언트부(101)와 호스트 시스템(120)의 프로젝트 관리 서버부(121)는 이와 같은 프로젝트 기반의 개발 환경의 핵심 모듈이 된다.
상기 타겟 시스템(100)은 소스 편집부(107)에서 소스 프로그램 개발자에게 소스 프로그램 작성 기능을 제공한다. 소스 프로그램 개발자는 타겟 시스템(100)의 입력장치(104)를 통하여 소스 프로그램 생성, 열기, 편집, 저장 등의 명령을 입력하고, 입력된 정보는 소스 편집부(107)에 전달되어 개발자가 요구하는 내용들이 수행되어 타겟 시스템(100)의 출력장치(105)에 나타나게 된다.
예를 들면, 소스 프로그램을 수정한 후에 개발자가 입력장치(104)에서 소스 프로그램 저장 명령을 내리면, 소스 편집부(107)는 그와 같은 명령을 받고 현재 편집된 소스 프로그램을 타겟 시스템(100)의 저장 장치(103)에 저장한다. 성공적으로 저장된 경우에 그 결과에 따른 메시지가 타겟 시스템(100)의 출력장치(105)에 나타나고, 그 결과를 보고 개발자는 저장이 성공적으로 수행되었음을 인지한다.
타겟 시스템(100)의 프로젝트 관리 클라이언트부(101)는 호스트 시스템(120)의 프로젝트 관리 서버부(121)와 연동하여 소스 프로그램 개발자에게 프로젝트 관리 기능을 제공한다. 소스 프로그램 개발자는 타겟 시스템(100)의 입력장치(104)를 통하여, 프로젝트 관련 명령을 입력하고, 입력된 정보는 프로젝트 관리 클라이언트부(101)에 전달되어 개발자가 요구하는 내용들이 수행되고, 그 결과는 타겟 시스템(100)의 출력장치(105)에 전달된다.
예를 들면, 개발자가 입력 장치(104)를 통해 프로젝트 빌드 명령을 내리면, 프로젝트 관리 클라이언트부(101)는 해당 명령을 받고 호스트 시스템(120)의 프로젝트 관리 서버부(121)에게 프로젝트 정보를 전달하고 빌드를 요청한다.
타겟 시스템(100)으로부터 빌드 요청을 받은 호스트 시스템(120)의 프로젝트 관리 서버부(121)는 빌드를 수행한 후, 빌드 결과를 프로젝트 관리 클라이언트부(101)에게 전달하게 되며, 프로젝트 관리 클라이언트부(101)는 빌드 결과를 타겟 시스템(100)의 출력장치(105)에 출력하여, 개발자에게 빌드 결과를 알려준다.
타겟 시스템(100)의 프로젝트 관리 클라이언트부(101)는 호스트 시스템(120)의 프로젝트 관리 서버부(121)와 연동하기 위하여 프로젝트 관련 데이터 송수신을 수행한다. 프로젝트 관리 클라이언트부(101)는 타겟 시스템(100)의 통신장치(102)를 제어하여 호스트 시스템(120)의 프로젝트 관리 서버부(121)에게 데이터를 보내고, 프로젝트 관리 서버부(121)가 보낸 데이터를 받는다.
타겟 시스템(100)의 통신장치(102)는 유/무선 네트워크(110)를 통하여 호스트 시스템(120)의 통신장치(122)로 데이터를 보내거나 받는다.
상기 호스트 시스템(120)의 프로젝트 관리 서버부(121)는 타겟 시스템(100)에서 작성되어 호스트 시스템(120)으로 전송된 프로젝트와 소스 프로그램 정보를 저장장치(123)에 저장하고, 관련 정보를 크로스 컴파일부(124)에게 전달하여 소스 프로그램에 대한 빌드를 요청하게 된다.
상기 호스트 시스템(120)의 크로스 컴파일부(124)는 소스 프로그램을 빌드(크로스 컴파일 및 링크)하여 타겟 시스템(100)의 CPU(106)가 수행할 수 있는 실행 프로그램을 생성한 후 저장장치(123)에 저장하고, 컴파일 결과 메시지를 프로젝트 관리 서버부(121)에 전달한다.
상기 프로젝트 관리 서버부(121)는 크로스 컴파일부(124)에서 전달된 컴파일 메시지와 저장장치(123)에 저장된 실행 프로그램을 통신장치(122)를 통해 타겟 시스템(100)의 프로젝트 관리 클라이언트부(101)로 보낸다.
도 2는 소스 프로그램 개발자가 프로젝트 기반으로 소스 프로그램을 개발하는 과정을 나타낸다. 도 1에서 제시한 프로젝트 기반의 크로스 개발 환경 장치를 바탕으로 소스 프로그램 개발자는 도 2와 같은 과정으로 타겟 시스템(100)에서 소스 프로그램을 개발한다.
개발자는 도 2의 각 단계마다 타겟 시스템(100)의 입력 장치(104)를 통하여 명령을 내리고 프로젝트 관리 클라이언트부(101)와 소스 편집부(107)는 명령을 수행하여 그 결과를 타겟 시스템(100)의 출력장치(105)에 출력한다.
소스 프로그램 개발을 처음 시작하는 경우에, 소스 프로그램 개발자는 프로젝트 생성 단계(200)에서 새로운 프로젝트를 생성하고 프로젝트 수정 단계(220)로 이동한다. 그러나 이전에 했던 개발을 이어서 하는 경우에, 소스 프로그램 개발자는 프로젝트 열기 단계(210)에서 기존에 작업했던 프로젝트를 열고 프로젝트 수정 단계(220)로 이동한다.
프로젝트 생성 단계(200)에 대한 보다 자세한 내용은 도 3에서 설명되고, 프로젝트 열기 단계(210)에 대한 보다 자세한 내용은 도 4에서 설명된다.
프로젝트 수정 단계(220)는 프로젝트 정보 수정과 소스 프로그램 수정으로 이루어진다. 프로젝트 정보 수정은 프로젝트가 포함하는 소스 정보, 빌드 정보, 실행 정보의 수정을 행한다.
프로젝트 정보 수정에 있어서, 소스 정보 수정은 프로젝트 정보에 소스 파일의 추가/삭제 등을 행하는 것이고, 빌드 정보 수정은 프로젝트 빌드와 관련된 컴파일, 링크 옵션의 수정, 헤더 파일 디렉토리 추가/삭제, 라이브러리 파일 디렉토리 추가/삭제 등을 행하는 것이다. 실행 정보는 실행 환경 변수, 실행 인자 등의 수정을 행하는 것이다.
소스 프로그램 개발자가 타겟 시스템(100)의 입력장치(104)를 통하여 프로젝트 정보 수정 명령을 입력하면 프로젝트 관리 클라이언트부(101)는 타겟 시스템(100)의 출력장치(105)에 프로젝트 정보를 출력한다. 개발자가 출력장치(105)의 프로젝트 정보를 보면서 입력장치(104)를 통하여 수정 명령을 입력하면, 프로젝트 관리 클라이언트부(101)는 수정 명령을 처리하고 그 결과를 다시 출력장치(105)에 표시한다. 이와 같은 과정을 반복하면서 소스 프로그램 개발자는 프로젝트 정보를 수정하게 된다.
프로젝트 수정 단계(220)의 소스 프로그램 수정은 소스 프로그램 생성, 편집, 저장 등으로 구성된다. 소스 프로그램 생성은 새로운 소스 프로그램을 만드는 것이고, 소스 프로그램 편집은 소스 프로그램 작성을 하는 것이고, 소스 프로그램 저장은 작성된 소스 프로그램을 저장장치(103)에 저장하는 것이다.
소스 프로그램 개발자가 타겟 시스템(100)의 입력장치(104)를 통해 소스 프로그램 생성 명령을 입력하면, 그 생성 명령은 소스 편집부(107)에 전달되고, 소스 편집부(107)는 출력장치(105)에 소스 프로그램 개발자가 소스 프로그램을 작성할 수 있는 정보를 표시한다.
개발자는 타겟 시스템(100)의 출력장치(105)를 보면서 입력장치(104)를 통해 소스 프로그램 작성과 관련된 명령을 입력하고, 그 명령을 받은 소스 편집부(107)는 입력된 명령을 처리하여 그 결과를 출력장치(105)에 출력한다. 이와 같은 과정을 반복하면서 개발자는 소스 프로그램을 작성하게 된다. 소스 프로그램 작성이 완료되면 개발자는 입력장치(104)를 통하여 소스 프로그램 저장 명령을 입력하고, 소스 편집부(107)는 현재 작성된 소스 프로그램을 저장장치(103)에 저장한다.
프로젝트 수정 단계(220)가 끝나면 개발자는 프로젝트 빌드 단계(230)로 이동하여 프로젝트 빌드를 수행한다. 프로젝트 빌드 단계(230)에 대한 자세한 설명은 도 5 설명에 나타난다. 프로젝트 빌드 결과, 빌드 오류가 발생하면 다시 프로젝트 수정 단계(220)로 이동하여 프로젝트를 수정하고 프로젝트 빌드를 수행한다. 빌드가 성공한 경우에 개발자는 프로젝트 실행 단계(250)로 이동한다.
빌드가 성공한 경우에는 타겟 시스템(100)의 저장장치(103)에 실행 프로그램이 저장된다. 저장장치(103)의 실행 프로그램을 실행시키기 위하여, 개발자는 입력장치(104)를 통하여 프로젝트 실행 명령을 내리고, 명령을 받은 프로젝트 관리 클라이언트부(101)는 저장장치(103)의 실행 프로그램을 찾아 프로그램을 실행시킨다. 프로그램의 실행 결과는 출력장치(105)에 나타나고, 개발자는 출력 결과를 확인한다.
만약, 단계 250에서, 프로그램의 실행 오류가 발생하면, 다시 프로젝트 수정 단계(220)로 이동하여 프로젝트를 수정하고, 프로젝트 빌드, 실행을 진행한다. 단계 250에서 실행이 성공한 경우에는 프로젝트 닫기 단계(270)로 이동하여 현재 작업하던 프로젝트를 닫는다. 프로젝트 닫기 단계(270)에 대한 자세한 내용은 도 6 설명에 나타난다.
도 3은 도 2의 프로젝트 생성 단계(200)에 대한 상세한 방법을 설명하기 위한 순서도이다.
도면을 참조하면, 프로젝트 생성을 위하여 개발자는 타겟 시스템(100)의 입력장치(104)를 통하여 프로젝트 생성 명령을 입력하면, 프로젝트 관리 클라이언트부(101)는 출력장치(105)에 프로젝트 생성 정보를 입력받을 수 있는 환경을 출력하게 되며, 개발자는 출력장치(105)의 내용을 보면서, 입력장치(104)를 통하여 프로젝트 이름, 프로젝트 생성 디렉토리로 구성된 프로젝트 생성 정보를 입력한다(300).
타겟 시스템(100)의 입력장치(104)를 통해 프로젝트 생성 정보가 입력되면, 프로젝트 관리 클라이언트부(101)는 입력장치(104)로부터 받은 프로젝트 이름과 디렉토리를 근거로 생성하고자 하는 프로젝트가 호스트 시스템(120)에 존재하는지를 요청한다(301).
프로젝트 관리 클라이언트부(101)는 생성하고자 하는 프로젝트 이름, 프로젝트 디렉토리, 프로젝트 존재 요청 명령을 메시지로 만들어 통신장치(102)를 통해 호스트 시스템(120)으로 전달한다.
호스트 시스템(120)의 프로젝트 관리 서버부(121)는 타겟 시스템(100)으로부터 전달받은 메시지를 분석하여 프로젝트 이름, 프로젝트 디렉토리를 추출하고, 이와 같은 정보를 바탕으로 호스트 시스템(120)의 저장장치(123)에 해당 프로젝트가 존재하는지를 검사한다(302).
프로젝트 관리 서버부(121)는 프로젝트 존재 유무 정보를 포함하는 메시지를 작성하여 통신장치(122)를 통해 타겟 시스템(100)의 프로젝트 관리 클라이언트부(101)에 전달한다.
메시지를 받은 타겟 시스템(100)의 프로젝트 관리 클라이언트부(101)는 메시지 정보를 분석하여 호스트 시스템(120)에 프로젝트가 존재하면, 프로젝트 관리 클라이언트부(101)는 타겟 시스템(100)의 출력장치(105)에 호스트 시스템(120)에 프로젝트가 존재함을 알린다(303).
개발자는 출력장치(105)를 통해 프로젝트가 존재함을 확인한 후에, 다시 프로젝트 생성 정보 입력 단계(300)로 이동하여 프로젝트 생성 정보를 변경한 후 다음 프로젝트 생성을 진행한다.
만약, 단계 302에서, 호스트 시스템(120)에 프로젝트가 존재하지 않으면, 프로젝트 관리 클라이언트부(101)는 프로젝트 이름과 프로젝트 디렉토리를 바탕으로 타겟 시스템(100)의 저장장치(103)에 프로젝트 이름과 디렉토리 정보만을 포함하는 빈 프로젝트를 만들어 저장하고, 타겟 시스템(100)의 출력장치(105)에 프로젝트가 생성되었음을 알리고 생성된 프로젝트 정보를 출력한다(304-305).
도 4는 도 2의 프로젝트 열기 단계(210)에 대한 방법을 설명하기 위한 순서도이다.
도면을 참조하면, 프로젝트를 열기 위하여 소스 프로그램 개발자가 타겟 시스템(100)의 입력장치(104)를 통해 열기 명령을 입력하게 되면, 프로젝트 관리 클라이언트부(101)는 출력장치(105)에 프로젝트 열기 정보를 입력받을 수 있는 환경을 출력하게 되고, 개발자는 출력장치(105)의 내용을 보면서 입력장치(104)에 열고자 하는 프로젝트 경로 명을 입력한다(410).
여기서, 프로젝트 경로 명은 호스트 시스템(120)의 저장장치(123) 또는 타겟 시스템(100)의 저장장치(103)에 저장되는 프로젝트들을 구분하는 이름을 말한다.
프로젝트 경로 명이 입력되면, 프로젝트 관리 클라이언트부(101)는 입력장치(104)를 통해 입력된 프로젝트 경로 명에 대응하는 프로젝트가 저장장치(103)에 존재하는지를 검사한다(411).
단계 411에서, 입력장치(104)를 통해 입력된 프로젝트 명이 저장장치(103)에 존재하면, 프로젝트 관리 클라이언트부(101)는 저장장치(103)에 존재하는 프로젝트 정보를 읽고, 읽혀진 프로젝트 정보를 출력장치(105)를 통해 출력한다(412-413).
반대로, 입력된 프로젝트 경로 명이 저장장치(103)에 존재하지 않으면, 프로젝트 관리 클라이언트부(101)는 프로젝트 경로 명, 프로젝트 정보 및 소스 프로그램 요청 명령을 메시지로 묶어 통신장치(102)를 통해 호스트 시스템(120)의 프로젝트 관리 서버부(121)에 전달한다(414).
프로젝트 관리 서버부(121)는 타겟 시스템(100)으로부터 전달된 메시지를 분석하여, 프로젝트 경로 명을 추출하고, 호스트 시스템(120)의 저장장치(123)에 해당 경로명의 프로젝트가 존재하는 지를 검사한다(415).
만일, 단계 415에서, 호스트 시스템(120)의 저장장치(123)에 프로젝트 경로 명이 존재한다면 저장장치(123)로부터 프로젝트 정보를 읽고, 프로젝트 정보에 포함된 소스 정보로부터 소스 프로그램을 읽어서 프로젝트 정보와 소스 프로그램 정보를 메시지로 타겟 시스템(100)으로 전달한다(416).
상기 타겟 시스템(100)의 프로젝트 관리 클라이언트부(101)는 호스트 시스템(120)으로부터 전달된 메시지를 분석하여 그 메시지에 담겨진 프로젝트 정보와 소스 프로그램 정보를 타겟 시스템(100)의 저장장치(103)에 저장하고, 그리고 타겟에서 프로젝트 열기 단계(412)로 이동하여 프로젝트 열기 과정을 진행한다(417).
반대로, 단계 415에서, 호스트 시스템(120)의 저장장치(123)에 프로젝트 경로 명이 존재하지 않는다면, 프로젝트 관리 서버부(121)는 호스트 시스템(120)에 해당 프로젝트가 존재하지 않음을 메시지로 묶어 통신장치(122)를 통해 타겟 시스템(100)의 프로젝트 관리 클라이언트부(101)로 전달하고, 출력장치(105)에 프로젝트가 존재하지 않음을 표시한다(418-419).
출력장치(105)로부터 프로젝트가 존재하지 않음을 확인한 개발자는 다시 프로젝트 열기 정보 입력 단계(410)로 이동하여 다른 프로젝트 경로 명을 입력하여 프로젝트 열기 과정을 진행한다.
도 5는 본 발명에 따른 도 2의 프로젝트 빌드 단계(230)에 대한 방법을 설명하기 위한 순서도이다.
도면을 참조하면, 소스 프로그램 개발자는 타겟 시스템(100)의 입력장치(104)를 통하여 빌드 명령을 입력한다(530).
명령을 받은 프로젝트 관리 클라이언트부(101)는 현재 작업중인 프로젝트 정보, 소스 프로그램 정보와 빌드 명령을 메시지로 만들어 통신장치(102)를 통해 호스트 시스템(120)으로 전달하고 빌드 요청한다(531).
호스트 시스템(120)의 프로젝트 관리 서버부(121)는 타켓 시스템(100)으로부터 전달된 메시지를 분석하여 프로젝트 정보와 소스 프로그램 정보를 추출하여 호스트 시스템(120)의 저장장치(123)에 저장하고, 프로젝트 정보로부터 소스 프로그램 빌드에 필요한 빌드 정보를 추출한다(532-533).
빌드 정보는 컴파일 옵션, 링크 옵션, 헤더 파일, 라이브러리 파일 디렉토리 등의 정보이다. 추출된 빌드 정보와 소스 프로그램 정보를 크로스 컴파일부(124)에 전달한다.
크로스 컴파일부(124)는 컴파일 옵션, 헤더 파일 디렉토리 등의 빌드 정보를 바탕으로 크로스 컴파일을 수행함과 동시에 컴파일 오류가 발생하는지 검출한다(534-535).
단계 535에서, 컴파일에 오류가 발생하면 호스트 시스템(120)의 크로스 컴파일부(124)는 그 오류 내용을 메시지로 만들어 통신장치(122)를 통해 타겟 시스템(100)의 프로젝트 관리 클라이언트부(101)에 전달하고, 상기 프로젝트 관리 클라이언트부(101)는 오류 내용을 추출하여 출력장치(105)를 통해 출력한다(541-542).
반대로, 단계 535에서 크로스 컴파일의 오류를 검출한 결과, 크로스 컴파일이 성공한 경우에는 각 소스 프로그램에 대응하는 목적 프로그램이 생성되어 호스트 시스템(120)의 저장장치(123)에 저장되고, 빌드 정보의 링크 옵션, 라이브러리 파일 디렉토리 등의 링크 정보를 바탕으로 크로스 링크를 수행하고, 링크를 수행하는 과정중에 링크 오류가 발생하는지 검출한다(536-537).
여기서, 링크는 호스트 시스템(120)의 저장장치(123)에 컴파일된 목적 프로그램들을 링크시켜 하나의 실행 프로그램으로 만드는 과정을 말한다.
단계 537에서 판단결과, 링크 오류가 발생한 경우에는 오류 내용을 메시지로 만들어 타겟 시스템(100)의 프로젝트 관리 클라이언트부(101)에 전달하고, 프로젝트 관리 클라이언트부(101)는 오류 내용을 추출하여 출력장치에 출력한다(541-542).
단계 537에서 판단결과, 링크가 성공한 경우에는 호스트 시스템(120)의 저장장치(123)에 저장된 실행 프로그램을 메시지로 만들어 타겟 시스템(100)의 프로젝트 관리 클라이언트부(101)에 전달하고, 전달 받은 메시지로부터 실행 프로그램을 추출하여 타겟 시스템(100)의 저장장치(103)에 저장한 후 출력장치(105)에 빌드가 성공했음을 알린다(538-540).
도 6은 본 발명에 따른 프로젝트 닫기 단계(270)를 설명하기 위한 순서도이다.
도면을 참조하면, 소스 개발자가 타겟 시스템(100)의 입력장치(104)를 통하여 프로젝트 닫기 명령을 입력하면(670), 명령을 받은 프로젝트 관리 클라이언트부(101)는 작업중인 프로젝트 정보와 소스 프로그램 정보를 저장장치(103)에 저장한다(671).
그리고 프로젝트 관리 클라이언트부(101)는 프로젝트 정보, 소스 프로그램 정보와 닫기 명령을 메시지로 묶어 통신장치(102)를 통해 호스트 시스템(120)의 프로젝트 관리 서버부(121)에 전달한다(672).
메시지를 받은 호스트 시스템(120)의 프로젝트 관리 서버부(121)는 타겟 시스템(100)에서 전달된 메시지로부터 프로젝트 정보와 소스 프로그램 정보를 추출하여 저장장치(123)에 저장한다(673).
그리고 저장 성공 내용을 메시지로 만들어 타겟 시스템(100)의 프로젝트 관리 클라이언트부(101)에 전달하고, 프로젝트 관리 클라이언트부(101)는 성공 메시지를 출력장치(105)에 출력한다(674).
저장 성공 메시지를 받은 프로젝트 관리 클라이언트부(101)는 출력장치(105)로부터 현재 출력되는 프로젝트 정보를 모두 삭제하고, 프로젝트 생성 또는 열기 이전의 화면상태로 복귀한다(675).
이상에서 설명한 바와 같이 본 발명에 따르면, 타겟 시스템에서 소스 프로그램을 편집하고, 호스트 시스템에서 소스 프로그램 빌드를 수행하기 때문에, 타겟 시스템을 항상 호스트 시스템 가까이에 고정시키지 않아도 된다.
또한 소스 프로그램의 빌드는 타겟 시스템이 아닌 호스트 시스템에서 수행되기 때문에 빌드 환경을 타겟 시스템에 갖추는 것보다 소스 프로그램 빌드 시간을 단축시키고, 타겟 시스템의 메모리 사용량을 줄일 수 있다.
더욱이 이동성을 갖는 PDA와 같은 타겟 시스템에서 이동성과 관련된 응용 프로그램을 개발할 때, 테스트를 위하여 이동하면서 오류가 발생한 경우에 타겟 시스템에서 직접 소스 프로그램을 수정하여 테스트할 수 있으므로, 개발자에게 개발의 편의성을 제공하고 개발 시간을 단축시킬 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명의 타겟 시스템 중심의 소스 프로그램 개발 환경을 보인 시스템 블록도,
도 2는 본 발명에 따라 프로젝트 기반의 소스 프로그램 개발 주기를 나타내는 순서도,
도 3은 본 발명에 의한 프로젝트 기반 소스 프로그램 개발 주기에서 프로젝트 생성 방법을 보여주는 순서도,
도 4는 본 발명에 의한 프로젝트 기반 소스 프로그램 개발 주기에서 프로젝트 열기 방법을 보여주는 순서도,
도 5는 본 발명에 의한 프로젝트 기반 소스 프로그램 개발 주기에서 프로젝트 빌드 방법을 보여주는 순서도,
도 6은 본 발명에 의한 프로젝트 기반 소스 프로그램 개발 주기에서 프로젝트 닫기 방법을 보여주는 순서도.
*도면의 주요 부분에 대한 부호의 설명*
100;타겟 시스템 101;프로젝트 관리 클라이언트부
103;저장장치 104;입력장치
105;출력장치 106;CPU
107;소스 편집부 120;호스트 시스템
121;프로젝트 관리 서버부 122;통신장치
123;저장장치 124;크로스 컴파일부
Claims (9)
- 호스트 시스템과 타겟 시스템으로 구성되는 크로스 개발 환경에서 소스 프로그램을 개발하기 위한 장치에 있어서,상기 타겟 시스템은저장장치,입력장치,출력장치,상기 입력장치를 통해 입력된 소스 프로그램 작성과 관련한 소스 프로그램 생성, 열기, 편집, 저장명령을 저장하고 출력장치를 통해 표시하는 소스 편집부 및상기 입력, 출력장치 및 호스트 시스템과 연동하여 프로젝트 생성, 열기, 수정, 빌드, 실행, 닫기 등의 기능을 수행하고, 상기 프로젝트 정보와 관련하여 데이터 송수신 및 정보저장을 제어하는 프로젝트 관리 클라이언트부를 포함하고;상기 호스트 시스템은저장장치,소스 프로그램을 빌드(크로스 컴파일 및 링크)하여 상기 타겟 시스템에서 실행할 수 있는 실행 프로그램을 생성한 후 저장장치에 저장하고, 컴파일 결과 메시지를 프로젝트 관리 서버부에 전달하는 크로스 컴파일부 및상기 타겟 시스템과 연동하여 프로젝트 정보와 소스 프로그램을 상기 호스트 시스템의 저장장치에 저장하고, 상기 크로스 컴파일부와 연동하여 소스 프로그램의 빌드(컴파일 및 링크) 기능을 수행하는 프로젝트 관리 서버부를 포함하는 것에 의해 소스 프로그램 개발자가 타겟 시스템에서 소스 프로그램을 개발할 수 있도록 하는 것을 특징으로 하는 타겟 시스템 기반 소스 프로그램 개발장치.
- 제 1항에 있어서, 상기 타겟 시스템은PDA와 같이 휴대 가능한 장치에 구현되어 상기 호스트 시스템과 원거리에서도 프로그램 개발과 수정이 가능하도록 된 것을 특징으로 하는 타겟 시스템 기반 소스 프로그램 개발장치.
- 호스트 시스템과 타겟 시스템으로 구성되는 크로스 개발 환경에서 소스 프로그램을 개발하기 위한 방법에 있어서,상기 타겟 시스템에서 프로젝트를 생성하거나 기존 프로젝트를 여는 프로젝트 생성 또는 열기 단계;상기 생성 또는 열기에 의한 프로젝트를 수정하는 프로젝트 수정 단계;상기 수정된 프로젝트를 상기 호스트 시스템에서 빌드하는 프로젝트 빌드 단계;상기 빌드된 실행 프로그램을 상기 타겟 시스템에서 실행하는 프로젝트 실행 단계; 및상기 프로젝트를 닫는 프로젝트 닫기 단계;를 포함하는 것을 특징으로 하는 타겟 시스템 기반 소스 프로그램 개발방법.
- 제 3항에 있어서, 상기 프로젝트 생성 단계는소스 프로그램 개발자가 상기 타겟 시스템의 입력장치를 통하여 프로젝트 생성 정보를 입력하는 단계;상기 입력된 정보를 바탕으로 상기 호스트 시스템의 프로젝트 관리 서버부로 프로젝트 존재 유무를 요청하는 단계;호스트 시스템에 프로젝트가 존재하는 경우, 상기 프로젝트 관리 클라이언트부에 의해 프로젝트가 존재함을 타겟 시스템의 출력장치에 출력하고, 프로젝트가 존재하지 않는 경우 프로젝트 생성 정보를 바탕으로 타겟 시스템의 저장장치에 프로젝트 정보를 생성하여 저장하는 단계; 및상기 프로젝트 관리 클라이언트부가 생성된 프로젝트 정보를 타겟 시스템의 출력장치에 출력하는 단계;를 포함하는 것을 특징으로 하는 타겟 시스템 기반 소스 프로그램 개발방법.
- 제 3항에 있어서, 상기 프로젝트 열기 단계는소스 프로그램 개발자가 상기 타겟 시스템의 입력장치를 통하여 프로젝트 열기 정보를 입력하는 단계;프로젝트 관리 클라이언트부가 상기 프로젝트 열기 정보로부터 타겟 시스템의 프로젝트 존재 유무를 검사하는 단계;상기 단계에서 프로젝트가 존재하지 않는 경우에 상기 프로젝트 관리자 클라이언트부가 상기 호스트 시스템에 프로젝트 정보를 요청하는 단계;상기 호스트 시스템의 프로젝트 관리 서버부가 상기 타겟 시스템으로부터 받은 프로젝트 열기 정보로부터 호스트 시스템의 저장장치로부터 프로젝트 정보를 읽어 상기 타겟 시스템에 전달하는 단계;상기 프로젝트 관리 클라이언트부가 상기 호스트 시스템으로부터 받은 프로젝트 정보를 타겟 시스템의 저장장치에 저장하는 단계;상기 프로젝트 관리 클라이언트부가 프로젝트 열기 정보에 따라 상기 타겟 시스템의 저장장치로부터 프로젝트를 여는 단계; 및상기 프로젝트 정보를 타겟 시스템의 출력 장치에 출력하는 단계;를 포함하는 것을 특징으로 하는 타겟 시스템 기반 소스 프로그램 개발방법.
- 제 3항에 있어서, 상기 프로젝트 수정 단계는소스 프로그램 개발자가 상기 타겟 시스템의 입력, 출력장치를 통하여 상기 프로젝트 정보가 포함하는 소스, 빌드, 실행 정보를 수정하는 단계; 및상기 소스 프로그램 개발자가 상기 타겟 시스템의 입력, 출력장치 및 소스 편집부를 통하여 소스 프로그램 생성, 편집, 저장 등의 소스 프로그램을 수정하고 수정된 내용을 상기 타겟 시스템의 저장장치에 저장하는 단계;를 포함하는 것을 특징으로 하는 타겟 시스템 기반 소스 프로그램 개발방법.
- 제 3항에 있어서, 상기 프로젝트 빌드 단계는소스 프로그램 개발자가 타겟 시스템의 입력장치를 통하여 프로젝트 빌드 명령을 내리는 단계;상기 타겟 시스템의 프로젝트 관리 클라이언트부가 프로젝트 정보와 수정된 소스 프로그램을 상기 호스트 시스템에 전달하고 빌드 요청하는 단계;상기 호스트 시스템의 프로젝트 관리 서버부가 상기 타겟 시스템으로부터 받은 수정된 소스 프로그램과 프로젝트 정보를 호스트 시스템의 저장장치에 저장하는 단계;상기 프로젝트 관리 서버부가 프로젝트 정보와 상기 호스트 시스템의 저장장치의 소스 프로그램을 바탕으로 크로스 컴파일부와 연동하여 프로젝트를 빌드하는 단계;상기 프로젝트 관리 서버부가 빌드 메시지와 빌드된 실행 프로그램을 상기 타겟 시스템에 전달하는 단계; 및상기 프로젝트 관리자 클라이언트가 상기 호스트 시스템으로부터 받은 빌드 메시지를 상기 타겟 시스템의 출력장치에 출력하고 빌드된 실행 프로그램을 타겟 시스템의 저장장치에 저장하는 단계;를 포함하는 것을 특징으로 하는 타겟 시스템 기반 소스 프로그램 개발방법.
- 제 3항에 있어서, 상기 프로젝트 실행 단계는소스 프로그램 개발자가 타겟 시스템의 입력장치를 통하여 프로젝트 실행 명령을 내리는 단계;프로젝트 관리 클라이언트부가 타겟 시스템의 저장장치에 저장된 실행 프로그램을 실행하는 단계; 및실행 결과를 타겟 시스템의 출력장치에 출력하고, 소스 프로그램 개발자가 결과를 확인하는 단계;를 포함하는 것을 특징으로 하는 타겟 시스템 기반 소스 프로그램 개발방법.
- 제 3항에 있어서, 상기 프로젝트 닫기 단계는소스 프로그램 개발자가 타겟 시스템의 입력장치를 통하여 프로젝트 닫기 명령을 내리는 단계;프로젝트 관리 클라이언트부가 프로젝트 정보를 타겟 시스템의 저장장치에 저장하는 단계;상기 프로젝트 정보와 수정된 소스 프로그램을 상기 호스트 시스템에 보내어 프로젝트 닫기를 요청하는 단계;프로젝트 관리 서버부가 상기 타겟 시스템으로부터 받은 프로젝트 정보와 수정된 소스 프로그램을 호스트 시스템의 저장장치에 저장하고, 상기 타겟 시스템에 프로젝트 닫기가 성공했음을 알리는 단계;상기 프로젝트 관리 클라이언트부가 상기 타겟 시스템의 출력 장치에 프로젝트 닫기 성공 메시지를 출력하는 단계; 및상기 프로젝트 관리 클라이언트부가 상기 타겟 시스템의 출력장치로부터 프로젝트 정보를 삭제하는 단계;를 포함하는 것을 특징으로 하는 타겟 시스템 기반 소스 프로그램 개발방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030061709A KR100546742B1 (ko) | 2003-09-04 | 2003-09-04 | 타겟 시스템 기반 소스 프로그램 개발장치 및 방법 |
JP2003380455A JP2005085255A (ja) | 2003-09-04 | 2003-11-10 | ターゲットシステム基盤のソースプログラム開発装置及び方法 |
US10/703,529 US20050055665A1 (en) | 2003-09-04 | 2003-11-10 | System and method for developing target application on target system in cross development environment |
EP03025741A EP1536322A3 (en) | 2003-09-04 | 2003-11-10 | System and method for developing target application on target system in cross development environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030061709A KR100546742B1 (ko) | 2003-09-04 | 2003-09-04 | 타겟 시스템 기반 소스 프로그램 개발장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050024827A true KR20050024827A (ko) | 2005-03-11 |
KR100546742B1 KR100546742B1 (ko) | 2006-01-26 |
Family
ID=34225408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030061709A KR100546742B1 (ko) | 2003-09-04 | 2003-09-04 | 타겟 시스템 기반 소스 프로그램 개발장치 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20050055665A1 (ko) |
EP (1) | EP1536322A3 (ko) |
JP (1) | JP2005085255A (ko) |
KR (1) | KR100546742B1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100669242B1 (ko) * | 2004-12-15 | 2007-01-15 | 한국전자통신연구원 | 크로스 개발 환경에서의 임베디드 소프트웨어 최적화 및분석을 위한 장치 및 방법 |
KR100751153B1 (ko) * | 2006-03-10 | 2007-08-22 | 엘지전자 주식회사 | 방송 신호 수신기의 기능 테스트를 위한 빌드버전 생성장치및 방법 |
KR100860991B1 (ko) * | 2007-01-25 | 2008-09-30 | 삼성전자주식회사 | 미디어 컴포넌트 빌드 방법 및 장치와 그에 사용되는컴퓨터 판독가능 저장매체 |
KR100886616B1 (ko) * | 2008-07-28 | 2009-03-05 | (주)레이풀시스템 | 자동 문서관리 시스템 및 그 방법 |
KR100953094B1 (ko) * | 2007-12-11 | 2010-04-19 | 한국전자통신연구원 | 호스트 소프트웨어 관리 시스템 및 방법 |
KR20160000761A (ko) * | 2014-06-25 | 2016-01-05 | 주식회사 포워드벤처스 | 소스 관리 장치, 시스템 및 방법, 컴퓨터 판독 가능한 기록 매체 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004272439A (ja) * | 2003-03-06 | 2004-09-30 | Konica Minolta Holdings Inc | ディレクトリ検索方法、ディレクトリ検索装置、記憶媒体及びプログラム |
US7558810B2 (en) * | 2004-05-21 | 2009-07-07 | Computer Associates Think, Inc. | System and method for managing a path environment variable |
US20060282815A1 (en) * | 2005-06-09 | 2006-12-14 | Finite State Machine Labs, Inc. | System, method and computer program product for developing, configuring, installing and testing software |
CN100442234C (zh) * | 2005-06-21 | 2008-12-10 | 国际商业机器公司 | 用于嵌入式系统的软件包构建方法和系统 |
US7747652B2 (en) * | 2006-01-04 | 2010-06-29 | Microsoft Corporation | Structured data storage |
US8453104B2 (en) * | 2006-10-27 | 2013-05-28 | Microsoft Corporation | Thin client software development environment |
US8117587B1 (en) | 2008-06-03 | 2012-02-14 | Richard Paul Testardi | Microcontroller-resident software development environment supporting application-level asynchronous event handling, interactive debugging and pin variables for embedded systems |
JP2010061538A (ja) * | 2008-09-05 | 2010-03-18 | Toshiba Tec Corp | プログラム開発装置及び方法並びにクロス開発用プログラム |
US8549491B2 (en) | 2008-12-05 | 2013-10-01 | Electronics And Telecommunications Research Institute | Apparatus and method for application testing of embedded system |
CN102667717A (zh) * | 2009-12-21 | 2012-09-12 | 诺基亚公司 | 用于编译的方法、装置和系统 |
US9116778B2 (en) | 2010-04-29 | 2015-08-25 | Microsoft Technology Licensing, Llc | Remotable project |
US8819636B2 (en) * | 2010-06-23 | 2014-08-26 | Hewlett-Packard Development Company, L.P. | Testing compatibility of a computer application |
CN102955698A (zh) * | 2012-11-26 | 2013-03-06 | 中国联合网络通信集团有限公司 | 基于多终端的软件开发的处理方法和装置 |
CN103761087B (zh) * | 2014-01-03 | 2016-10-12 | 北京京东尚科信息技术有限公司 | 一种移动应用程序跨平台开发方法及装置 |
CN106406913B (zh) * | 2016-10-28 | 2020-01-03 | 武汉斗鱼网络科技有限公司 | 一种从项目中提取代码的方法及系统 |
CN110162324B (zh) * | 2019-06-03 | 2023-07-11 | 南方电网科学研究院有限责任公司 | 直流控制保护设备中的可执行代码更新方法、装置及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5287515A (en) * | 1988-10-24 | 1994-02-15 | Kabushiki Kaisha Toshiba | Cross-software development/maintenance system |
US5574898A (en) * | 1993-01-08 | 1996-11-12 | Atria Software, Inc. | Dynamic software version auditor which monitors a process to provide a list of objects that are accessed |
US5881289A (en) * | 1996-11-26 | 1999-03-09 | Hewlett-Packard Company | Remote compiling of source code for cross development |
SE9904646D0 (sv) * | 1999-12-17 | 1999-12-17 | Ericsson Telefon Ab L M | A mtehod in a software controlled system |
US7032219B2 (en) * | 2000-02-25 | 2006-04-18 | Wind River Systems, Inc. | System and method for implementing a project facility |
-
2003
- 2003-09-04 KR KR1020030061709A patent/KR100546742B1/ko not_active IP Right Cessation
- 2003-11-10 JP JP2003380455A patent/JP2005085255A/ja active Pending
- 2003-11-10 EP EP03025741A patent/EP1536322A3/en not_active Withdrawn
- 2003-11-10 US US10/703,529 patent/US20050055665A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100669242B1 (ko) * | 2004-12-15 | 2007-01-15 | 한국전자통신연구원 | 크로스 개발 환경에서의 임베디드 소프트웨어 최적화 및분석을 위한 장치 및 방법 |
KR100751153B1 (ko) * | 2006-03-10 | 2007-08-22 | 엘지전자 주식회사 | 방송 신호 수신기의 기능 테스트를 위한 빌드버전 생성장치및 방법 |
KR100860991B1 (ko) * | 2007-01-25 | 2008-09-30 | 삼성전자주식회사 | 미디어 컴포넌트 빌드 방법 및 장치와 그에 사용되는컴퓨터 판독가능 저장매체 |
KR100953094B1 (ko) * | 2007-12-11 | 2010-04-19 | 한국전자통신연구원 | 호스트 소프트웨어 관리 시스템 및 방법 |
KR100886616B1 (ko) * | 2008-07-28 | 2009-03-05 | (주)레이풀시스템 | 자동 문서관리 시스템 및 그 방법 |
KR20160000761A (ko) * | 2014-06-25 | 2016-01-05 | 주식회사 포워드벤처스 | 소스 관리 장치, 시스템 및 방법, 컴퓨터 판독 가능한 기록 매체 |
Also Published As
Publication number | Publication date |
---|---|
US20050055665A1 (en) | 2005-03-10 |
EP1536322A2 (en) | 2005-06-01 |
JP2005085255A (ja) | 2005-03-31 |
EP1536322A3 (en) | 2007-01-03 |
KR100546742B1 (ko) | 2006-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100546742B1 (ko) | 타겟 시스템 기반 소스 프로그램 개발장치 및 방법 | |
CN109918055B (zh) | 一种应用程序的生成方法及设备 | |
CN100442234C (zh) | 用于嵌入式系统的软件包构建方法和系统 | |
US20100281463A1 (en) | XML based scripting framework, and methods of providing automated interactions with remote systems | |
CN111740948B (zh) | 数据包发布方法、动态更新方法、装置、设备及介质 | |
US20110078667A1 (en) | Static code analysis for packaged application customization | |
CN110716720A (zh) | 一种实现应用热部署的方法和装置 | |
KR101487176B1 (ko) | 분리 실행 기반의 컨텐츠용 코드 블록 제공 시스템, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록매체 | |
CN109032631A (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
CN101866315A (zh) | 软件开发工具的测试方法及系统 | |
CN107608663A (zh) | 一种移动应用插件及移动应用的开发方法及装置 | |
CN112052007A (zh) | 源码调试方法、装置、服务器及存储介质 | |
CN112965721B (zh) | 基于Android的项目编译方法、装置、计算机设备及存储介质 | |
CN116166907B (zh) | 一种使用WebAssembly和服务页面编译技术开发Web应用的方法及装置 | |
KR101442000B1 (ko) | 분리 실행 기반의 컨텐츠 등록 서버, 그 방법 및 그 방법을 수행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 | |
CN113918198B (zh) | 一种模型-代码同步方法 | |
CN115022312A (zh) | 多智能合约引擎的实现方法、装置、电子设备及存储介质 | |
KR100866546B1 (ko) | 센서 노드용 소프트웨어 개발 시스템 및 방법 | |
KR101249449B1 (ko) | 웹 플랫폼 검증 도구 생성 장치 및 그 제어방법 | |
CN112363708B (zh) | 一种支持Eclipse工具下的上下文保护方法及系统 | |
CN116991380B (zh) | 一种应用程序的构建方法、装置、电子设备及存储介质 | |
CN112000334B (en) | Page development method, device, server and storage medium | |
WO2022205013A1 (zh) | 程序数据包生成方法、装置、设备及存储介质 | |
CN116954619A (zh) | 一种代码生成方法、装置、电子设备和存储介质 | |
CN118170385A (zh) | 一种代码编译方法、装置、电子设备和存储介质 |
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: 20110104 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |