JP2005085255A - ターゲットシステム基盤のソースプログラム開発装置及び方法 - Google Patents

ターゲットシステム基盤のソースプログラム開発装置及び方法 Download PDF

Info

Publication number
JP2005085255A
JP2005085255A JP2003380455A JP2003380455A JP2005085255A JP 2005085255 A JP2005085255 A JP 2005085255A JP 2003380455 A JP2003380455 A JP 2003380455A JP 2003380455 A JP2003380455 A JP 2003380455A JP 2005085255 A JP2005085255 A JP 2005085255A
Authority
JP
Japan
Prior art keywords
project
target system
source program
information
host system
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.)
Pending
Application number
JP2003380455A
Other languages
English (en)
Inventor
Duk Kyun Woo
ダクキュン ウ
Kyoungtae Woo
キョンテ ウ
Chae Deok Lim
チェドク リン
Seung Min Park
スンミン パク
Heung Nam Kim
フンナム キム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
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 Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of JP2005085255A publication Critical patent/JP2005085255A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Abstract

【課題】 ホストターゲットで構成されるクロス開発環境においてソースプログラムの開発者がターゲットシステムで直接ソースプログラムを開発することのできる開発環境を提供する。
【解決手段】 ソースの開発者はターゲットシステムでソースプログラムを作成し、作成されたソースプログラムはホストシステムに伝送されクロスコンパイル部を通じてクロスコンパイルされる。コンパイルされた実行プログラムは再びターゲットシステムに伝送され実行される。ソースの編集―コンパイル―実行はプロジェクト基盤として進行される。ターゲットシステムのソースの編集部はソースの編集機能を提供し、プロジェクト管理のクライアント部はホストシステムのプロジェクト管理のサーバー部と連動してプロジェクトの生成、開き、ビルド、実行などのプロジェクトの管理機能を提供する。ホストシステムのクロスコンパイル部はソースプログラムのクロスコンパイル機能を提供する。
【選択図】 図1

Description

本発明はクロス開発環境において、エムべデッドシステムのソースプログラムを開発するための装置及びその方法に関するものであって、詳しくはホストターゲットで構成されるクロス開発環境において、エムべデッドシステムのソースプログラムを開発するため、ターゲットシステムで直接ソースプログラムが開発できる装置と方法に関するものである。
クロス開発環境とは、ホストシステムとターゲットシステムとがネットワークで繋がっている状態のホストシステムにおいて、ターゲットシステムのソースプログラムを開発することのできる環境のことをいうものであって、ホストシステムは、デスクトップPC又はワークステーションのような使用者たちが手軽く使える汎用のコンピュータシステムであり、ターゲットシステムは、ホストシステムとは異なって特殊な機能を遂行するエムべデッドシステムのことをいう。
例えば、家庭で使うテレビ、冷蔵庫にコンピュータシステムが内蔵され既存のテレビと冷蔵庫の機能を持ちながら、ネットワークを介してのインターネットの接続等のような機能を持たせることができる。エムべデッドシステムはテレビ、冷蔵庫等のような家電製品のみならず、携帯電話、PDA、ウェブパッドのような簡単に携帯することのできる機器を含み、コンピュータシステムが内蔵された全ての機器のことをいう。
エムべデッドシステム等はCPUとメモリを備えコンピュータシステムが行える演算及びデータ処理等の機能を遂行することができるが、速い演算と多量のデータ処理が主な目的ではないので、ホストシステムのCPUとメモリよりは性能と貯蔵容量が些か足りなくても良い。そのため、安価のCPUとメモリを使うことになる。このような理由でエムべデッドシステムで遂行されるソースプログラムの開発は、エムべデッドシステムよりもっと性能の優秀なホストシステムで行われている。
エムべデッドソースプログラムの開発者は、ホストシステムでソースプログラムを作成し、作成されたソースプログラムをクロスコンパイルして実行プログラムを作る。そして実行プログラムをターゲットシステムにダウンロードして実行させることになり、開発者はこのような過程を繰り返しながらエムべデッドソースプログラムの開発を完成することになる。
このような従来のクロス開発環境では、全ての開発がホストシステムで行われており、ターゲットシステムは実行結果を確認するためにホストシステムの近くに固定された状態で位置する。しかし、PDAのように移動性を持つターゲットシステムで移動性に係る応用プログラムを開発する過程においては、従来のクロス開発環境は開発時間の増大と開発環境の不便さをもたらすこともある。
例えば、道路で実時間で道路の位置情報を出力するPDA用のソースプログラムの開発を仮定する場合に、このようなソースプログラムの開発の大部分は事務室があるホストシステムで行われており、実際の状況でのテストのために道路でPDAを移動しながらテストする過程でプログラムエラーが生ずることもある。この時、最悪の場合には再び事務室に移動してソースプログラムを修正した後、また道路に移動してテストしなければならない。このような状況はソースプログラムの開発時間をおびただしく無駄使いすることであり、開発者が移動中プログラムエラーに対するソースプログラムを直ちに修正してテストすることのできない開発環境の不便さをもたらすこともある。
本発明の目的は、従来のエムべデッドソフトウェアの開発環境でホストシステムとターゲットシステムとの間のクロス開発環境を維持しながら、PDAのようなターゲットシステムでターゲットシステムのソースプログラムを直接開発できる装置と方法を提供することにある。
本発明の別の目的は、ホストシステムで開発された実行プログラムをPDAのようなターゲットシステムを移動しながらテストする過程でプログラムのエラーが生じた場合に、再びホストシステムでソースプログラムを修正しないで、ターゲットシステムで直接ソースプログラムを修正、コンパイル、実行できる装置と方法を提供することにある。
本発明はターゲットシステムでソースプログラムを編集できる装置を設け、ターゲットシステムソースプログラムを修正して、修正されたソースプログラムをホストシステムに伝送しホストシステムのクロスコンパイラーを使ってコンパイルする。コンパイルされた実行プログラムを再びターゲットシステムに伝送しターゲットシステムで実行することによって前記目的を達成することができる。
ターゲットシステムで修正されたソースプログラムのコンパイルをターゲットシステムではなくホストシステムで行う理由は、一般にホストシステムと比べてCPUの速度が遅く、メモリの容量が足りないため、コンパイル環境をターゲットシステムに維持することはコンパイルの時間も増加させ、ターゲットシステムのメモリに対する無駄使いも増加させるためである。 勿論ホストシステムでのコンパイル方式がホストとターゲットとの間の通信のための過負荷も有り得るが、通信に対する過負荷よりターゲットシステムの資源とコンパイルの時間に対する過負荷がもっと大きいと予想されるため、コンパイル環境をホストシステムに維持することがもっと効果的である。
前記目的を達成するための本発明は、ホストシステムとターゲットシステムで構成されるクロス開発環境でソースプログラムを開発するための装置であって、ターゲットシステムは、貯蔵装置と、入力装置と、出力装置と、前記入力装置を通じ入力されたソースプログラムの作成に係るソースプログラムの生成、開き、編集、貯蔵命令を貯蔵し、出力装置を通じ表示するソース編集部及び前記入力、出力装置及びホストシステムと連動してプロジェクトの生成、開き、修正、ビルド、実行、閉じ等の機能を遂行し、前記プロジェクト情報と関連してデータの送受信及び情報の貯蔵を制御するプロジェクト管理のクライアントとを有し、前記ホストシステムは、貯蔵装置と、ソースプログラムをビルド(クロスコンパイル及びリンク)して前記ターゲットシステムで実行できる実行プログラムを生成した後貯蔵装置に貯蔵し、コンパイル結果のメッセージをプロジェクト管理のサーバー部に伝送するクロスコンパイル部及び前記入力、出力装置及びホストシステムと連動してプロジェクトの生成、開き、修正、ビルド、実行、閉じ等の機能を遂行し、前記プロジェクト情報を前記ターゲットシステムの貯蔵装置に貯蔵できるように働くプロジェクト管理のクライアント部とを有し、ホストシステムがクロスコンパイル部と、貯蔵装置及び前記ターゲットシステムと連動してプロジェクト情報を前記ホストシステムの貯蔵装置に貯蔵し、前記クロスコンパイル部と連動してソースプログラムのビルド(コンパイル及びリンク)機能を遂行するプロジェクト管理のサーバー部とを備え、ソースプログラムの開発者がターゲットシステムでソースプログラムを開発することを特徴とするターゲットシステム基盤のソースプログラムの開発装置を提供する。
前記目的を達成するための本発明は、ホストシステムとターゲットシステムで構成されるクロス開発環境でソースプログラムを開発するための方法であって、前記ターゲットシステムでプロジェクトを生成するか、或いは既存のプロジェクトを開くプロジェクト生成又は開きのステップと、前記生成又は開きによるプロジェクトを修正するプロジェクト修正のステップと、前記修正されたプロジェクトを、前記ホストシステムでビルドするプロジェクトビルドのステップと、前記ビルドされた実行プログラムを、前記ターゲットシステムで実行するプロジェクト実行のステップ及び前記プロジェクトを閉じるプロジェクト閉じのステップとを含むことを特徴とするターゲットシステム基盤のソースプログラムの開発方法を提供する。
以上で説明したことのように本発明によると、ターゲットシステムでソースプログラムを編集し、ホストシステムでソースプログラムのビルドを遂行したため、ターゲットシステムを常にホストシステムの近くに固定しなくても良い。
また、ソースプログラムのビルドは、ターゲットシステムではなくホストシステムで遂行されるため、ビルド環境をターゲットシステムに備えるよりソースプログラムのビルド時間を短縮させ、ターゲットシステムのメモリ使用量を減らすことができる。
さらに移動性を持つPDAのようなターゲットシステムで移動性と係る応用プログラムを開発するとき、テストのためにターゲットシステムが移動しながらエラーが生じた場合に、ターゲットシステムで直接ソースプログラムを修正してテストすることができるので、開発者にとって開発の便宜性を提供し開発の時間を短縮することができる。
以下、本発明の好ましい実施例を、添付した図面を参照しながら詳しく説明する。
図1は、本発明によるターゲットシステム100基盤のソースプログラムの開発環境を示す図である。
図1を参照すると、本発明は、ターゲットシステム100でソースプログラムを作成し、作成されたソースプログラムをホストシステムでビルドし、ビルドされた実行プログラムをターゲットシステム100で実行することのできる装置を開示している。
前記ターゲットシステム100は、プロジェクト管理のクライアント部101、ソース編集部107、CPU106、通信装置102、貯蔵装置103、入力装置103及び出力装置105で構成されており、前記ホストシステム120は、プロジェクト管理のサーバー部121、クロスコンパイル部124、通信装置122及び貯蔵装置123で構成されており、前記ターゲットシステム100とホストシステム120は有・無線ネットワーク110を通じ繋がっている。
ソースプログラムの開発者は、ターゲットシステム100のCPU106が遂行できる実行プログラムの開発のために入力装置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のCPU106が遂行できる実行プログラムを生成した後貯蔵装置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に貯蔵する。そしてターゲットシステムでプロジェクト開きのステップ104に移り、プロジェクト開きの過程を進める(ステップ417)。
逆に、ステップ415でホストシステム120の貯蔵装置123にプロジェクトの経路名が存在していないと、プロジェクト管理のサーバー部121はホストシステム120に当該プロジェクトが存在していないことを、メッセージで縛って通信装置122を通じターゲットシステム100のプロジェクト管理のクライアント部101に伝送し、出力装置105へプロジェクトが存在していないことを表示する(ステップ418―419)。
出力装置105からプロジェクトが存在していないことを確認した開発者は、再びプロジェクト開きの情報入力のステップ410に移り、別のプロジェクト名を入力してプロジェクト開きの過程を進める。
図5は、本発明による図2のプロジェクトビルドのステップ230に対する方法を説明するためのフローチャートである。
図面を参照すると、ソースプログラムの開発者はターゲットシステム100の入力装置104を通じてビルド命令を入力する。
命令を受けたプロジェクト管理のクライアント部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はエラーの内容を抽出して出力装置105で出力する(ステップ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)。
上記では本発明の好ましい実施例を参照して説明したが、当該技術分野における熟練の当業者には、特許請求の範囲に記載された本発明の思想及び領域から離れない範囲内で本発明を多様に修正及び変更可能であることが理解できるであろう。
本発明のターゲットシステム基盤のソースプログラムの開発装置を示すシステムブロック図である。 本発明によるプロジェクト基盤のソースプログラムの開発周期を示すフローチャートである。 本発明によるプロジェクト基盤のソースプログラムの開発周期においてプロジェクトの生成方法を示すフローチャートである。 本発明によるプロジェクト基盤のソースプログラムの開発周期においてプロジェクトを開く方法を示すフローチャートである。 本発明によるプロジェクト基盤のソースプログラムの開発周期においてプロジェクトビルドの方法を示すフローチャートである。 本発明によるプロジェクト基盤のソースプログラムの開発周期においてプロジェクトを閉じる方法を示すフローチャートである。
符号の説明
100 ターゲットシステム
101 プロジェクト管理のクライアント部
103 貯蔵装置
104 入力装置
105 出力装置
106 CPU
107 ソース編集部
120 ホストシステム
121 プロジェクト管理のサーバー部
122 通信装置
123 貯蔵装置
124 クロスコンパイル部

Claims (9)

  1. ホストシステムとターゲットシステムで構成されるクロス開発環境でターゲットシステム基盤のソースプログラムを開発するための装置であって、
    前記ターゲットシステムは、貯蔵装置と、入力装置と、出力装置と、
    前記入力装置を通じ入力されたソースプログラムの作成に係るソースプログラムの生成、開き、編集、貯蔵命令を貯蔵し、出力装置を通じ表示するソース編集部と、
    前記入力、出力装置及びホストシステムと連動してプロジェクトの生成、開き、修正、ビルド、実行、閉じ等の機能を遂行し、プロジェクト情報と関連してデータの送受信及び情報の貯蔵を制御するプロジェクト管理のクライアントとを有し、
    前記ホストシステムは、貯蔵装置と、ソースプログラムをビルド(クロスコンパイル及びリンク)して前記ターゲットシステムで実行できる実行プログラムを生成した後貯蔵装置に貯蔵し、コンパイル結果のメッセージをプロジェクト管理のサーバー部に伝送するクロスコンパイル部と、
    前記ホストシステムと連動してプロジェクト情報とソースプログラムを前記ホストシステムの貯蔵装置に貯蔵し、前記クロスコンパイル部と連動してソースプログラムのビルド(コンパイル及びリンク)機能を遂行するプロジェクト管理のサーバー部とを含むことによって、ソースプログラムの開発者がターゲットシステムでソースプログラムを開発できるようにすることを特徴とするターゲットシステム基盤のソースプログラムの開発装置。
  2. 前記ターゲットシステムは、携帯可能な装置に具現され、前記ホストシステムと遠距離でもソースプログラムの開発と修正ができるようになったことを特徴とする請求項1記載のターゲットシステム基盤のソースプログラムの開発装置。
  3. ホストシステムとターゲットシステムで構成されるクロス開発環境でターゲットシステム基盤のソースプログラムを開発するための方法であって、
    前記ターゲットシステムでプロジェクトを生成するか、或いは既存のプロジェクトを開くプロジェクト生成又は開きのステップと、
    前記生成又は開きによるプロジェクトを修正するプロジェクト修正のステップと、
    前記修正されたプロジェクトを、前記ホストシステムでビルドするプロジェクトビルドのステップと、
    前記ビルドされた実行プログラムを、前記ターゲットシステムで実行するプロジェクト実行のステップと、
    前記プロジェクトを閉じるプロジェクト閉じのステップとを含むことを特徴とするターゲットシステム基盤のソースプログラムの開発方法。
  4. 前記プロジェクト生成のステップは、
    ソースプログラムの開発者が前記ターゲットシステムの入力装置を通じてプロジェクト生成情報を入力するステップと、
    前記入力された情報に基づいて、前記ホストシステムのプロジェクト管理のサーバー部へプロジェクトの存在有無を要請するステップと、
    ホストシステムにプロジェクトが存在している場合、前記プロジェクト管理のクライアント部によってプロジェクトが存在していることをターゲットシステムの出力装置で出力し、プロジェクトが存在していない場合、プロジェクトの生成情報に基づき、ターゲットシステムの貯蔵装置にプロジェクト情報を生成して貯蔵するステップと、
    前記プロジェクト管理のクライアント部が生成されたプロジェクト情報をターゲットシステムの出力装置で出力するステップとを含むことを特徴とする請求項3記載のターゲットシステム基盤のソースプログラムの開発方法。
  5. 前記プロジェクト開きのステップは、
    ソースプログラムの開発者が前記ターゲットシステムの入力装置を通じてプロジェクト開きの情報を入力するステップと、
    プロジェクト管理のクライアント部が前記プロジェクトの開き情報からターゲットシステムのプロジェクトの存在有無を検査するステップと、
    前記のステップでプロジェクトが存在していない場合に前記プロジェクト管理のクライアント部が前記ホストシステムにプロジェクト情報を要請するステップと、
    前記ホストシステムのプロジェクト管理のサーバー部が前記ターゲットシステムから受けたプロジェクトの開き情報からプロジェクト情報を読み出し、ホストシステムの貯蔵装置から前記ターゲットシステムへ伝送するステップと、
    前記プロジェクト管理のクライアント部が前記ホストシステムから受けたプロジェクト情報をターゲットシステムの貯蔵装置に貯蔵するステップと、
    前記プロジェクト管理のクライアント部がプロジェクト開きの情報に従って前記ターゲットシステムの貯蔵装置からプロジェクトを開くステップと、
    プロジェクト情報をターゲットシステムの出力装置で出力するステップとを含むことを特徴とする請求項3記載のターゲットシステム基盤のソースプログラムの開発方法。
  6. 前記プロジェクト修正のステップは、
    ソースプログラムの開発者が前記ターゲットシステムの入力、出力装置を通じてプロジェクト情報に含まれるソース、ビルド、実行の情報を修正するステップと、
    ソースプログラムの開発者が前記ターゲットシステムの入力、出力装置及びソース編集部を通じてソースプログラムの生成、編集、貯蔵等のソースプログラムを修正し、修正したソースプログラムの内容を前記ターゲットシステムに貯蔵するステップとを含むことを特徴とする請求項3記載のターゲットシステム基盤のソースプログラムの開発方法。
  7. 前記プロジェクトビルドのステップは、
    ソースプログラムの開発者が前記ターゲットシステムの入力装置を通じてプロジェクトビルドの命令を下すステップと、
    前記ターゲットシステムのプロジェクト管理のクライアント部が前記プロジェクト情報と修正されたソースプログラムを前記ホストシステムへ伝送してビルドを要請するステップと、
    前記ホストシステムのプロジェクト管理のサーバー部が前記ターゲットシステムから受けた、修正されたソースプログラムとプロジェクト情報をホストシステムの貯蔵装置に貯蔵するステップと、
    前記プロジェクト管理のサーバー部がプロジェクト情報と前記ホストシステムの貯蔵装置のソースプログラムに基づいて、クロスコンパイル部と連動しプロジェクトをビルドするステップと、
    前記プロジェクト管理のサーバー部がビルドのメッセージとビルドされた実行プログラムを前記ターゲットシステムに伝送するステップと、
    前記プロジェクト管理のクライアント部が前記ホストシステムから受けたビルドのメッセージを前記ターゲットシステムの出力装置で出力し、ビルドされた実行プログラムをターゲットシステムの貯蔵装置に貯蔵するステップとを含むことを特徴とする請求項3記載のターゲットシステム基盤のソースプログラムの開発方法。
  8. 前記プロジェクト実行のステップは、
    ソースプログラムの開発者が前記ターゲットシステムの入力装置を通じてプロジェクト実行の命令を下すステップと、
    プロジェクト管理のクライアント部がターゲットシステムの貯蔵装置に貯えられている実行プログラムを実行するステップと、
    実行結果をターゲットシステムの出力装置で出力し、ソースプログラムの開発者が出力結果を確認するステップとを含むことを特徴とする請求項3記載のターゲットシステム基盤のソースプログラムの開発方法。
  9. 前記プロジェクト閉じのステップは、
    ソースプログラムの開発者が前記ターゲットシステムの入力装置を通じてプロジェクト閉じの命令を下すステップと、
    プロジェクト管理のクライアント部がプロジェクト情報をターゲットシステムの貯蔵装置へ貯蔵するステップと、
    前記プロジェクト情報と修正されたソースプログラムを前記ホストシステムへ伝送してプロジェクト閉じを要請するステップと、
    プロジェクト管理のサーバー部が前記ターゲットシステムから受けたプロジェクト情報と修正されたソースプログラムをホストシステムの貯蔵装置に貯蔵し、ターゲットシステムにプロジェクトの閉じが成功したことを知らせるステップと、
    前記プロジェクト管理のクライアント部が前記ターゲットシステムの出力装置でプロジェクト閉じの成功のメッセージを出力するステップと、
    前記プロジェクト管理のクライアント部が前記ターゲットシステムの出力装置からプロジェクト情報を削除するステップとを含むことを特徴とする請求項3記載のターゲットシステム基盤のソースプログラムの開発方法。
JP2003380455A 2003-09-04 2003-11-10 ターゲットシステム基盤のソースプログラム開発装置及び方法 Pending JP2005085255A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030061709A KR100546742B1 (ko) 2003-09-04 2003-09-04 타겟 시스템 기반 소스 프로그램 개발장치 및 방법

Publications (1)

Publication Number Publication Date
JP2005085255A true JP2005085255A (ja) 2005-03-31

Family

ID=34225408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003380455A Pending JP2005085255A (ja) 2003-09-04 2003-11-10 ターゲットシステム基盤のソースプログラム開発装置及び方法

Country Status (4)

Country Link
US (1) US20050055665A1 (ja)
EP (1) EP1536322A3 (ja)
JP (1) JP2005085255A (ja)
KR (1) KR100546742B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272439A (ja) * 2003-03-06 2004-09-30 Konica Minolta Holdings Inc ディレクトリ検索方法、ディレクトリ検索装置、記憶媒体及びプログラム
WO2005114409A2 (en) * 2004-05-21 2005-12-01 Computer Associates Think, Inc. System and method for managing a path environment variable
KR100669242B1 (ko) * 2004-12-15 2007-01-15 한국전자통신연구원 크로스 개발 환경에서의 임베디드 소프트웨어 최적화 및분석을 위한 장치 및 방법
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
KR100751153B1 (ko) * 2006-03-10 2007-08-22 엘지전자 주식회사 방송 신호 수신기의 기능 테스트를 위한 빌드버전 생성장치및 방법
US8453104B2 (en) * 2006-10-27 2013-05-28 Microsoft Corporation Thin client software development environment
KR100860991B1 (ko) * 2007-01-25 2008-09-30 삼성전자주식회사 미디어 컴포넌트 빌드 방법 및 장치와 그에 사용되는컴퓨터 판독가능 저장매체
KR100953094B1 (ko) * 2007-12-11 2010-04-19 한국전자통신연구원 호스트 소프트웨어 관리 시스템 및 방법
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
KR100886616B1 (ko) * 2008-07-28 2009-03-05 (주)레이풀시스템 자동 문서관리 시스템 및 그 방법
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 北京京东尚科信息技术有限公司 一种移动应用程序跨平台开发方法及装置
KR101599471B1 (ko) * 2014-06-25 2016-03-03 주식회사 포워드벤처스 소스 관리 장치, 시스템 및 방법, 컴퓨터 판독 가능한 기록 매체
CN106406913B (zh) * 2016-10-28 2020-01-03 武汉斗鱼网络科技有限公司 一种从项目中提取代码的方法及系统
CN110162324B (zh) * 2019-06-03 2023-07-11 南方电网科学研究院有限责任公司 直流控制保护设备中的可执行代码更新方法、装置及介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
EP1536322A2 (en) 2005-06-01
US20050055665A1 (en) 2005-03-10
KR100546742B1 (ko) 2006-01-26
KR20050024827A (ko) 2005-03-11
EP1536322A3 (en) 2007-01-03

Similar Documents

Publication Publication Date Title
JP2005085255A (ja) ターゲットシステム基盤のソースプログラム開発装置及び方法
CN100442234C (zh) 用于嵌入式系统的软件包构建方法和系统
US20110113340A1 (en) Information-processing device, communication system, computer readable medium, and information-processing method
CN111026439B (zh) 应用程序的兼容方法、装置、设备及计算机存储介质
CN111176654B (zh) 一种基于多用户缓存的物联网应用在线编译方法
CN105335132A (zh) 一种自定义应用程序功能的方法、装置以及系统
CN102955698A (zh) 基于多终端的软件开发的处理方法和装置
CN108984202B (zh) 一种电子资源分享方法、装置和存储介质
CN114020323B (zh) 模型处理方法、代码获得方法、装置以及电子设备
Kraemer et al. Automated encapsulation of UML activities for incremental development and verification
CN111880802A (zh) 一种编译方法、电子设备及计算机可读存储介质
US7603662B2 (en) System and method for sensing types of local variables
CN111552480B (zh) 跨平台编译方法、装置、设备及可读存储介质
CN105893104A (zh) 代码编译的方法和装置
CN116166907B (zh) 一种使用WebAssembly和服务页面编译技术开发Web应用的方法及装置
CN113590179B (zh) 插件检测方法、装置、电子设备及存储介质
CN111427770B (zh) 一种资源测试方法及相关设备
Ali et al. Scalable scenario specifications to synthesize component-centric behaviour models
Kiyohara et al. Study on binary code synchronization in consumer devices
KR101249449B1 (ko) 웹 플랫폼 검증 도구 생성 장치 및 그 제어방법
KR100866546B1 (ko) 센서 노드용 소프트웨어 개발 시스템 및 방법
CN112363708B (zh) 一种支持Eclipse工具下的上下文保护方法及系统
CN117632698A (zh) 检测方法、装置、设备、存储介质及计算机程序产品
Gold et al. Terra Harvest Open Source Environment (THOSE): a universal unattended ground sensor controller
WO2011145363A1 (ja) ソフトウェア仕様の証明支援装置、及び証明支援方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060623

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070508