JPH0758472B2 - ソフトウェア開発装置 - Google Patents
ソフトウェア開発装置Info
- Publication number
- JPH0758472B2 JPH0758472B2 JP2133380A JP13338090A JPH0758472B2 JP H0758472 B2 JPH0758472 B2 JP H0758472B2 JP 2133380 A JP2133380 A JP 2133380A JP 13338090 A JP13338090 A JP 13338090A JP H0758472 B2 JPH0758472 B2 JP H0758472B2
- Authority
- JP
- Japan
- Prior art keywords
- software development
- ice
- general
- program
- compiler
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、マイクロコンピュータシステムのプログラム
開発に利用できるソフトウェア開発装置に関する。
開発に利用できるソフトウェア開発装置に関する。
従来の技術 従来のソフトウェア開発装置は、例えば第3図に示すよ
うに、インサーキットエミュレータ(以下、「ICE」と
いう)1と、高速汎用ケーブル3で接続されたパーソナ
ルコンピュータ等の端末装置2とから構成されている。
うに、インサーキットエミュレータ(以下、「ICE」と
いう)1と、高速汎用ケーブル3で接続されたパーソナ
ルコンピュータ等の端末装置2とから構成されている。
ここで、端末装置2は、機械等に組み込むマイクロコン
ピュータ(以下、「マイコン」という)のプログラムを
作成する。ICE1は、そのマイコンのROMに記憶させるプ
ログラムを試しに実行し、プログラムのデバッグを行
う。
ピュータ(以下、「マイコン」という)のプログラムを
作成する。ICE1は、そのマイコンのROMに記憶させるプ
ログラムを試しに実行し、プログラムのデバッグを行
う。
次に、上記従来例の動作について第3図および第4図を
参照して説明する。
参照して説明する。
第4図は、従来の装置による処理の流れを示す説明図で
ある。
ある。
図において、端末装置2はケーブル3を介してICE1にコ
マンドを送信することによりICE1を制御し、これにより
端末装置2で作成したプログラムのデバッグを行う。起
動システムは、ターゲットのマイコン用言語(アセンブ
ラ)に強く依存しているのが普通である。
マンドを送信することによりICE1を制御し、これにより
端末装置2で作成したプログラムのデバッグを行う。起
動システムは、ターゲットのマイコン用言語(アセンブ
ラ)に強く依存しているのが普通である。
また、上記第3図の構成とは別にホストコンピュータで
プログラムを作成し、ICEを起動することにより、当該
プログラムのデバッグが行なえるようにしたソフトウェ
ア開発装置も提案されている(図示せず)。
プログラムを作成し、ICEを起動することにより、当該
プログラムのデバッグが行なえるようにしたソフトウェ
ア開発装置も提案されている(図示せず)。
このようなソフトウェア開発装置では、マイコンプログ
ラムは高級言語でホストコンピュータ上で開発される。
このようにして開発したマイコンプログラムは、クロス
コンパイルされる。このシステムでは、クロスコンパイ
ルされた後に生成されたオブジェクトコードをICEにダ
ウンロードし、ICEを利用してデバッグを行う。クロス
コンパイルとは、あるマシン(ホストマシン、ワークス
テーション、パソコン等)で、あるプログラムをそのマ
シンのもつCPU以外のCPUのアセンブリ言語(あるいは実
行形式まで)を生成するコンパイルのことである。その
マシンで実行するプログラムの生成と区別するために通
常のコンパイルと区別して特にクロスコンパイルと呼ん
でいる。
ラムは高級言語でホストコンピュータ上で開発される。
このようにして開発したマイコンプログラムは、クロス
コンパイルされる。このシステムでは、クロスコンパイ
ルされた後に生成されたオブジェクトコードをICEにダ
ウンロードし、ICEを利用してデバッグを行う。クロス
コンパイルとは、あるマシン(ホストマシン、ワークス
テーション、パソコン等)で、あるプログラムをそのマ
シンのもつCPU以外のCPUのアセンブリ言語(あるいは実
行形式まで)を生成するコンパイルのことである。その
マシンで実行するプログラムの生成と区別するために通
常のコンパイルと区別して特にクロスコンパイルと呼ん
でいる。
実際のデバッグでは、以前はアセンブラレベルで行われ
ていたが、最近では高級言語レベルでも行われつつあ
る。これは、多様化するターゲットのマイコン、拡大化
するソフトウェア開発量に対して、できるだけ開発環境
を標準化し効率化しようという発想が底流にあるからで
ある。
ていたが、最近では高級言語レベルでも行われつつあ
る。これは、多様化するターゲットのマイコン、拡大化
するソフトウェア開発量に対して、できるだけ開発環境
を標準化し効率化しようという発想が底流にあるからで
ある。
ところで、第4図に示すように、異なったクロスコンパ
イラ100、200により生成するデータ構造(シンボル構
造)102、202は、互換性を持っていない。このため、高
級言語でデバッグしようとすれば、まったく異なったデ
バッグシステム104、204が必要となる。さらに、アセン
ブラレベルでのデバッグを行おうとする場合、異なった
デバッグシステム104、204が必要になる。
イラ100、200により生成するデータ構造(シンボル構
造)102、202は、互換性を持っていない。このため、高
級言語でデバッグしようとすれば、まったく異なったデ
バッグシステム104、204が必要となる。さらに、アセン
ブラレベルでのデバッグを行おうとする場合、異なった
デバッグシステム104、204が必要になる。
なお、高級言語でのデバッグとは高級言語(たとえばC,
FORTRAN)で記述されたプログラムのみを参照し、アセ
ンブリ言語(あるいは実行形式)に変換されたプログラ
ムを意識せずにデバッグを行うことである。
FORTRAN)で記述されたプログラムのみを参照し、アセ
ンブリ言語(あるいは実行形式)に変換されたプログラ
ムを意識せずにデバッグを行うことである。
発明が解決しようとする課題 しかしながら、上記従来のソフトウェア開発装置では、
端末装置とICEとが独立(スタンドアローン)している
ため、開発者が共通のソフトウェア開発環境を持つこと
ができなかった。
端末装置とICEとが独立(スタンドアローン)している
ため、開発者が共通のソフトウェア開発環境を持つこと
ができなかった。
また、ICEそのもののICE起動システム自体がターゲット
のマイコンのアセンブラもしくはそれを生成するクロス
コンパイラの構成自体に依存する場合が多く、使用する
マイコン毎に、あるいは使用するクロスコンパイラ毎に
システム全体を用意する必要があった。
のマイコンのアセンブラもしくはそれを生成するクロス
コンパイラの構成自体に依存する場合が多く、使用する
マイコン毎に、あるいは使用するクロスコンパイラ毎に
システム全体を用意する必要があった。
さらに、クロスコンパイラ自体がICEにおいて閉じてい
るので、第3図に示すような構成のソフトウェア開発装
置の場合、多重の投資が行われていることが多かった。
るので、第3図に示すような構成のソフトウェア開発装
置の場合、多重の投資が行われていることが多かった。
加えて、ソフトウェア開発装置の構造が言語(コンパイ
ラ)に依存していたため拡張性、メンテナンス性が悪か
った。
ラ)に依存していたため拡張性、メンテナンス性が悪か
った。
さらにまた、ホストコンピュータから端末装置への被デ
バッグプログラムの転送が遅い場合、せっかく汎用オペ
レーションシステム(OS)を使用した標準的な開発環境
下での作業でありながら、ユーザは、ICEの種類、開発
言語、ターゲットのマイコン等を強く意識する必要があ
った。
バッグプログラムの転送が遅い場合、せっかく汎用オペ
レーションシステム(OS)を使用した標準的な開発環境
下での作業でありながら、ユーザは、ICEの種類、開発
言語、ターゲットのマイコン等を強く意識する必要があ
った。
本発明は、上述したような従来の問題点を解決するもの
であり、開発環境上で開発環境を共用でき、言語の違い
を意識しないメンテナンス性のよい優れたソフトウェア
開発装置を提供することを目的とするものである。
であり、開発環境上で開発環境を共用でき、言語の違い
を意識しないメンテナンス性のよい優れたソフトウェア
開発装置を提供することを目的とするものである。
課題を解決するための手段 本発明は、上記目的を達成するために、ネットワークに
接続され、クロスコンパイラの生成するデータ構造を汎
用オペレーションシステム下の標準コンパイラのデータ
構造に変換することにより各種データの仮想化を行うホ
ストコンピュータと、ネットワークに直結され汎用オペ
レーションシステム下にデバッグ動作を行うインサーキ
ットエミュレータと、を備えたことを特徴とする。
接続され、クロスコンパイラの生成するデータ構造を汎
用オペレーションシステム下の標準コンパイラのデータ
構造に変換することにより各種データの仮想化を行うホ
ストコンピュータと、ネットワークに直結され汎用オペ
レーションシステム下にデバッグ動作を行うインサーキ
ットエミュレータと、を備えたことを特徴とする。
作用 本発明は、上記のような構成により次のような作用を有
する。すなわち、汎用オペレーションシステム下にある
ので、プログラム、ICE、そのほかの資産が共有ができ
る。また、使用するデータは、標準コンパイラのデータ
に仮想化され、新しいコンパイラを使った場合への対応
がし易くなる、言い換えれば、データのコンバージョン
を行うだけなので、新しくコンパイラをサポートするこ
とが容易である。また、基本的に汎用オペレーションシ
ステム下にあるので、メンテナンス性はよい。
する。すなわち、汎用オペレーションシステム下にある
ので、プログラム、ICE、そのほかの資産が共有ができ
る。また、使用するデータは、標準コンパイラのデータ
に仮想化され、新しいコンパイラを使った場合への対応
がし易くなる、言い換えれば、データのコンバージョン
を行うだけなので、新しくコンパイラをサポートするこ
とが容易である。また、基本的に汎用オペレーションシ
ステム下にあるので、メンテナンス性はよい。
実施例 以下、本発明を図面を基づいて説明する。
第1図は、本発明のソフトウェア開発装置の一実施例を
示すブロック図である。
示すブロック図である。
第1図において、ソフトウェア開発装置の実施例は、IC
E10と、端末装置20a,20b,20cと、ターミナルサーバ40
と、ホストコンピュータ50と、これらを接続する汎用伝
送路30とを備えている。ここで、端末装置20aからホス
トコンピュータ50のプログラムを用いて、ICE10を起動
することによりデバッグが行なえる。ターミナルサーバ
40は、端末装置20bを汎用伝送路30に接続する装置であ
る。端末装置20cは直接汎用伝送路30に、端末装置20bは
ターミナルサーバ40を介して汎用伝送路30に接続されて
いる。また、端末装置20aはホストコンピュータ50に直
結した形態もある。本発明において重要なことは、ICE1
0がネットワークである汎用伝送路30に直結しているこ
とである。
E10と、端末装置20a,20b,20cと、ターミナルサーバ40
と、ホストコンピュータ50と、これらを接続する汎用伝
送路30とを備えている。ここで、端末装置20aからホス
トコンピュータ50のプログラムを用いて、ICE10を起動
することによりデバッグが行なえる。ターミナルサーバ
40は、端末装置20bを汎用伝送路30に接続する装置であ
る。端末装置20cは直接汎用伝送路30に、端末装置20bは
ターミナルサーバ40を介して汎用伝送路30に接続されて
いる。また、端末装置20aはホストコンピュータ50に直
結した形態もある。本発明において重要なことは、ICE1
0がネットワークである汎用伝送路30に直結しているこ
とである。
次に上記実施例の動作について第1図および第2図を参
照して説明する。
照して説明する。
第2図は、本発明の実施例を説明するための図であっ
て、この実施例におけるソフトウェア構成図を示す、 上記実施例において、端末装置20a,20b,20cの何れかか
らソフトウェア開発装置のホストコンピュータ50を起動
する。これにより、一様に汎用OS上でデバッグまで含め
た作業をすることができる。これにより、標準化された
環境においてプログラムの開発をすることが保証され
る。ソフトウェア開発装置の起動後は、ホストコンピュ
ータ50上のクロスコンパイラによって生成されたオブジ
ェクトコードは、ホストコンピュータ50から汎用伝送路
30に直結されたICE10に高速ダウンロードさせる。この
ソフトウェア開発装置は、ネットワーク(汎用伝送路3
0)とのインターフェースを持っているために、このよ
うな高速伝送が可能になるのである。これにより、ICE
へのダウンロードの速度が高速化され、ソフトウェア開
発の効率を著しく向上させることができる。
て、この実施例におけるソフトウェア構成図を示す、 上記実施例において、端末装置20a,20b,20cの何れかか
らソフトウェア開発装置のホストコンピュータ50を起動
する。これにより、一様に汎用OS上でデバッグまで含め
た作業をすることができる。これにより、標準化された
環境においてプログラムの開発をすることが保証され
る。ソフトウェア開発装置の起動後は、ホストコンピュ
ータ50上のクロスコンパイラによって生成されたオブジ
ェクトコードは、ホストコンピュータ50から汎用伝送路
30に直結されたICE10に高速ダウンロードさせる。この
ソフトウェア開発装置は、ネットワーク(汎用伝送路3
0)とのインターフェースを持っているために、このよ
うな高速伝送が可能になるのである。これにより、ICE
へのダウンロードの速度が高速化され、ソフトウェア開
発の効率を著しく向上させることができる。
まず、第2図で使用される処理の内容を説明する、ここ
で、符号301は汎用OSのもつ標準のコンパイラの出力す
るデータ構造である、302、303、304、305は、それぞれ
異なるクロスコンパイラが出力するデータ構造を示して
いる。306は本発明で仮想化した標準コンパイラが出力
するデータ構造に準拠した形のデータ構造である。307
はコンパイラの出力したデータをもとに高級言語で書か
れたソスプログラムとアンセンブラとの対応や、ICEの
メモリへのアクセス(リード、ライトなど)などを行う
ことによってユーザの要求するデバッグ作業をICEコマ
ンドに変換し、ICEの出力をユーザの望むフォーマット
で表示するという処理である。308は、ICEコマンドの送
信とICEからのメッセージの受信を行う処理である。
で、符号301は汎用OSのもつ標準のコンパイラの出力す
るデータ構造である、302、303、304、305は、それぞれ
異なるクロスコンパイラが出力するデータ構造を示して
いる。306は本発明で仮想化した標準コンパイラが出力
するデータ構造に準拠した形のデータ構造である。307
はコンパイラの出力したデータをもとに高級言語で書か
れたソスプログラムとアンセンブラとの対応や、ICEの
メモリへのアクセス(リード、ライトなど)などを行う
ことによってユーザの要求するデバッグ作業をICEコマ
ンドに変換し、ICEの出力をユーザの望むフォーマット
で表示するという処理である。308は、ICEコマンドの送
信とICEからのメッセージの受信を行う処理である。
このような処理を有するソフトウェア開発装置におい
て、それぞれのクロスコンパイラで生成するデータ構造
(シンボル情報)301、302、303、304、305は、汎用OS
の持つ標準コンパイラの持つデータ構造(シンボル情
報)306に変換される。データ構造306を受けたICE10に
おける処理307は共通である。処理307とは、ユーザの要
求するサービスをICEのコマンドレベルにブレイクダウ
ンすることと、ユーザの作成した高級言語によるプログ
ラムとクロスコンパイラにより生成されるアセンブラと
の対応を行うことある。実際には、変数名、変数系型、
行番号、ファイル名、高級言語によるソースコード等を
アセンブラやICE上のメモリとの対応を行いユーザの求
めるサービスを行う。処理307においては、ユーザは、
アセンブラ、高級言語の両方からデバッグ作業を行うこ
とができる。このようにして処理307が完了すると、処
理308はICEコマンドを発行する、クロスコンパイラ、コ
ンピュータの違いは、クロスコンパイラ出力に当たるデ
ータ構造(シンボル情報)をデータ構造306に仮想化す
ることによって吸収している、また、ICE10の違いは、I
CEのコマンドを発行している処理308を拡張する事によ
って吸収している。
て、それぞれのクロスコンパイラで生成するデータ構造
(シンボル情報)301、302、303、304、305は、汎用OS
の持つ標準コンパイラの持つデータ構造(シンボル情
報)306に変換される。データ構造306を受けたICE10に
おける処理307は共通である。処理307とは、ユーザの要
求するサービスをICEのコマンドレベルにブレイクダウ
ンすることと、ユーザの作成した高級言語によるプログ
ラムとクロスコンパイラにより生成されるアセンブラと
の対応を行うことある。実際には、変数名、変数系型、
行番号、ファイル名、高級言語によるソースコード等を
アセンブラやICE上のメモリとの対応を行いユーザの求
めるサービスを行う。処理307においては、ユーザは、
アセンブラ、高級言語の両方からデバッグ作業を行うこ
とができる。このようにして処理307が完了すると、処
理308はICEコマンドを発行する、クロスコンパイラ、コ
ンピュータの違いは、クロスコンパイラ出力に当たるデ
ータ構造(シンボル情報)をデータ構造306に仮想化す
ることによって吸収している、また、ICE10の違いは、I
CEのコマンドを発行している処理308を拡張する事によ
って吸収している。
発明の効果 本発明は、上記実施例より明らかなように、汎用ソフト
ウェア開発環境をICEまで拡張し、開発者がICEを事実上
意識せずに使用でき、共有できるようになるという利点
を有する。また、本発明は、ソフトウェア開発装置の持
つデータ構造を仮想化しているため、新たな拡張性、メ
ンテナンス性が優れているという効果を有する。
ウェア開発環境をICEまで拡張し、開発者がICEを事実上
意識せずに使用でき、共有できるようになるという利点
を有する。また、本発明は、ソフトウェア開発装置の持
つデータ構造を仮想化しているため、新たな拡張性、メ
ンテナンス性が優れているという効果を有する。
第1図は本発明のソフトウェア開発装置の実施例を示す
ブロック図、第2図は本発明のソフトウェア処理の流れ
を示す説明図、第3図は従来のソフトウェア開発装置の
一例を示すブロック図、第4図は従来のソフトウェア開
発装置を使う場合の処理の流れ図である。 10……ICE、20a,20b,20c……端末装置、30……汎用伝送
路、40……ターミナルサーバ、50……ホストコンピュー
タ、301,302,303,304,305……クロスコンパイラが出力
するデータ構造、306……仮想化されたデータ構造、307
……情報を対応させる処理、308……ICEに関する処理。
ブロック図、第2図は本発明のソフトウェア処理の流れ
を示す説明図、第3図は従来のソフトウェア開発装置の
一例を示すブロック図、第4図は従来のソフトウェア開
発装置を使う場合の処理の流れ図である。 10……ICE、20a,20b,20c……端末装置、30……汎用伝送
路、40……ターミナルサーバ、50……ホストコンピュー
タ、301,302,303,304,305……クロスコンパイラが出力
するデータ構造、306……仮想化されたデータ構造、307
……情報を対応させる処理、308……ICEに関する処理。
Claims (1)
- 【請求項1】ネットワークに接続され、クロスコンパイ
ラの生成するデータ構造を汎用オペレーションシステム
下の標準コンパイラのデータ構造に変換することにより
各種データの仮想化を行うホストコンピュータと、 ネットワークに直結され汎用オペレーションシステム下
にデバッグ動作を行うインサーキットエミュレータと を備えたことを特徴とするソフトウェア開発装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2133380A JPH0758472B2 (ja) | 1990-05-23 | 1990-05-23 | ソフトウェア開発装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2133380A JPH0758472B2 (ja) | 1990-05-23 | 1990-05-23 | ソフトウェア開発装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0432933A JPH0432933A (ja) | 1992-02-04 |
JPH0758472B2 true JPH0758472B2 (ja) | 1995-06-21 |
Family
ID=15103382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2133380A Expired - Fee Related JPH0758472B2 (ja) | 1990-05-23 | 1990-05-23 | ソフトウェア開発装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0758472B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000081371A (ja) * | 1998-09-07 | 2000-03-21 | Nec Corp | 薄膜分子配向評価方法、評価装置及び記録媒体 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01273144A (ja) * | 1988-04-25 | 1989-11-01 | Toshiba Corp | ソフトウエア開発支援装置 |
-
1990
- 1990-05-23 JP JP2133380A patent/JPH0758472B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0432933A (ja) | 1992-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11720344B2 (en) | Code hot-update method and device, storage medium, processor, and terminal | |
US10338907B2 (en) | Cloud service framework for toolkit deployment | |
EP2359247B1 (en) | Transforming user script code for debugging | |
JP5679989B2 (ja) | デバッグパイプライン | |
US20110093527A1 (en) | Distributed hypermedia method and system for automatically invoking external applications providing interaction and display of embedded objects via a scripting platform | |
US6467082B1 (en) | Methods and apparatus for simulating external linkage points and control transfers in source translation systems | |
CN101084485A (zh) | 用于改善片上仿真系统中高级语言的仿真速度的装置和方法 | |
IL100996A (en) | System and method for multi-code execution and error removal | |
CN112905472B (zh) | 内核调试系统及方法 | |
US6785884B1 (en) | Symbolic debug interface for register transfer simulator debugger | |
Powers et al. | Browsix: Bridging the gap between unix and the browser | |
CN102231128A (zh) | 在线调试方法及调试主机 | |
CN109542464B (zh) | IoT设备脚本程序的开发部署系统、方法及存储介质 | |
JP2991242B2 (ja) | マルチプロセッサコンピュータシステム使用方法 | |
JP5129904B2 (ja) | 実行時における関数の実行性能を増大させるための方法、計算機システム、実行時における関数の実行性能を増大させるための、コンピュータプログラムを格納するコンピュータ読み取り可能媒体 | |
US9582398B1 (en) | Debugging using presentation layer representations of objects | |
JPH0758472B2 (ja) | ソフトウェア開発装置 | |
Lycklama et al. | unix Time‐Sharing System: A Minicomputer Satellite Processor System | |
KR20020032256A (ko) | 통합 임베디드 시스템 및 이의 구현 방법 | |
JP2004192038A (ja) | 情報処理装置、情報処理システム、情報処理プログラム、および該プログラムを記録した記録媒体 | |
JP3692898B2 (ja) | デバッガ及びデータ処理方法 | |
Kwon et al. | Lightweight migration for web applications with framework separation | |
US20210303316A1 (en) | Unikernel provisioning | |
Powers et al. | Browsix-bringing unix to the browser | |
Galley et al. | Software debugging: the virtual machine approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |