JPH11296408A - 組み込み機器用ソフトウエア論理シミュレータ - Google Patents

組み込み機器用ソフトウエア論理シミュレータ

Info

Publication number
JPH11296408A
JPH11296408A JP10095648A JP9564898A JPH11296408A JP H11296408 A JPH11296408 A JP H11296408A JP 10095648 A JP10095648 A JP 10095648A JP 9564898 A JP9564898 A JP 9564898A JP H11296408 A JPH11296408 A JP H11296408A
Authority
JP
Japan
Prior art keywords
software
hardware
hardware simulation
component
simulation component
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.)
Granted
Application number
JP10095648A
Other languages
English (en)
Other versions
JP3424548B2 (ja
Inventor
Toshio Matsuki
敏夫 松木
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP09564898A priority Critical patent/JP3424548B2/ja
Publication of JPH11296408A publication Critical patent/JPH11296408A/ja
Application granted granted Critical
Publication of JP3424548B2 publication Critical patent/JP3424548B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 ハードウエアシミュレータとソフトウエアを
協調してデバッグする場合、ハードウエアの動作のシミ
ュレーションが非常に遅かったり、ハードウエアの動作
の記述に難があった。 【解決手段】 ハードウエアのシミュレーションを複数
のアプリケーションで実現し、それらを連携動作させる
ことで、ハードウエアの動作の記述を容易にすると共に
ソフトウエアのデバッグの効率を上げる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、組み込み機器用マ
イクロコントローラのソフトウエアの開発を容易にする
論理シミュレータに関する。
【0002】
【従来の技術】従来、組み込み機器用マイクロコントロ
ーラのソフトウエアを開発する際には、多くの場合、タ
ーゲットとなる組み込み機器のハードウエアとマイクロ
コントローラの代わりとなるインサーキットエミュレー
タを接続してデバッグを行っている。
【0003】組み込み機器の開発期間を短縮する場合に
は、ハードウエアが出来上がる前にマイクロコントロー
ラのソフトウエアのデバッグを開始することが必要とな
ることがあるが、これまでは高価なハードウエアエミュ
レータをハードウエアの代わりに利用したり、あるい
は、ハードウエアの動作をハードウエアシミュレータで
シミュレーションしソフトウエアデバッガとハードウエ
アシミュレータと連携させてデバッグを行ったり、ある
いは、ハードウエアの動作をソフトウエアを記述する言
語と同じ言語で記述してデバッグを行ったり、あるい
は、ハードウエアと関わる部分のデバッグを行わない、
という方法が採られていた。
【0004】
【発明が解決しようとする課題】組み込み機器の開発期
間を短縮する場合に採られていた従来の方法にはそれぞ
れに課題がある。
【0005】まず、ハードウエアエミュレータを用いる
方法の場合、ハードウエアエミュレータが一般的に非常
に高価なものでソフトウエア開発者の数だけ用意するに
は巨額な投資を必要とする。
【0006】ハードウエアシミュレータとソフトウエア
デバッガとを連携させてソフトウエアのデバッグを行う
場合、ハードウエアシミュレータのシミュレーション速
度の遅さが問題となる。他の手法と比べてソフトウエア
が実行できる命令の数が少なすぎるため、効率が悪く、
小さなソフトウエアのデバッグにしか用いることができ
ない。
【0007】ハードウエアの動作をソフトウエアを記述
する言語と同じ言語で記述してデバッグする方法の場
合、効率化のためにハードウエアの動作の記述を再利用
可能なようにモジュール化するのだが、個々のハードウ
エアの動作の記述のモジュール間の関連をソフトウエア
用の言語で記述するにはノウハウが必要であり、モジュ
ール間の接続を行うにはハードウエアの動作の記述を熟
知してる者でなければできるものではない。図1にこの
場合の構成例を示す。ハードウエア動作記述2、3、4
とデバッグ対象ソフトウエア5とハードウエア動作記述
間の接続はすべて一つのソフトウエアにまとめる必要が
あり、ソフトウエア開発者がその作業を行わなければな
らない。実際にはこの手法はハードウエア技術者がハー
ドウエアの性能評価等に行ってきた手法であり、ソフト
ウエア開発者にとっては負担が大きすぎるためにソフト
ウエアの開発のために用いられることはほとんどない。
【0008】ハードウエアに関わる部分のデバッグを行
わない方法の場合、組み込み機器のソフトウエアである
以上ハードウエアからの影響を受けるソフトウエアの部
分が相当あり十分なデバッグができない。
【0009】
【課題を解決するための手段】これらの課題を解決する
ため本発明の組み込み機器用論理シミュレータは、請求
項1の発明においては、ソフトウエアデバッガと、ハー
ドウエアをシミュレーションするハードウエアシミュレ
ーションコンポーネントソフトウエアと、ハードウエア
シミュレーションコンポーネントソフトウエアをアクセ
スできるようにするコンポーネントマネージャと、ハー
ドウエアシミュレーションコンポーネントソフトウエア
から発生する割込みを受けて組み込み機器の割込み処理
ソフトウエアを実行させる割込みマネージャを持ち、任
意のプログラム言語で記述されコンパイルされた実行可
能状態にあるハードウエアシミュレーションコンポーネ
ントを一個以上接続して動作することを特徴としてい
る。
【0010】請求項2の発明においては、ソフトウエア
デバッガと、ハードウエアをシミュレーションするハー
ドウエアシミュレーションコンポーネントソフトウエア
と、ハードウエアシミュレーションコンポーネントソフ
トウエアをアクセスできるようにするコンポーネントマ
ネージャと、ハードウエアシミュレーションコンポーネ
ントソフトウエアから発生する割込みを受けて組み込み
機器の割込み処理ソフトウエアを実行させる割込みマネ
ージャを持ち、既にコンパイル済みの個々のハードウエ
アシミュレーションコンポーネントから出力される信号
の変化を、関連づけられた他のハードウエアシミュレー
ションコンポーネントへ伝達し、信号の変化を伝達され
たハードウエアシミュレーションコンポーネントを活性
化させる機能を有するハードウエアコンポーネントソフ
トウエアを持つことを特徴としている。
【0011】請求項3の発明においては、ソフトウエア
デバッガと、ハードウエアをシミュレーションするハー
ドウエアシミュレーションコンポーネントソフトウエア
及びハードウエアシミュレーションコンポーネントソフ
トウエアをアクセスできるようにするコンポーネントマ
ネージャと、ハードウエアシミュレーションコンポーネ
ントソフトウエアから発生する割込みを受けて組み込み
機器の割込み処理ソフトウエアを実行させる割込みマネ
ージャを持ち、既にコンパイル済みの個々のハードウエ
アシミュレーションコンポーネントが持つレジスタのア
ドレス値を取得し、そのアドレスへ組み込み機器のソフ
トウエアがアクセスした時にその内容をハードウエアシ
ミュレーションコンポーネントへ伝達し、対応するハー
ドウエアシミュレーションコンポーネントを活性化させ
る機能を有するハードウエアシミュレーションコンポー
ネントマネージャを持つことを特徴としている。
【0012】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図2から図4を用いて説明する。
【0013】図2は、本発明の実施の形態における組み
込み機器用論理シミュレータの構成を示すブロック図を
示す。
【0014】図2において、コンピュータ7の中に組み
込み機器用ソフトウエア論理シミュレータ12と単体で
も起動可能になっているハードウエアシミュレーション
コンポーネントソフトウエア8、9、10がある。
【0015】組み込み機器用ソフトウエア論理シミュレ
ータ12の初期化動作をまず説明する。組み込み機器用
ソフトウエア論理シミュレータ12は起動するとハード
ウエアシミュレーションコンポーネント構成情報15を
用いてコンピュータ内のコンポーネントソフトウエアを
探索し、そのコンポーネントソフトウエアを起動する。
起動後コンポーネントマネージャ11はハードウエアシ
ミュレーションコンポーネントソフトウエア8、9、1
0からそれらのコンポーネントにどのようなレジスタが
あるのか、また、どのような信号があるのかを問い合わ
せ、情報を得る。これらの情報とハードウエアシミュレ
ーションコンポーネント間接続情報16を用いて、どの
レジスタがマイクロコントローラのメモリ空間のどのア
ドレスに配置されるか、また、どの信号とどの信号を組
み合わせるかをコンポーネントマネージャ11が決定
し、登録する。ソフトウエアデバッガ14はデバッグ対
象ソフトウエア17内のリセットスタート部分のソフト
ウエアから実行する。実行の際、命令実行エンジン部分
は新たに作られたスレッドで動作させる。別なスレッド
で動作させるとコンピュータ7のオペレーティングシス
テムの機能によりデバッグ対象ソフトウエアの実行部分
であるソフトウエアデバッガとハードウエアシミュレー
ションコンポーネントやコンポーネントマネージャなど
の他の部分が時分割で実行されるようになる。以上が初
期化動作の説明である。
【0016】次に組み込み機器用ソフトウエア論理シミ
ュレータ12のシミュレーション実行中の動作を説明す
る。
【0017】実行中にハードウエアシミュレーションコ
ンポーネントソフトウエアにより登録されたレジスタへ
のアクセスする動作が実行された時、コンポーネントマ
ネージャ11に通知する。コンポーネントマネージャ1
1はそのアクセス内容を対応するハードウエアシミュレ
ーションコンポーネントソフトウエアへ通知する。ハー
ドウエアシミュレーションコンポーネントソフトウエア
はレジスタの変化に対応した動作を行う。
【0018】ハードウエアシミュレーションコンポーネ
ントソフトウエアの持つ信号の状態が変化した場合、そ
の旨をコンポーネントマネージャ11へ通知する。コン
ポーネントマネージャは予め決定されている信号とハー
ドウエアシミュレーションコンポーネントとの関係を元
に関連するハードウエアシミュレーションコンポーネン
トソフトウエアへ信号の状態が変化したことを通知す
る。通知されたハードウエアシミュレーションコンポー
ネントソフトウエアは信号の状態が変化したことを受け
て、ハードウエアの動作のシミュレーションを行う。
【0019】ハードウエアシミュレーションコンポーネ
ントソフトウエア内でマイクロコントローラへの割込み
を要求する事象が発生した場合、ハードウエアシミュレ
ーションコンポーネントソフトウエアはコンポーネント
マネージャ11へ通知する。さらにコンポーネントマネ
ージャは割込みマネージャ13に割込み要求を伝え、割
込みマネージャはソフトウエアデバッガ14で実行中の
スレッドを一時停止させてデバッグ対象ソフトウエア1
7内の割込み処理部分を新しいスレッドを作成してそこ
で実行する。割込み処理部分のスレッドの実行が終わる
と、割込みマネージャはそれを検出し一時停止させてい
たスレッドを再度実行する。
【0020】図3は前述の初期化動作のフローを説明し
ている。図4は前述のシミュレーション実行中にレジス
タアクセスがソフトウエアデバッガで発生した場合とハ
ードウエアシミュレーションコンポーネント内で信号の
変化が発生した時の通知の流れを示している。
【0021】なお、ハードウエアシミュレーションコン
ポーネントソフトウエアは簡単なものならばBasic
などやスクリプトなどのような言語で記述してもよく、
少し複雑なものならばC言語やC++言語、JAVA等
で記述しても良い。ハードウエアのシミュレーション精
度を犠牲にするならば非常に高速に実行することができ
る。ハードウエアのシミュレーション精度を重視し動作
速度を犠牲にするならばハードウエアシミュレータを利
用することも可能である。どのような方法であっても単
体で実行可能なものであり、上記のような規則で他のア
プリケーションと通信できるものであれば良い。
【0022】
【発明の効果】以上のように本発明に係る組み込み機器
用ソフトウエア論理シミュレータは、ハードウエアシミ
ュレーションコンポーネントソフトウエアが単体で実行
可能なアプリケーションであり、組み込み機器用ソフト
ウエア論理シミュレータの利用者はその実現方法を関知
する必要がなく、ソフトウエアのデバッグに注力でき
る。一方、ハードウエアシミュレーションコンポーネン
トソフトウエアの実現方法は多様であり、ハードウエア
シミュレーションコンポーネントソフトウエアはシミュ
レーションしようとする対象のハードウエアの特性に応
じて最適なツールを選択することができる。また、ハー
ドウエアシミュレーションコンポーネントソフトウエア
は他のアプリケーションとのインターフェイスも単純で
あるため、再利用も容易である。
【図面の簡単な説明】
【図1】従来のプログラム言語でハードウエアとソフト
ウエアを同時に記述する手法の場合の構成を示すブロッ
ク図
【図2】本発明の実施の形態における組み込み機器用ソ
フトウエア論理シミュレータの構成を示すブロック図
【図3】組み込み機器用ソフトウエア論理シミュレータ
の初期化動作を示すフロー図
【図4】組み込み機器用ソフトウエア論理シミュレータ
の事象発生時の動作を示す図
【符号の説明】
1 コンピュータ 2、3、4 ハードウエア動作記述 5 デバッグ対象ソフトウエア 6 ソフトウエアデバッガ 7 コンピュータ 8、9、10 ハードウエアシミュレーションコンポー
ネントソフトウエア 11 コンポーネントマネージャ 12 組み込み機器用ソフトウエア論理シミュレータ 13 割込みマネージャ 14 ソフトウエアデバッガ 15 ハードウエアシミュレーションコンポーネント構
成情報 16 ハードウエアシミュレーションコンポーネント間
接続情報 17 デバッグ対象ソフトウエア

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ソフトウエアデバッガと、ハードウエア
    をシミュレーションするハードウエアシミュレーション
    コンポーネントソフトウエアと、ハードウエアシミュレ
    ーションコンポーネントソフトウエアをアクセスできる
    ようにするコンポーネントマネージャと、ハードウエア
    シミュレーションコンポーネントソフトウエアから発生
    する割込みを受けて組み込み機器の割込み処理ソフトウ
    エアを実行させる割込みマネージャから構成されるシス
    テムであり、任意のプログラム言語で記述されコンパイ
    ルされた実行可能状態にあるハードウエアシミュレーシ
    ョンコンポーネントを一個以上接続して動作することを
    特徴とする組み込み機器用ソフトウエア論理シミュレー
    タ。
  2. 【請求項2】 ソフトウエアデバッガと、ハードウエア
    をシミュレーションするハードウエアシミュレーション
    コンポーネントソフトウエアと、ハードウエアシミュレ
    ーションコンポーネントソフトウエアをアクセスできる
    ようにするコンポーネントマネージャと、ハードウエア
    シミュレーションコンポーネントソフトウエアから発生
    する割込みを受けて組み込み機器の割込み処理ソフトウ
    エアを実行させる割込みマネージャから構成されるシス
    テムであり、既にコンパイル済みの個々のハードウエア
    シミュレーションコンポーネントから出力される信号の
    変化を、関連づけられた他のハードウエアシミュレーシ
    ョンコンポーネントへ伝達し、信号の変化を伝達された
    ハードウエアシミュレーションコンポーネントを活性化
    させる機能を有するハードウエアコンポーネントソフト
    ウエアを持つことを特徴とする組み込み機器用ソフトウ
    エア論理シミュレータ。
  3. 【請求項3】 ソフトウエアデバッガと、ハードウエア
    をシミュレーションするハードウエアシミュレーション
    コンポーネントソフトウエア及びハードウエアシミュレ
    ーションコンポーネントソフトウエアをアクセスできる
    ようにするコンポーネントマネージャと、ハードウエア
    シミュレーションコンポーネントソフトウエアから発生
    する割込みを受けて組み込み機器の割込み処理ソフトウ
    エアを実行させる割込みマネージャから構成されるシス
    テムであり、既にコンパイル済みの個々のハードウエア
    シミュレーションコンポーネントが持つレジスタのアド
    レス値を取得し、そのアドレスへ組み込み機器のソフト
    ウエアがアクセスした時にその内容をハードウエアシミ
    ュレーションコンポーネントへ伝達し、対応するハード
    ウエアシミュレーションコンポーネントを活性化させる
    機能を有するハードウエアシミュレーションコンポーネ
    ントマネージャを持つことを特徴とする組み込み機器用
    ソフトウエア論理シミュレータ。
JP09564898A 1998-04-08 1998-04-08 組み込み機器用ソフトウエア論理シミュレータ Expired - Fee Related JP3424548B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09564898A JP3424548B2 (ja) 1998-04-08 1998-04-08 組み込み機器用ソフトウエア論理シミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09564898A JP3424548B2 (ja) 1998-04-08 1998-04-08 組み込み機器用ソフトウエア論理シミュレータ

Publications (2)

Publication Number Publication Date
JPH11296408A true JPH11296408A (ja) 1999-10-29
JP3424548B2 JP3424548B2 (ja) 2003-07-07

Family

ID=14143334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09564898A Expired - Fee Related JP3424548B2 (ja) 1998-04-08 1998-04-08 組み込み機器用ソフトウエア論理シミュレータ

Country Status (1)

Country Link
JP (1) JP3424548B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297414A (ja) * 2001-03-30 2002-10-11 Nec Corp システムシミュレータ、シミュレーション方法及びシミュレーションプログラム
US9880927B2 (en) 2012-05-12 2018-01-30 Volkswagen Ag Functionally expandable vehicle control device and method for supplementing the functionality of a vehicle control device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297414A (ja) * 2001-03-30 2002-10-11 Nec Corp システムシミュレータ、シミュレーション方法及びシミュレーションプログラム
US7246052B2 (en) * 2001-03-30 2007-07-17 Nec Electronics Corporation Bus master and bus slave simulation using function manager and thread manager
JP4529063B2 (ja) * 2001-03-30 2010-08-25 ルネサスエレクトロニクス株式会社 システムシミュレータ、シミュレーション方法及びシミュレーションプログラム
US9880927B2 (en) 2012-05-12 2018-01-30 Volkswagen Ag Functionally expandable vehicle control device and method for supplementing the functionality of a vehicle control device

Also Published As

Publication number Publication date
JP3424548B2 (ja) 2003-07-07

Similar Documents

Publication Publication Date Title
US6011920A (en) Method and apparatus for debugging applications on a personality neutral debugger
US5771370A (en) Method and apparatus for optimizing hardware and software co-simulation
US5768567A (en) Optimizing hardware and software co-simulator
US5978584A (en) Debugging apparatus for debugging a program by changing hardware environments without changing program operation state
US20050165597A1 (en) Apparatus and method for performing hardware and software co-verification testing
US5630049A (en) Method and apparatus for testing software on a computer network
JP2753500B2 (ja) 多重アーキテクチャ環境内で特にコードのデバッグを行う改良したソフトウェア・デバッグ・システムと方法
US7171653B2 (en) Systems and methods for providing communication between a debugger and a hardware simulator
US5047926A (en) Development and debug tool for microcomputers
JP5270330B2 (ja) マルチコアマイコンシステムのシミュレーション方法及びシミュレーション装置
US7647583B2 (en) Method and apparatus for emulating a hardware/software system using a computer
US5363501A (en) Method for computer system development verification and testing using portable diagnostic/testing programs
JPH11505645A (ja) プロセッサに基づくデジタルシステムをシミュレートするための装置および方法
CN117422026B (zh) 一种基于risc-v架构的处理器验证系统
US7016826B2 (en) Apparatus and method of developing software for a multi-processor chip
EP3532936A1 (en) Debugging system and method
JP3424548B2 (ja) 組み込み機器用ソフトウエア論理シミュレータ
Melear Using background modes for testing, debugging and emulation of microcontrollers
US8914274B1 (en) Method and system for instruction set simulation with concurrent attachment of multiple debuggers
KR20050063023A (ko) 제이티에이지를 이용한 임베디드 시스템의 디버깅 장치 및방법
JP2001195275A (ja) 半導体試験装置のプログラム実行方式
Devins SoC Verification Software–Test Operating System
KR100200712B1 (ko) 노-타겟 시스템의 프로그램 디버깅 장치
Goldberg et al. The PRIM System: An alternative architecture for emulator development and use
KR100658485B1 (ko) 마이크로프로세서 개발시스템

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090502

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100502

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees