JPH1011112A - Monitor device for developing and monitoring firmware for system, developing method, and in-generic-circuit emulator device - Google Patents
Monitor device for developing and monitoring firmware for system, developing method, and in-generic-circuit emulator deviceInfo
- Publication number
- JPH1011112A JPH1011112A JP9083088A JP8308897A JPH1011112A JP H1011112 A JPH1011112 A JP H1011112A JP 9083088 A JP9083088 A JP 9083088A JP 8308897 A JP8308897 A JP 8308897A JP H1011112 A JPH1011112 A JP H1011112A
- Authority
- JP
- Japan
- Prior art keywords
- subsystem
- target
- processor
- host
- monitor
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、埋め込みプロセッ
サシステム用のフアームウェアの開発及びテストに使用
される装置に関する。The present invention relates to an apparatus used for developing and testing firmware for an embedded processor system.
【0002】[0002]
【従来の技術及び発明が解決しようとする課題】埋め込
みプロセッサシステムの使用は、広く広がっている。そ
のアプリケーションは、簡単な消費者用電子装置から先
端の航空宇宙システムに及んでいる。ハードウェア設計
を別にして、ファームウェアプログラムは、埋め込みプ
ロセッサが仕様通りに機能するように書かれねばならな
い。BACKGROUND OF THE INVENTION The use of embedded processor systems is widespread. Its applications range from simple consumer electronics to advanced aerospace systems. Apart from the hardware design, the firmware program must be written so that the embedded processor works as specified.
【0003】リアルタイムシステムにおけるテスト及び
バグ除去は時間がかかり且つ退屈である。システムの各
種のソフトウェアモジュールをリアルタイムでサービス
するためにプロセッサは時間分割戦略を使用する。この
ため、ある特定時点におけるプロセッサの実行状態を決
定することは困難である。[0003] Testing and bug removal in real-time systems is time consuming and tedious. Processors use a time division strategy to service the various software modules of the system in real time. For this reason, it is difficult to determine the execution state of the processor at a certain point in time.
【0004】現在、回路内エミュレータがコードトレー
ス及びステップ装置の助力でフアームウェアプログラム
の開発、バグ除去を助けるために使用される。回路内エ
ミュレータは、プロセッサの信号の探索及びテストを行
うためにプロセッサのソケットに差し込まれているリモ
ートパッドを用いる。インターフェイスは、ユーザにプ
ロセッサの作動をモニタし介入することを許容する。回
路内エミュレータは、ブレークポイントがコード内特定
位置にセットされることを許容する。内部メモリ及びレ
ジスタの内容は、プロセッサが停止しているときにのみ
調べることができる。At present, in-circuit emulators are used to assist in the development of firmware programs and the removal of bugs with the help of code trace and step equipment. In-circuit emulators use a remote pad that plugs into the processor's socket to search and test the processor's signals. The interface allows a user to monitor and intervene in the operation of the processor. An in-circuit emulator allows breakpoints to be set at specific locations in the code. The contents of internal memory and registers can only be examined when the processor is stopped.
【0005】回路内エミュレータは、それがエミュレー
トするよう設計されたプロセッサ群に対して独占的に機
能する。エミュレータの使用を1クラスのプロセッサか
ら全く異なった別セットのプロセッサに移転することは
不可能である。エミュレータはそれ故、特別なプロセッ
サである。[0005] In-circuit emulators work exclusively for processors that they are designed to emulate. It is not possible to transfer the use of an emulator from one class of processor to a completely different set of processors. Emulators are therefore special processors.
【0006】回路内エミュレータ同等のソフトウェア
は、フアームウェアの機能性を検証するのに使用するこ
とができる。ソフトウェアエミュレータは、特定のプロ
セッサの資源及び挙動をシミュレートするために使用さ
れるソフトウェアである。しかしながら、このテスト方
法はプロセッサに接続された関連のハードウェアに及ぼ
すフアームウェアの影響を調査することができない。Software equivalent to an in-circuit emulator can be used to verify the functionality of the firmware. Software emulators are software used to simulate the resources and behavior of a particular processor. However, this test method cannot investigate the effect of firmware on the associated hardware connected to the processor.
【0007】目標のプロセッサの入出力信号をモニタす
るハードウェア装置が使用される。この装置は、データ
又はコマンド信号にプロセッサの入力ピンに導入される
ことを許容する。これにより、与えられた入力ピンに対
するプロセッサの応答がモニタされる。A hardware device that monitors the input / output signals of the target processor is used. This device allows data or command signals to be introduced at the input pins of the processor. This monitors the processor's response to a given input pin.
【0008】上述のハードウェア装置及び回路内エミュ
レータは、二つの独立したフアームウェアバグ除去シス
テムである。しかしながら、これらは一体の開発、テス
トシステムを形成するために一緒に使用される。The hardware device and in-circuit emulator described above are two independent firmware bug removal systems. However, they are used together to form an integrated development and test system.
【0009】リアルタイム埋め込みシステムにおけるフ
アームウェアのテスト及びバグ除去は、退屈で時間がか
かる。かかる一つのシステムは、消費者用電子の分野で
与えられる。Testing and bug removal of firmware in real-time embedded systems is tedious and time consuming. One such system is provided in the field of consumer electronics.
【0010】多くの電子装置は、ユーザによって予めに
セットされた特定の時刻に起動されるイベントを有する
リアルタイムの時計を組み込んでいる。かかるシステム
において実施されるテスト及びバグ除去は、イベントス
ケジュールが起動される前に、実時間が経過するのを待
たねばならないため時間がかかる。フアームウェアが変
更された場合、システムは再びテストされねばならな
い。これらの長たらしい反復テストサイクルは、システ
ムをテストするのに必要な時間を著しく延長する。リア
ルタイム時計に関連するイベントの無監督検証には、い
かなる装置も設けられていない。[0010] Many electronic devices incorporate a real-time clock with an event that is activated at a specific time preset by the user. Testing and bug elimination performed in such a system is time consuming because the real time must wait for the event schedule to be activated. If the firmware changes, the system must be tested again. These lengthy and repetitive test cycles significantly increase the time required to test the system. No equipment is provided for unsupervised verification of events related to real-time clocks.
【0011】一つのかかる例は、消費者用オーディオ製
品におけるタイマーおよび時計サブシステムである。タ
イマーは、目覚まし及び休眠モードを備える。オーディ
オ装置がスタンドバイモード(休眠モード)に入る、又
は、動作する特定の時間は、予めセットすることができ
る。かかるシステムをテストするために、目覚まし時間
あるいは休眠時間が先ずセットされる。正確なイベント
が起きるかどうかをみるための検査を行うには実時間が
経過する必要がある。休眠あるいはスタンドバイモード
を起動する時間は、多くの時間離れていることがある。
この結果、適切なイベントが発生するまでに多くの待ち
時間が経過する。例えば、もし現在時間が07:00で
目覚まし時間が19:00にセットされるならば、12
時間の待ち時間になる。この長い待ち時間は時間浪費で
あり低減の必要がある。[0011] One such example is the timer and clock subsystem in consumer audio products. The timer has a wake-up and sleep mode. The specific time when the audio device enters or operates in a standby mode (sleep mode) can be preset. To test such a system, a wake-up or sleep time is first set. Real-time must elapse before testing to see if the correct event occurs. The time to activate sleep or standby mode can be many hours apart.
As a result, many wait times elapse before an appropriate event occurs. For example, if the current time is 07:00 and the wake-up time is set to 19:00, 12
It will be a waiting time. This long waiting time is time consuming and needs to be reduced.
【0012】リアルタイムシステムのバグ除去中におけ
るメモリ及びレジスタの内容を調査する必要がある。現
在の回路内エミュレータは、プロセッサが停止状態ある
いはリセット状態にあるときメモリ内容に変更を許容す
るのみである。プロセッサが実行しているときは回路内
エミュレータによるメモリの変更は、不可能である。There is a need to investigate the contents of memory and registers during bug removal in a real-time system. Current in-circuit emulators only allow changes to the memory contents when the processor is in a halt or reset state. Changing the memory by the in-circuit emulator is not possible when the processor is running.
【0013】回路内エミュレータ装置は、高価であり特
殊なプロセッサである。多くの組み合わせのプロセッサ
が利用可能である環境においては、それぞれの対応エミ
ュレーターを獲得することは経済的に良くない。ユーザ
にそれぞれの新エミュレーターの作動に精通することを
許容するには時間も要求される。異なったプロセッサ群
を目標にすることができるエミュレーターは入手不可能
である。典型的システムにおいてあるプロセッサの使用
から別のプロセッサへの移転が行われるとき、現在及び
以前のフアームウェアセットにおいて使用されるプログ
ラム可変配列及びラベルは、通常異なる。フアームウェ
アのトラブルシューティングを企てる第三者は、同じ機
能に異なる名が付されているためコードを変数およびラ
ベルとして理解するのに困難を経験するだろう。The in-circuit emulator is an expensive and special processor. In an environment where many combinations of processors are available, it is not economically feasible to get a respective emulator. Time is also required to allow users to become familiar with the operation of each new emulator. Emulators that can target different processors are not available. As the transfer from use of one processor to another in a typical system occurs, the program variable arrays and labels used in current and previous firmware sets are usually different. Third parties who attempt to troubleshoot firmware will have difficulty understanding the code as variables and labels because the same function is named differently.
【0014】一般のエミュレータのサブセット又はフル
セットを包含する開発中のシステムのテスト、バグ除去
及びモニタ用の低コスト一体化装置は、埋め込みプロセ
ッサシステム用のフアームウェアの開発及びバグ除去を
大いに増大・促進しうるツールである。A low cost integrated device for testing, bug removal and monitoring of a system under development, including a subset or full set of common emulators, greatly enhances the development and bug removal of firmware for embedded processor systems. A tool that can be promoted.
【0015】本発明の目的は、より汎用性に優れたプロ
セッサシステム用のファームウェアの開発及びテスト用
のモニタ装置、開発方法、及び、回路内エミュレータ装
置を提供することである。An object of the present invention is to provide a monitor device for developing and testing firmware for a processor system which is more versatile, a development method, and an in-circuit emulator device.
【0016】[0016]
【課題を解決するための手段】本発明の第1の観点にお
いては、埋め込みプロセッサベースのシステムにおける
フアームウェアのテスト及びバグ除去用のリアルタイム
モニタ装置を開示する。本装置は、ホストコンピュータ
のサブシステム、埋め込みプロセッサシステムを表す目
標サブシステム、ホストコンピュータのサブシステムと
目標サブシステムを接続する通信リンクサブシステム、
及び、リアルタイムにおける前記目標サブシステムのモ
ニタ作動及びそのモニタ結果の保有のためにホストコン
ピュータサブシステムに存在するモニタサブシステムよ
りなる。SUMMARY OF THE INVENTION In a first aspect of the present invention, a real-time monitor for testing and removing bugs in firmware in an embedded processor-based system is disclosed. The apparatus includes a host computer subsystem, a target subsystem representing an embedded processor system, a communication link subsystem connecting the host computer subsystem and the target subsystem,
And a monitor subsystem existing in the host computer subsystem for real-time monitoring operation of the target subsystem and holding the monitor result.
【0017】本発明の他の観点においては、それぞれ異
なった制御プロセッサを持つ複数の目標サブシステムの
一つにホストモニタシステムを使用してテストされるこ
とを許容する通信プリミティブの標準化された開発の方
法が開示されている。前記方法は、ユーザインターフェ
イスサブシステム、プロセッサ資源データ倉庫サブシス
テム、テストデータベースエンジンサブシステム、オー
トテスタサブシステム、一般のエミュレタハードウェア
サブシステム、及び、一般の遠隔プロセッサポッドサブ
システムの段階よりなる。In another aspect of the invention, a standardized development of a communication primitive that allows one of a plurality of target subsystems, each having a different control processor, to be tested using a host monitor system. A method is disclosed. The method comprises the steps of a user interface subsystem, a processor resource data warehouse subsystem, a test database engine subsystem, an autotester subsystem, a general emulator hardware subsystem, and a general remote processor pod subsystem.
【0018】本発明から、メモリ及びレジスタの内容を
リアルタイムでアクセスし変更することができる経済的
かつ能率的システムが考案された。このシステムは如何
なるタイプのプロセッサでも作動をモニタすることがで
きる。当該システムはプロセッサの作動を容易にして、
目標プロセッサのメモリ及びレジスタ資源をリアルタイ
ムでモニタする手段、異なったプロセッサ群が同一のホ
スト及び通信サブシステムを使用してモニタされること
ができる手段を包含している。From the present invention, an economical and efficient system has been devised which allows the contents of memories and registers to be accessed and modified in real time. The system can monitor the operation of any type of processor. The system facilitates the operation of the processor,
It includes means for monitoring the memory and register resources of the target processor in real time, means for different groups of processors to be monitored using the same host and communication subsystem.
【0019】ホストプロセッササブシステムは、特定の
テストのためにテストケースを蓄積及びドキュメントす
る手段、人の介入なしに長期間にわたってテストを実施
する手段、目標プロセッサの内部資源をモニタシステム
へ記載する手段、ユーザ入力を受け入れフィードバック
をユーザに提供する手段、ユーザ入力をコード化する手
段、情報を目標サブシステムへ送る手段を包含する。The host processor subsystem is a means for storing and documenting test cases for a particular test, a means for performing tests over an extended period of time without human intervention, and a means for describing the internal resources of the target processor to the monitor system. Means for accepting user input and providing feedback to the user, means for encoding user input, and means for sending information to the target subsystem.
【0020】目標プロセッササブシステムは、ホストモ
ニタサブシステムによって送られる情報を解読する手
段、モニタサブシステムの要求に従ってメモリ及びレジ
スタから読み書きする手段、及びモニタサブシステムへ
情報を送る手段を包含する。The target processor subsystem includes means for decoding the information sent by the host monitor subsystem, means for reading and writing from memory and registers according to the requirements of the monitor subsystem, and means for sending information to the monitor subsystem.
【0021】新しいプロセッサが使用されるときは、常
に新しいエミュレーターを使用しなければならない問題
に取り組むために、汎用エミュレーター装置が与えられ
ている。この装置は1セットのハードウェアのみを使用
して、異なったプラットフォーム及び製造者にわたって
目標プロセッサのバグ除去を行う手段、プロセッサデー
タ保管場所における異なったプロセッサ群の内部資源構
成を記憶及び編集する手段、新しいプロセッサで使用の
ために汎用エミュレーターを初期化し、セットアップす
るために記憶場所から当該プロセッサデータを抽出する
手段、使用される目標プロセッサに無関係な標準化され
たユーザインターフェイスを与える手段、プログラムが
実行している間にリアルタイムでメモリを読み書きする
手段、及び、遠隔のプロセッサポッドが異なったパッケ
ージ及びピン構成を持つプロセッサを収容する手段を提
供する。Whenever a new processor is used, a general-purpose emulator device is provided to address the problem of having to use a new emulator. The apparatus uses only one set of hardware to implement target processor bug elimination across different platforms and manufacturers, a means for storing and editing the internal resource configuration of different processors in a processor data repository, Means for initializing and setting up the general purpose emulator for use with the new processor, for extracting the processor data from the storage location for setting up, for providing a standardized user interface independent of the target processor used, A means for reading and writing memory in real time while in use, and a means for a remote processor pod to accommodate processors having different packages and pin configurations.
【0022】異なったプロセッサにわたる異なった開発
者による可変配列及びラベル名の変化された使用に関す
る問題に取り組むために、変数の名前を標準化するため
に好ましい実施例において、手段が使用されラベルが設
けられる。To address the problem of variable use of variable arrays and label names by different developers across different processors, in a preferred embodiment to standardize the names of variables, means are used and labels are provided. .
【0023】[0023]
【発明の実施の形態】図1は、通信ライン39を使用し
て与えられた通信プロトコル経由で目標システム30に
相互接続されたホストモニタシステム10を示す。ホス
トモニタシステム10は、目標システム30のソフトウ
ェア開発及びテストに使用される。ホストモニタシステ
ム10は、ユーザコマンドインターフェイスモジュール
18、通信ライン39へのハードウェアインターフェイ
ス13及び通信プリミティブモジュール14を含む通信
モジュール、モニタモジュール15、データベースエン
ジンモジュール17、自動テストモジュール16、一組
の目標システム仕様保管部19、ホストプロセッサ1
1、及び、モジュールとホストプロセッサ11を相互接
続するホストバス12よりなる。FIG. 1 shows a host monitor system 10 interconnected to a target system 30 via a communication protocol provided using a communication line 39. FIG. The host monitor system 10 is used for software development and testing of the target system 30. The host monitor system 10 includes a user command interface module 18, a communication module including a hardware interface 13 to a communication line 39 and a communication primitive module 14, a monitor module 15, a database engine module 17, an automatic test module 16, a set of target systems. Specification storage unit 19, host processor 1
1 and a host bus 12 interconnecting the module and the host processor 11.
【0024】図1の目標システム34は、一般にRAM
を含む目標プロセッサ34、一般に目標プロセッサに対
して内部または外部のROM内に形成された目標プロセ
ッサ34用のプロセッサフアームウェア35、目標プロ
セッサによって制御されるあらゆる装置を含むシステム
ハードウェア34、通信ライン39経由でホストモニタ
システムと通信するためのプリミティブ33及びハード
ウェアインターフェイス32を含む通信モジュール、及
び、目標システム30の部品を目標プロセッサ34に接
続する内部バス31よりなる。特に、システムハードウ
ェア36は、上述のような作動を行うリアルタイムの時
計を包含しうる。The target system 34 of FIG.
, A processor firmware 35 for the target processor 34, typically formed in ROM internal or external to the target processor, a system hardware 34 including any devices controlled by the target processor, a communication line 39. It comprises a communication module including a primitive 33 and a hardware interface 32 for communicating with the host monitor system via the host monitor system; In particular, system hardware 36 may include a real-time clock that operates as described above.
【0025】ユーザコマンドインターフェイス18はユ
ーザ入力を受け入れる。ユーザは先ず開発およびテスト
において使用される目標プロセッサの特定のタイプを指
定する。アプリケーションの特定の属性値及び設定値
は、目標プロセッサ34の初期化を可能にするために発
せられる。ユーザインターフェイス18は、また、目標
プロセッサ34によって返される応答を表示しユーザに
入力の結果を知らせる。The user command interface 18 accepts user input. The user first specifies a particular type of target processor to be used in development and testing. Application specific attribute values and settings are issued to allow initialization of the target processor 34. The user interface 18 also displays the response returned by the target processor 34 to inform the user of the results of the input.
【0026】ユーザインターフェイス18は、目標シス
テム30に対して情報を授受するとき、ユーザコマンド
28及びモニタ応答29を通じてモニタモジュール15
と交信する。モニタモジュール16は目標システム仕様
保管部19のセットを読み込み、ユーザインターフェイ
ス18からの入力とともに、通信モジュールに送られる
通信コマンド22を構成する。The user interface 18 transmits / receives information to / from the target system 30 via the user command 28 and the monitor response 29 via the monitor module 15.
Communicate with The monitor module 16 reads the set of the target system specification storage unit 19 and forms a communication command 22 sent to the communication module together with the input from the user interface 18.
【0027】標準化されたプロセッサの独立のプリミテ
ィブの集まりが通信プリミティブモジュール14に存在
する。プリミティブのセットは、目標プロセッサ34内
のROMおよびレジスタ内のデータへのアクセスを提供
する。プリミティブの対応セットは、また、コマンドを
実行するために必要である。異なったプロセッサのハー
ドウェア構造における差異が隠され得るようにより高度
のカプセル化を達成するために、コマンドを実行するプ
リミティブは、目標プロセッサ34として使用しうる各
種のプロセッサにわたって異なって設けられる。プロセ
ッサのプラットフオームに無関係に、プリミティブは同
様な名前で名付けられ、同じ名前を持つものは、常に機
能的に同類とする。このアプローチを使用すれは、異な
った目標プロセッサの構造における差異は、ホストシス
テム10から隠される。A collection of independent primitives of a standardized processor resides in the communication primitives module 14. The set of primitives provides access to data in ROM and registers in target processor 34. A corresponding set of primitives is also needed to execute the command. To achieve a higher degree of encapsulation so that differences in the hardware structure of different processors can be hidden, primitives for executing commands are provided differently across the various processors that can be used as target processors 34. Regardless of the processor platform, primitives are named similarly, and those with the same name are always functionally related. Using this approach, differences in the structure of different target processors are hidden from the host system 10.
【0028】目標システム仕様保管部19は、目標シス
テム30のアプリケーション仕様情報のみならずプロセ
ッサ仕様情報を包含する。プロセッサ仕様情報は、目標
プロセッサ34のレジスタ構成、およびRAM・ROM
マップを包含する。アプリケーション仕様情報は、RA
Mの割り当て及び使用の記述を包含する。類似の機能に
対するプログラムの可変の名称の使用は異なったプロセ
ッサプラットフオームにわたって標準化することができ
る。しかしながら、類似に名ずけられた変数のアドレス
位置は異なりうる。The target system specification storage unit 19 contains not only application specification information of the target system 30 but also processor specification information. The processor specification information includes the register configuration of the target processor 34 and the RAM / ROM
Contains the map. Application specification information is RA
Includes a description of the assignment and use of M. The use of variable names of programs for similar functions can be standardized across different processor platforms. However, the address locations of similarly named variables can be different.
【0029】自動テストモジュール16は、事前にプロ
グラムされたテスト作動のシーケンスからその入力を引
き出す。テスト作動は、テストシーケンス24としてモ
ニタモジュール15に送られる。目標システム仕様保管
部19から回収されたプロセッサ仕様とともに、モニタ
モジュール15は、適当なコマンド22を通信モジュー
ルに送る。The automatic test module 16 derives its inputs from a pre-programmed sequence of test operations. The test operation is sent to the monitor module 15 as a test sequence 24. The monitor module 15 sends an appropriate command 22 to the communication module together with the processor specification collected from the target system specification storage unit 19.
【0030】モニタモジュール15は、通信モジュール
15を経由して目標システム30から入力を受け取り、
一連のテスト結果として自動テストモジュール16に再
送付する。自動テストモジュール16は、データベース
エンジンモジュール17内の記憶装置27に結果を送付
する。さらに、自動テストモジュール16は、モニタモ
ジュール15から受け取った結果を解釈し適宜に行動す
ることができる。例えば、目標プロセッサ34が実行エ
ラー状態になり、人的介入なしには進行することができ
ないことを検出したならば、テストを終了することがで
きる。The monitor module 15 receives an input from the target system 30 via the communication module 15,
The result is resent to the automatic test module 16 as a series of test results. The automatic test module 16 sends the result to the storage device 27 in the database engine module 17. Further, the automatic test module 16 can interpret the result received from the monitor module 15 and take appropriate action. For example, if the target processor 34 detects an execution error condition and cannot proceed without human intervention, the test can be terminated.
【0031】データベースエンジンモジュール17は、
目標システム30の応答を表式化するのに使用される。
データベースエンジンモジュール17は、また、特別仕
様の目標システムをテストするために必要な異なったテ
ストシーケンスを記憶する。データベースレコードは、
アプリケーションの形式、プロセッサの形式、テストの
形式、テスト用ドキュメンテーション、使用コマンドの
リストを包含しうる。データベースエンジンモジュール
17は、フィールド毎、またはフィールドにおけるキー
ワード毎に記録を揃える。The database engine module 17
Used to formulate the response of the target system 30.
The database engine module 17 also stores the different test sequences required to test the custom target system. The database record is
It can include application types, processor types, test types, test documentation, and lists of commands used. The database engine module 17 arranges records for each field or for each keyword in the field.
【0032】通信プリミティブは、通信に必要な最小の
機能性を表すよく定義されたコマンドである。例えば、
通信ポートからの1単一バイト<1バイト0>を受け取
る機能は、もし1バイトが特定のプロセッサに対する1
語であるならば、プリミティブとして分類することがで
きる。10バイトを受け取るために<1バイト0>コマ
ンドは、10回呼び出すことを要するだろう。Communication primitives are well-defined commands that represent the minimum functionality required for communication. For example,
The function of receiving one single byte <1 byte 0> from the communication port is that if 1 byte is 1 for a particular processor,
If it is a word, it can be classified as a primitive. The <1 byte 0> command would need to be called 10 times to receive 10 bytes.
【0033】通信プリミティブの収集は、通信ラインか
ら受け取った情報を解釈し適切な行動を実施する。これ
らの行動は目標システム30へのデータの呼び入れまた
は書き込みを包含することができる。The collection of communication primitives interprets information received from communication lines and performs appropriate actions. These actions can include ingesting or writing data to the target system 30.
【0034】通信プリミティブセットを目標システム3
0に設置するコードは、アプリケーションフアームウェ
ア35から分離して保有される。プリミティブの数は、
目標システム30の上にプロセッサ34の性能による不
当な干渉を及ぼさないように最小限に保留される。ま
た、プリミティブのそれぞれの複雑性は、容易に設置さ
れ、かつ、プロセッサ34のサイクルが余りに多くて実
行できないようにならないように、最小限に留められ
る。The communication primitive set is sent to the target system 3
The code set at 0 is held separately from the application firmware 35. The number of primitives is
It is kept to a minimum so as not to unduly interfere with the performance of processor 34 on target system 30. Also, the complexity of each of the primitives is minimized so that they are easily installed and do not prevent the processor 34 from running too many cycles.
【0035】ホストプロセッサ11は、サービスを要す
るときはいつでも、<サービス要求>信号を目標プロセ
ッサ34に発生する。目標プロセッサ34は、ホストプ
ロセッサ11から送られている要求を検出し、解釈し、
サービスする手段を持つ必要がある。要求信号を検出す
る手段は、選択されているフアームウェア34の構成に
依存する。選択された機構はモニタされている目標シス
テムに干渉を導入してはならない。The host processor 11 generates a <service request> signal to the target processor 34 whenever a service is required. The target processor 34 detects and interprets the request sent from the host processor 11,
You need to have the means to service. The means for detecting the request signal depends on the configuration of the selected firmware 34. The selected mechanism must not introduce interference into the target system being monitored.
【0036】ホストプロセッサ11からの要求ライン
は、目標プロセッサ34の割り込みピンにかく接続さ
れ、かくしてホストプロセッサ11から要求があるとき
は常に割り込み信号を発生することができる。入力され
る要求に対して割り当てられる割り込みの優先度は、ホ
ストプロセッサ34から合理的サービスを得ることがで
きるように選択される必要がある。The request line from the host processor 11 is thus connected to the interrupt pin of the target processor 34, so that an interrupt signal can be generated whenever there is a request from the host processor 11. The priority of the interrupt assigned to the incoming request needs to be selected so that reasonable service can be obtained from the host processor 34.
【0037】その代わりには、ポーリング戦略が使用す
ることができ、これにより目標プロセッサ34が要求ラ
インに接続されたピンの状態を活発に且つ周期的にポー
ルする。フアームウェアの構成は、要求のポーリング及
びサービスが如何に実施されるかを決定する。フアーム
ウェアは、各サブモジュールを順番に呼び出す主制御モ
ジュールを持つ多数のサブーモジュールに組織される。
かかる場合には、ポーリング及びサービス機能は、メイ
ンモジュールによって呼び出されるサブモジュールのひ
とつとして設置することができる。目標プロセッサ34
上のフアームウェア35は、タイマー源に関して順次に
またはその他の目覚まし条件が満足されたとき起動され
うる課題に組織化することができる。要求信号に対する
ポーリング動作はスケジュラーによって周期的に起こさ
れる単一課題として設置することができる。Alternatively, a polling strategy can be used, whereby the target processor 34 actively and periodically polls the state of the pin connected to the request line. The configuration of the firmware determines how polling of requests and services are performed. The firmware is organized into a number of sub-modules with a main control module that calls each sub-module in turn.
In such a case, the polling and service functions can be installed as one of the sub-modules called by the main module. Target processor 34
The upper firmware 35 can be organized into tasks that can be triggered sequentially or when other wake-up conditions are satisfied with respect to the timer source. The polling operation for the request signal can be set up as a single task that is periodically triggered by the scheduler.
【0038】図1の配置に対する通信プロトコルは、目
標システム30及びホストモニタシステム10が情報の
交換において守らねばならぬ標準を定義する。与えられ
たアプリケーションにおいては、目標プロセッサ34の
ポートがほとんど完全に利用されうることに留意するこ
とが重要である。ホストモニタシステム10と交信する
多数の利用可能ポートが存在してはならない。もしモニ
タされている目標システム30が厳しいタイミング要求
を持つリアルタイムのシステムならば、ホストモニタシ
ステム10は自身のタイミング要求を満足するために目
標プロセッサ34の能力に影響を及ぼしてはならない。The communication protocol for the arrangement of FIG. 1 defines a standard that the target system 30 and the host monitor system 10 must adhere to in exchanging information. It is important to note that in a given application, the ports of the target processor 34 can be almost fully utilized. There must not be many available ports communicating with the host monitor system 10. If the monitored target system 30 is a real-time system with stringent timing requirements, the host monitor system 10 must not affect the capabilities of the target processor 34 to meet its timing requirements.
【0039】目標プロセッサ34の通信ポートがすべて
その外部のサブーシステムによって使用されているとき
は、これらの通信ポートを多重化することが必要とな
る。これは図2に示されており、以降この明細書におい
て詳細に記述される。この方法を使用して、追加制御ラ
インは、通信ラインの割り当てを任意化するために使用
することができる。When all of the communication ports of the target processor 34 are being used by subsystems external to it, it is necessary to multiplex these communication ports. This is shown in FIG. 2 and will be described in detail later in this specification. Using this method, additional control lines can be used to customize the assignment of communication lines.
【0040】制御ラインの助力で、目標システム30
は、ホストモニタシステム10がサービスを要求してい
る瞬間を検出することができる。目標システム34は、
もし自身のサブーシステムから要求があるならばモニタ
システム10のサービスの延期を選択することができ
る。これはその外部のサブシステムからの如何なる要求
も最小の遅れまたは遅れなしにサービスされることを保
証する。これとは逆に、モニタシステム10は、また目
標システム30からのサービス要求を検出することがで
きる。これに応答して、モニタシステムは目標プロセッ
サ34がその外部のサブシステムとの交信に関わり得る
ように通信ラインを放棄する。With the help of the control line, the target system 30
Can detect the moment when the host monitor system 10 requests a service. The goal system 34
If there is a request from the own subsystem, the service of the monitor system 10 can be selected to be postponed. This ensures that any requests from its external subsystems will be serviced with minimal or no delay. Conversely, the monitoring system 10 can also detect service requests from the target system 30. In response, the monitoring system relinquishes the communication line so that the target processor 34 can engage in communicating with its external subsystem.
【0041】目標プロセッサ34とモニタシステム10
との間のデータ移転は、直列形態か連立形態かの何れか
によって行うことができる。直列移転に対しては同期伝
達機構が好ましい。かかる機構は非同期の機構に比較し
てより広いプロセッサの選択に適用できるからである。
同期機構においては、ビットクロックがビット流ととも
に送られ、レシイバーは、データが到着次第これをラッ
チする。データの並列移転には、言語クロックがデータ
の言語をラッチインすることを許容するよう要求され
る。The target processor 34 and the monitor system 10
The data transfer between and can be performed in either a serial form or a simultaneous form. For serial transfer, a synchronous transmission mechanism is preferred. This is because such a mechanism can be applied to a wider selection of processors than an asynchronous mechanism.
In a synchronization scheme, a bit clock is sent along with the bit stream, and the receiver latches the data as it arrives. Parallel transfer of data is required to allow the language clock to latch in the language of the data.
【0042】多数の可能な構成が通信プロトコルを設置
するために存在する。構成の選択は利用可能なポート
数、エラー免疫のレベル及び必要な回復、及び、目標プ
ロセッサシステム30に付属した外部のサブシステムの
存在に依存する。A number of possible configurations exist for establishing a communication protocol. The choice of configuration depends on the number of available ports, the level of error immunity and the required recovery, and the presence of external subsystems attached to the target processor system 30.
【0043】さらに、モニタシステム10は、目標プロ
セッサ34の入出力信号を分析する装置(非表示)とと
もに使用される。信号分析装置は、また目標プロセッサ
34における論理レベルを捕捉し、レベルの表示をホス
トモニタシステム10に送る。分析装置は、また適当な
信号を目標プロセッサ34に送ることができる。このた
め、目標プロセッサ34の応答は、その出力ピンからモ
ニタすることができる。モニタシステム10と共にかか
る装置の使用は、ユーザに埋め込みプロセッサ内及び外
部のピンにおける情報にアクセスすることを許容する。
一体化されたテスト及び診断のサブシステムは、目標プ
ロセッサ34のRAM及びレジスタ及びピンの両方から
データにアクセスする能力を有する。Further, the monitor system 10 is used together with a device (not shown) for analyzing input / output signals of the target processor 34. The signal analyzer also captures the logic level at the target processor 34 and sends an indication of the level to the host monitor system 10. The analyzer may also send appropriate signals to the target processor 34. Thus, the response of target processor 34 can be monitored from its output pin. The use of such a device in conjunction with the monitor system 10 allows a user to access information on pins within and outside the embedded processor.
The integrated test and diagnostic subsystem has the ability to access data from both the RAM and registers and pins of the target processor 34.
【0044】図3は、汎用エミュレータ装置80の概要
を示す図である。このシステム80は、標準化されたユ
ーザインターフェイス90、プロセッサ資源データ倉庫
モジュール89、テストデータベースエンジンモジュー
ル88、自動テスターモジュール87、汎用エミュレー
タソフトウェアモジュール86、汎用エミュレータハー
ドウェアモジュール83、汎用遠隔プロセッサポッドモ
ジュール85、ホストプロセッサ81、及び、モジュー
ルとホストプロセッサ81とを相互接続するホストバス
82よりなる。FIG. 3 is a diagram showing an outline of the general-purpose emulator device 80. The system 80 includes a standardized user interface 90, a processor resource data warehouse module 89, a test database engine module 88, an automatic tester module 87, a general purpose emulator software module 86, a general purpose emulator hardware module 83, a general purpose remote processor pod module 85, It comprises a host processor 81 and a host bus 82 interconnecting the modules and the host processor 81.
【0045】標準化されたユーザモジュール90は、ユ
ーザにエミュレーター及び目標プロセッサシステム30
と交信することを許容する。従来のエミュレーターと異
なり、ユーザは目標プロセッサ34のメモリ及びレジス
タの内容をプロセッサ34が実行している間にすべてリ
アルタイムでみることができる。さらに、コード及びト
レース機能にブレークポイントを設置するような各種の
バグ除去ツールが利用可能である。プロセッサ34に無
関係に、インターフェイスの監視及び使用法は、同一の
ままである。新しいエミュレータの場合の新しい環境に
自身を適応させるのにはリードタイムは必要でない。ユ
ーザインターフェイス90は、汎用エミュレータソフト
ウェアエンジンモジュール86を通じてコマンド98及
びデータ99を授受する。[0045] The standardized user module 90 provides the user with an emulator and target processor system 30.
Allow to communicate with. Unlike conventional emulators, the user can view the contents of the memory and registers of the target processor all in real time while the processor is executing. In addition, various bug removal tools are available such as setting breakpoints in code and trace functions. Regardless of the processor 34, monitoring and usage of the interface remains the same. No lead time is needed to adapt itself to the new environment in the case of the new emulator. The user interface 90 sends and receives commands 98 and data 99 through a general-purpose emulator software engine module 86.
【0046】目標プロセッサ34のタイプは、エミュレ
ーター装置80を初期化し構成するためにプロセッサデ
ータ倉庫モジュール89から選択される。このモジュー
ルはプロセッサカテゴリ、入出力ピンの配列、パッケイ
ジングタイプ、レジスタ及びメモリのマップ、プロセッ
サ内部に存在する独特な資源及びプロセッサを完全に定
義するためのその他の定義を包含する。このモジュール
はまたプロセッサに関する情報を追加、編集、探索及び
削除する設備を有する。The type of target processor 34 is selected from the processor data repository module 89 to initialize and configure the emulator device 80. This module contains processor categories, input / output pin arrangements, packaging types, register and memory maps, unique resources that exist inside the processor, and other definitions to completely define the processor. This module also has facilities for adding, editing, searching and deleting information about the processor.
【0047】テストデータベースエンジンモジュール8
8は自動テスターモジュール87によって発せられるコ
マンドに対する目標システム30の応答を表式化する。
データベース88は、また特殊のアプリケーションの機
能性を検証するために必要な異なったテストシーケンス
を蓄える。データベース記録は次のものを含有すること
ができる。即ち、アプリケーションのタイプ、プロセッ
サのタイプ、テストのタイプ、テスト用の資料、及び、
使用コマンドのリストである。Test database engine module 8
8 tabulates the response of the target system 30 to commands issued by the automatic tester module 87.
Database 88 also stores the different test sequences required to verify the functionality of a particular application. The database record can contain: Application type, processor type, test type, test material, and
This is a list of commands used.
【0048】テストデータベースエンジン88は、フイ
ールド毎に、またはフイールド内のキイワード毎に記録
を揃える。自動テスターモジュール87は、汎用エミュ
レーターソフトウェアエンジンモジュール88からコマ
ンドシーケンスセットを入手する。これらのコマンド
は、順々にテストシーケンス93として汎用エミュレー
ターソフトウェアエンジンモジュール86へ発せられ
る。コマンド流に対する目標システムの応答は、一連の
テスト結果94として自動テスターモジュール87へ戻
される。The test database engine 88 aligns records for each field or for each keyword in the field. The automatic tester module 87 obtains the command sequence set from the general-purpose emulator software engine module 88. These commands are sequentially issued to the general-purpose emulator software engine module 86 as a test sequence 93. The response of the target system to the command stream is returned to the automatic tester module 87 as a series of test results 94.
【0049】各種のプロセッサを取り扱う能力は、汎用
エミュレータソフトウェアエンジン86を持つことによ
って可能とされる。これはエミュレーター装置全体の中
心でありプロセッサのデータ倉庫モジュール89から取
り出された情報からその動作のセッティング及び様式を
取り出す。ユーザインターフェイスモジュール90から
のコマンド98はエンジン86に処理のために戻され
る。前に選択されたプロセッサタイプと共に、受け取ら
れたコマンド98は、出力ビット流91として汎用エミ
ュレータハードウェアモジュール83へ発せられる前に
所定のフオーマットに翻訳される。逆に、ハードウェア
モジュール83から得られた入力ビット流データ92
は、プロセッサの様式に従って解読されデータライン9
9経由でユーザインターフェイスモジュール90に送ら
れる。The ability to handle various processors is enabled by having a general purpose emulator software engine 86. This is central to the entire emulator device and derives its operation settings and modes from information retrieved from the data repository module 89 of the processor. Commands 98 from the user interface module 90 are returned to the engine 86 for processing. The received command 98, along with the previously selected processor type, is translated into a predetermined format before being issued as an output bit stream 91 to the general-purpose emulator hardware module 83. Conversely, the input bit stream data 92 obtained from the hardware module 83
Is decoded according to the format of the processor and the data line 9
9 to the user interface module 90.
【0050】汎用エミュレータハードウェアモジュール
83は、ソフトウェアエンジン86と遠隔プロセッサポ
ッド85との間を調整する。レジスタ及びメモリの内容
をリアルタイムで見ることを許すために非常に高速の通
信ライン84間のデータ転送を可能にする通信戦略が使
用される。The general-purpose emulator hardware module 83 coordinates between the software engine 86 and the remote processor pod 85. A communication strategy is used that allows very high speed data transfer between communication lines 84 to allow the contents of registers and memory to be viewed in real time.
【0051】プロセッサのパッケージ及びピン配置は、
プロセッサのグループ及び製造者によって異なる。一般
の遠隔プロセッサポッド85は、各プロセッサを識別す
るパッケージ及びピン構成を収容するアダプターを持っ
ている。The package and the pin arrangement of the processor are as follows.
Varies by processor group and manufacturer. A typical remote processor pod 85 has an adapter that contains a package and pin configuration that identifies each processor.
【0052】図1に戻って、目標システム30がCDラ
ジオカセットプレイヤーのような消費者用製品によって
形成されている此処に示された配置の特定の実施例を説
明することができる。ホストモニタシステム10は、一
般にパーソナルコンピュータ上にあり、ホストプロセッ
サ11はホストモニタシステム10を構成するすべての
異なるモジュールの調整及び制御を行うパーソナルコン
ピュータの制御プロセッサを表す。Returning to FIG. 1, a particular embodiment of the arrangement shown here in which the targeting system 30 is formed by a consumer product such as a CD radio cassette player can be described. The host monitor system 10 is typically on a personal computer, and the host processor 11 represents a control processor of the personal computer that coordinates and controls all the different modules that make up the host monitor system 10.
【0053】データベースエンジンモジュール17は、
CDラジオカセットプレイヤーのフアームウェア開発・
テスト過程中に検出されるプログラムの欠点をドキュメ
ンとするのに必要なあらゆる機能を実施する。それぞれ
の欠点の不存在を検証する修理及びテストシーケンス
は、すべてデータベースの中に蓄えられる。キーワード
を使用して特定プログラムの欠点に関する情報の回収を
許容するために探索エンジンが包含されている。The database engine module 17
Arm wear development of CD radio cassette player
Performs all functions necessary to document any program flaws detected during the testing process. Repair and test sequences that verify the absence of each fault are all stored in a database. A search engine is included to allow the retrieval of information regarding the shortcomings of a particular program using keywords.
【0054】自動テスターモジュール16は、人的介入
の必要なしにCDラジオカセットプレーヤーにコマンド
シーケンスを発生し、スクリプトファイルからその入力
を入手する。各スクリプトファイルは、CDラジオカセ
ットプレーヤの一定の機能を保証するための特別なテス
トを採用する。このモジュールは、プレーヤのリアルタ
イムクロックに依存するイベントに関わるフアームウェ
ア検証テストに大いに使用されると共に、あらゆるテス
ト結果をデータベースモジュールに送る。The automatic tester module 16 generates a command sequence to the CD radio cassette player without the need for human intervention and obtains its input from a script file. Each script file employs special tests to ensure certain functions of the CD radio cassette player. This module is used heavily for firmware verification tests involving events that depend on the player's real-time clock and sends any test results to a database module.
【0055】モニタモジュール15は、自動テスターモ
ジュール16、又は、ユーザインターフェイス18から
のユーザコマンド28からテストシーケンス24を受け
取り、その前に選択されたCDラジオカセットプレーヤ
ー仕様を基にして、通信プリミティブモジュール14に
対しアプリケーションに特定の指令22を発生する。逆
に通信プリミティブモジュール14経由で得られるプレ
ーヤーからの応答は、テスト結果として自動テスターモ
ジュール16及びモニタ応答29としてユーザインター
フェイス18に送られる。The monitor module 15 receives the test sequence 24 from the automatic tester module 16 or the user command 28 from the user interface 18 and based on the previously selected CD radio cassette player specification, the communication primitive module 14 Generates a specific command 22 to the application. Conversely, a response from the player obtained via the communication primitive module 14 is sent to the user interface 18 as an automatic tester module 16 and a monitor response 29 as a test result.
【0056】CDラジオカセットプレーヤーで使用され
うる異なったマイクロコントロラー及びそのメモリマッ
プに関する詳細な情報は、目標システム仕様保管部19
の中に記憶される。テストの前に、特別のマイクロプロ
セッサモデルが選択される。特別なマイクロコントロラ
ー及びそのメモリの使用に関するデータは、モニタ15
及び自動テスターモジュール16に向け送られる。この
方法は同一のユーザコマンド及びテストシーケンス24
にCDラジオカセットプレーヤー上の異なったマイクロ
プロセサにわたって使用されることを許す。Detailed information on the different microcontrollers and their memory maps that can be used in a CD radio cassette player can be found in the target system specification repository 19.
Is stored in Prior to testing, a special microprocessor model is selected. Data on the use of the special microcontroller and its memory is provided on monitor 15
And sent to the automatic tester module 16. This method uses the same user command and test sequence 24
To be used across different microprocessors on a CD radio cassette player.
【0057】ユーザインターフェイス18は、プレーヤ
ーのメモリ・レジスタ内容を表示するために多重データ
視野を生成するために使用されるグラフィカルユーザイ
ンターフェイス(GUI)によって完全に設備される。
内容の変更は、単に各種の視野に表示されたデータを変
えることによって行われる。スクリプトファイルビュー
アー及びエディターは、また一体化されモニタインター
フェイスを形成するために存在する。プレーヤーの時間
及びデータ状態を示す追加の視野もまた存在する。デー
タベースエンジンモジュール17は、ユーザインターフ
ェイス内に完全に包含されている。ユーザによって入力
されたあらゆるコマンドは、モニタモジュール15に向
けられる。The user interface 18 is fully equipped with a graphical user interface (GUI) used to generate multiple data views to display the contents of the player's memory registers.
The contents are changed simply by changing the data displayed in various fields of view. A script file viewer and editor also exist to be integrated to form a monitor interface. There are also additional views showing the time and data status of the player. The database engine module 17 is completely contained within the user interface. Any commands entered by the user are directed to the monitor module 15.
【0058】通信プリミティブモジュール14は、モニ
タモジュールから指令を入手し、これらをよく定義され
た通信プリミティブに翻訳する。一連のプリミティブ
は、出力ビット流の形でハードウェアインターフェイス
に移転される。通信プリミティブモジュールは、ハード
ウェアインターフェイス経由でCDラジオカセットプレ
ーヤーから入力ビット流21を受け取り、受け取った情
報を解釈し、これをモニタモジュールに送る。The communication primitive module 14 obtains commands from the monitor module and translates them into well-defined communication primitives. The set of primitives is transferred to the hardware interface in the form of an output bit stream. The communication primitive module receives the input bit stream 21 from the CD radio cassette player via the hardware interface, interprets the received information and sends it to the monitor module.
【0059】ハードウェアインターフェイス13は、パ
ーソナルコンピュータの拡張スロットに挿入されたプリ
ント回路カードを使用して設置される。カードと通信モ
ジュールとの間の通信は、ハードウェア割り込みを使用
して実施される。このカードは、CDラジオカセットプ
レーヤーのハードウェアインターフェイス32から信号
を生成・受領するための回路を包含する。入出力レジス
タは、パーソナルコンピュータとプレーヤーとの間でデ
ータの移転をバッファするのに使用される。The hardware interface 13 is installed using a printed circuit card inserted in an expansion slot of a personal computer. Communication between the card and the communication module is performed using hardware interrupts. This card contains circuitry for generating and receiving signals from the hardware interface 32 of the CD radio cassette player. Input / output registers are used to buffer the transfer of data between the personal computer and the player.
【0060】図2は、ホストコンピュータシステム10
とCDラジオカセットプレーヤーとの間の通信ライン3
9を詳細に示す図である。プレーヤにおけるあらゆるプ
ロセスの調整・制御は、目標プロセッサモジュール34
によって代表されるCDラジオカセットプレーヤーのハ
ードウェアのマイクロプロセッサによって取り扱われ
る。プレーヤーの設計は、マイクロプロセッサの異なっ
たモデルに使用を許容する。マイクロプロセッサの変更
は、目標システム仕様保管部19における使用には新し
い情報が選択されることを要するだろう。FIG. 2 shows the host computer system 10.
Communication line 3 between CD radio cassette player
FIG. 9 is a diagram showing 9 in detail. Coordination and control of all processes in the player are performed by the target processor module 34.
Is handled by the microprocessor of the hardware of the CD radio cassette player represented by. The player design allows for different models of microprocessors to be used. Changing the microprocessor will require that new information be selected for use in the target system specification repository 19.
【0061】CDラジオカセットプレーヤー上に存在す
る各種の装置、即ちCDプレーヤー、チューナー、ディ
スプレイ、及びリアルタイム時計が参照数字によって描
かれている。これらの装置は、マイクロプロセッサによ
って制御される。プロセッサファームウェア35は、動
作指令をマイクロプロセッサに送る。通信プリミティブ
モジュール33は、プレーヤーのハードウェアインター
フェイス32経由でビット流38の形でホスト10から
コマンドを入手する。このモジュールは、受け取った情
報を解釈し、コマンドの形でバス31経由でマイクロコ
ントローラ34へ向ける。ホストモニタシステム10用
のマイクロコントローラ34からの情報及びデータは、
通信プリミティブに翻訳のためにモジュール33に送ら
れ、次に出力ビット流を形成する。Various devices residing on a CD radio cassette player, namely a CD player, a tuner, a display, and a real-time clock are depicted by reference numerals. These devices are controlled by a microprocessor. The processor firmware 35 sends an operation command to the microprocessor. The communication primitive module 33 obtains commands from the host 10 in the form of a bit stream 38 via the hardware interface 32 of the player. This module interprets the received information and directs it via the bus 31 to the microcontroller 34 in the form of commands. Information and data from the microcontroller 34 for the host monitor system 10
The communication primitives are sent to the module 33 for translation and then form the output bit stream.
【0062】CDラジオカセットプレーヤーのハードウ
ェアインターフェイス32は、通信リンク39及びマイ
クロコントローラ34の間の接合及びバッファとして機
能する。The hardware interface 32 of the CD radio cassette player functions as a connection and buffer between the communication link 39 and the microcontroller 34.
【0063】図2は、通信・調停及び割り込みラインが
ホストモニタシステム10、CDラジオカセットプレー
ヤーのマイクロコントロラー50(34)、及び、プレ
ーヤーのCDLSIモジュール51の間で如何に接続さ
れるかを示す。CDLSIモジュール51は、時々CD
サブコードデータ58をマイクロコントロラー50に送
り、通信リンク39を構成するシリアルデータライン5
4及びシリアルクロックライン54を使用する。FIG. 2 shows how the communication, arbitration and interrupt lines are connected between the host monitor system 10, the CD radio cassette player microcontroller 50 (34), and the player CDLSI module 51. . The CD LSI module 51 is sometimes
The subcode data 58 is sent to the microcontroller 50, and the serial data line 5
4 and the serial clock line 54 are used.
【0064】調停及び要求ライン52は、ホストモニタ
システム10とプレーヤとの間のデータ流の方向を決定
するために使用される。さらに、ライン52は、また目
標マイクロコントロラー50に対してサービス要求を指
示する手段として作用する。調停ライン52におけるあ
る論理レベルを示してあるパーティは、他のパーティに
送るべきデータがあることを通知する。マイクロコント
ローラ50がホストシステム10にデータを送ることを
意図するときは、常に調停ライン52が明らかに示され
ているかどうかを確かめるチェックを行う。もしライン
52がホストシステム10によって以前に明らかになっ
ていないなら、ライン52を明らかにしクロック55及
び一連のデータ53をホストシステム50に送る。調停
ライン52における信号レベルは、またCDLSIモジ
ュール51とマイクロコントローラとの間の通信を可能
または不可能にするスイッチ56を制御するのに使用さ
れる。The arbitration and request line 52 is used to determine the direction of data flow between the host monitor system 10 and the player. In addition, line 52 also serves as a means for indicating a service request to target microcontroller 50. A party indicating a certain logic level in the arbitration line 52 notifies other parties that there is data to send. Whenever the microcontroller 50 intends to send data to the host system 10, a check is made to see if the arbitration line 52 is clearly shown. If line 52 has not been previously identified by host system 10, line 52 is asserted and clock 55 and a series of data 53 are sent to host system 50. The signal level on the arbitration line 52 is also used to control a switch 56 that enables or disables communication between the CD LSI module 51 and the microcontroller.
【0065】シリアルデータライン53は、プレーヤー
のマイクロコントローラからのビット流をホストモニタ
システム10に搬送する。シリアルデータライン54
は、ホストモニタシステム10からのコマンド及びデー
タビット流をプレーヤーのマイクロコントローラへ、ま
たCDLSIモジュール51からのCDサブーコードデ
ータを搬送するために設けられている。シリアルクロッ
クライン55におけるチェック信号は、同期通信用に使
用され、プレーヤーのマイクロコントローラによって常
に生成される。ライン55の使用は、マイクロコントロ
ーラ50及びCDLSIモジュール51の間で共有され
る。マイクロコントローラ50は、ホストシステム10
がデータの送信をしようとしていることを通告されたと
きは、ホスト10から情報を回収するためにシリアルク
ロックライン55上にクロック信号を生成する。この間
中、CDLSIモジュール51とマイクロコントローラ
50との間の接続は不可能にされねばならない。The serial data line 53 carries the bit stream from the player's microcontroller to the host monitor system 10. Serial data line 54
Is provided to convey command and data bit streams from the host monitor system 10 to the player's microcontroller and CD subcode data from the CDLSI module 51. The check signal on serial clock line 55 is used for synchronous communication and is always generated by the player's microcontroller. The use of line 55 is shared between microcontroller 50 and CDLSI module 51. The microcontroller 50 is connected to the host system 10
Is notified that it is about to transmit data, it generates a clock signal on serial clock line 55 to retrieve information from host 10. During this time, the connection between the CD LSI module 51 and the microcontroller 50 must be disabled.
【0066】割り込み要求ライン59は図示の通り設け
られ、その信号はCDLSIモジュール51より発生す
る。CDLSIモジュール51がマイクロコントローラ
50からサービスを要求するときは、割り込み要求信号
が生成される。特別の割り込み要求ライン59は、また
ホストモニタシステム10に接続され、これによりCD
LSIモジュール51がシリアルデータライン54,5
5の使用を占有しようとしていることを知らせる。もし
ホストモニタシステム10が伝達または受領の最中にあ
るなら、マイクロコントローラ50とCDLSIモジュ
ール51との間に直列の通信が起こることを許すために
ライン54の使用を解除する前に情報の現在ワードの伝
達または受領を先ず完了する。CDLSIモジュール5
1から割り込みを受けるやいなや、マイクロコントロー
ラ50は、CDLSIモジュール51からデータを回収
するためのクロック信号を生成する前に現在の指令の実
行を先に完了する。割り込みサービスルーチンを実行し
た後、マイクロコントローラ50は、ホストシステム1
0に割り込みに先だって、前回の作業を再開できること
を通知するために調停ライン52上に信号を書き込む。The interrupt request line 59 is provided as shown, and its signal is generated from the CDLSI module 51. When the CDLSI module 51 requests a service from the microcontroller 50, an interrupt request signal is generated. A special interrupt request line 59 is also connected to the host monitor system 10 so that the CD
The LSI module 51 is connected to the serial data lines 54 and 5
Inform that you are about to occupy 5 uses. If the host monitor system 10 is in the process of transmitting or receiving, the current word of information before releasing the use of line 54 to allow serial communication between the microcontroller 50 and the CD LSI module 51 to occur. First, the transmission or reception of is completed. CDLSI module 5
As soon as an interrupt is received from the microcontroller 50, the microcontroller 50 completes execution of the current command before generating a clock signal for collecting data from the CDLSI module 51. After executing the interrupt service routine, the microcontroller 50
Prior to the interruption to 0, a signal is written on the arbitration line 52 to notify that the previous operation can be resumed.
【0067】スイッチ56は、電圧制御され、CDLS
Iモジュール51の通信リンク59への接続を可能また
は不可能にするために使用される。スイッチ56が開い
ているときは、CDLSIモジュール51のシリアルク
ロック57及びサブコードデータアウトライン58は切
断されている。そして、通信は、ホストシステム10と
み可能である。スイッチ56が閉じていているときに
は、ホストシステム10は、通信モジュールを不可能に
し、CDLSIモジュール51とマイクロコントローラ
50との間のデータの交換は可能となる。The switch 56 is voltage-controlled, and the CDLS
It is used to enable or disable the connection of the I-module 51 to the communication link 59. When the switch 56 is open, the serial clock 57 and the subcode data outline 58 of the CD LSI module 51 are disconnected. The communication can be regarded as the host system 10. When the switch 56 is closed, the host system 10 disables the communication module, and exchange of data between the CD LSI module 51 and the microcontroller 50 becomes possible.
【0068】上記に説明した実施例を図3に適用する。
ホストプロセッッサー81は、汎用エミュレーター装置
が存在するパーソナルコンピュータ内部においては、エ
ミュレーターを構成するあらゆるモジュールの調整及び
制御が実施されることを表す。The embodiment described above is applied to FIG.
The host processor 81 indicates that adjustment and control of all modules constituting the emulator are performed inside a personal computer in which a general-purpose emulator device exists.
【0069】テストベースエンジン88は、フアームウ
ェアの開発・テスト中に検出されたプログラムの欠点を
ドキュメントする。それぞれの欠点の不在を検証するの
に必要な解決策及びテストシーケンスは、またデータベ
ースに蓄えられる。探索エンジンは、キーワードの使用
によって特定のプログラムの欠点に関する情報の回収を
許すため埋め込まれている。The test base engine 88 documents the shortcomings of the program detected during the development and testing of the firmware. The solutions and test sequences needed to verify the absence of each fault are also stored in a database. Search engines are embedded to allow the retrieval of information about the shortcomings of a particular program through the use of keywords.
【0070】フアームウェアの自動化テストは、自動テ
スターモジュール87を使用し達成される。モジュール
87は、人的介入の必要なしに一連のコマンド93を目
標プロセッサ50に発生する。このモジュールは、スク
リプトファイルから入力を引き出す。各スクリプトファ
イルは、フアームウェアのある機能を検証するための特
殊なテストを実行する。このモジュールは、リアルタイ
ムクロックに依存するイベントに関わるフアームウェア
テストに大いに使用される。あらゆるテスト結果はデー
タベースエンジン88に送られる。The automated testing of the firmware is accomplished using an automated tester module 87. Module 87 generates a series of commands 93 to target processor 50 without the need for human intervention. This module extracts input from a script file. Each script file performs special tests to verify certain features of the firmware. This module is heavily used for firmware testing involving events that depend on the real-time clock. Any test results are sent to the database engine 88.
【0071】汎用のエミュレーターソフトウェアエンジ
ンモジュール86は、一般のエミュレーター装置80の
中心を形成しユーザコマンドの形式においてユーザイン
ターフェイスから、及び、プロセッサ定義の形式におい
てプロセッサ資源データ倉庫モジュール89の両方から
その入力を引き出す。モジュール86は、選択されたプ
ロセッサ50内の資源に関してユーザコマンドをマップ
することにより2組のデータを処理する。これらの処理
されたコマンドは、ハードウェアインターフェース83
に送られる。同様に、ハードウェアインターフェイス8
3から受けたデータは、解読され、ユーザインターフェ
イスモジュール90に移転される。この方法は、エミュ
レータに広い種類のプロセッサを目標にすることを許す
柔軟性を与えることをエミュレータに許容する。一連の
コマンド93が自動テスターモジュール87からソフト
ウェアエンジン86に発せられる。コマンド93は、ユ
ーザインターフェイスモジュール90から受け取った個
々のコマンドと同様に取り扱われる。The general-purpose emulator software engine module 86 forms the center of the general emulator device 80 and receives its input from both the user interface in the form of user commands and from the processor resource data warehouse module 89 in the form of processor definitions. Pull out. Module 86 processes the two sets of data by mapping user commands for resources within selected processor 50. These processed commands are sent to the hardware interface 83
Sent to Similarly, the hardware interface 8
3 is decrypted and transferred to the user interface module 90. This method allows the emulator to provide the flexibility to allow the emulator to target a wide variety of processors. A series of commands 93 are issued from the automatic tester module 87 to the software engine 86. The commands 93 are handled in the same manner as the individual commands received from the user interface module 90.
【0072】使用しうる各種の目標プロセッサ30の内
部資源及び特性を完全に定義する情報は、データを追
加、編集、探索及び回収する設備を持つプロセッサ資源
データ倉庫モジュール89に蓄えられる。ユーザは、プ
ロセッサの適当なタイプを貯蔵庫から選ぶことによりエ
ミュレータ80のハードウェア及びソフトウェアを初期
化する。回収された情報は、汎用エミュレータソフトウ
ェアエンジン86に選ばれたプロセッサに従ってコマン
ド及びメモリマップの翻訳を許すために汎用エミュレー
タソフトウェアエンジン86に送られる。さらに、デー
タは、汎用遠隔プロセッサポッドモジュール85を構成
するために使用される。Information that fully defines the internal resources and characteristics of the various target processors 30 that can be used is stored in a processor resource data warehouse module 89 that has facilities for adding, editing, searching, and retrieving data. The user initializes the hardware and software of the emulator 80 by selecting the appropriate type of processor from the repository. The recovered information is sent to the universal emulator software engine 86 to allow the translation of commands and memory maps according to the processor selected for the generic emulator software engine 86. Further, the data is used to configure a universal remote processor pod module 85.
【0073】ユーザインターフェイスモジュール90
は、グラフィカルユーザインターフェース(GUI)と
して実現される。マルティプルウィンドウ及びデータ視
野は、各種のメモリセグメント及びレジスタをリアルタ
イムで表示するのに使われる。異なった視野に対するデ
ータは、汎用エミュレーターソフトウェアエンジンモジ
ュール86から得られる。メモリの内容は、視野に表示
されたデータを直接に変更することにより変更しうる。
これらの変更は、ユーザコマンドとして汎用エミュレー
タソフトウェアエンジンモジュール86に送られる。ユ
ーザインターフェイス90は、またコードトレース、分
岐及びブレークポイント特徴を実施する。プロセッサタ
イプの選択はユーザインターフェイスの内部から行うこ
とができる。User interface module 90
Is implemented as a graphical user interface (GUI). Multiple windows and data views are used to display various memory segments and registers in real time. Data for the different fields of view is obtained from the universal emulator software engine module 86. The contents of the memory can be changed by directly changing the data displayed in the field of view.
These changes are sent to the general purpose emulator software engine module 86 as user commands. User interface 90 also implements code trace, branch and breakpoint features. The choice of processor type can be made from within the user interface.
【0074】ハードウェアインターフェイス83は、パ
ーソナルコンピュータの拡張スロットに挿入され汎用遠
隔プロセッサポッドモジュール85との高速データ交換
を可能にするプリント回路カードによって完全に実施さ
れる。使用される通信プロトコルは、信頼すべき作動の
ためにデータエラーの検出・訂正を特色とする。汎用遠
隔プロセッサポッドモジュール85との通信は、ハード
ウェア割り込みを使って行われる。レジスタは出入りす
るデータをバッファするために使用される。ハードウェ
アインターフェイス83と汎用遠隔プロセッサポッドモ
ジュール85との間の通信リンク84は、利用しうる最
も要求の厳しいプロセッサの帯域幅を取り扱うように設
計される。The hardware interface 83 is implemented entirely by a printed circuit card that is inserted into an expansion slot of a personal computer and allows high-speed data exchange with a general purpose remote processor pod module 85. The communication protocol used features detection and correction of data errors for reliable operation. Communication with the general-purpose remote processor pod module 85 is performed using hardware interrupts. Registers are used to buffer incoming and outgoing data. The communication link 84 between the hardware interface 83 and the universal remote processor pod module 85 is designed to handle the bandwidth of the most demanding processors available.
【0075】汎用遠隔プロセッサポッドモジュール85
は、一般に目標システム30のプロセッサソケットの挿
入される。広い種類のプロセッサを収容するその能力
は、各種のプロセッサの異なったパッケージ及びピン要
求に従うハードウェアアダプターの選択の使用により可
能とされる。General Purpose Remote Processor Pod Module 85
Is generally inserted into the processor socket of the target system 30. Its ability to accommodate a wide variety of processors is made possible by the use of hardware adapter choices according to the different packages and pin requirements of the various processors.
【0076】図4は、リアルタイム動作システムスケジ
ューラ120について形成されるリアルタイム動作シス
テムのフローチャートである。各種のフアームウェアセ
グメントは、それらが属する特定のアプリケーション機
能に従ってグループ化されている。フアームウェアは、
かくしてコードグループ(122,124,126,1
28,130)よりなる。プロセッサ34は異なるグル
ープを巡回するために時間分割戦略を使用して、多くの
アプリケーション機能の世話をする。プロセッサ34が
あるグループにアプローチしてサービスが求められない
ことを見いだした時は、順番に次のグループの世話のた
めに進む。かくして、1群のグループコードがサービス
される頻度は、プロセッサ34が巡回せねばならぬグル
ープの全数に依存する。多すぎるグループを持つソフト
ウェアの解法は、サービスの平均待ち時間が増加するの
でアプリケーションの不反応を引き起こす。与えられた
タイミング制約で最適数のプログラムグループを許す妥
協が行われねばならない。フアームウェア設計に対する
このアプローチは、現存のアプリケーションプログラム
に対する最小の妨害でリアルタイムのモニタの発生を許
容する。FIG. 4 is a flowchart of a real-time operation system formed for the real-time operation system scheduler 120. The various firmware segments are grouped according to the particular application function to which they belong. Furware is
Thus, the code groups (122, 124, 126, 1)
28, 130). Processor 34 takes care of many application functions, using a time division strategy to cycle through different groups. When the processor 34 approaches one group and finds that service is not required, it proceeds in turn to take care of the next group. Thus, the frequency with which a group of group codes is serviced depends on the total number of groups that the processor 34 must cycle through. Solving software with too many groups causes application unresponsiveness because the average latency of the service increases. A compromise must be made to allow an optimal number of program groups with given timing constraints. This approach to firmware design allows the generation of real-time monitors with minimal disruption to existing application programs.
【0077】ホストプロセッサ11と目標プロセッサ3
4間の交信は、ホストプロセッサ11からの<サービス
要求>信号を検出・解釈するルーチンを包含する通信ソ
フトウェアグループ122によって行われる。プロセッ
サのメモリ・レジスタ領域を読み・変更するその他のル
ーチンはこのグループに含まれる。CDプレーヤーソフ
トウェアグループ124は、あらゆる必要なCDプレー
ヤー機能を実施するルーチンを包含する。Host processor 11 and target processor 3
Communication between the four is performed by a communication software group 122 including a routine for detecting and interpreting a <service request> signal from the host processor 11. Other routines that read and modify the memory register area of the processor fall into this group. CD player software group 124 contains routines that perform any necessary CD player functions.
【0078】チューナー機能を実現するのに必要なソフ
トウェアルーチンは、チューナーソフトウェアグループ
126内に包含される。The software routines required to implement the tuner function are included in tuner software group 126.
【0079】カセットプレーヤーの動作は、カセットプ
レーヤーソフトウェアグループ128内のプログラムに
よって管理される。The operation of the cassette player is managed by a program in the cassette player software group 128.
【0080】CDラジオカセットプレーヤーの表示を取
り扱うプログラムは、表示ソフトウェアグループ130
によって表される。The program that handles the display of the CD radio cassette player is the display software group 130
Represented by
【0081】フアームウェアを有効にする以前の方法
は、退屈で且つ時間がかかり、特にリアルタイムクロッ
クに関連するイベントにおいてそうである。スクリプト
ファイルのコマンド使用を通じて手動または自動で目標
プロセッサのレジスタ及びメモリを遠隔に読み書きでき
る能力で、現在開示されているシステムは、フアームウ
ェアをテストし、または特別のフアームウェア変更を検
証するのに必要な時間を著しく減少する。標準化された
通信プリミティブの使用で、プリミティブがプロセッサ
のフアームウェア内で実施される限り、同一のモニタシ
ステムが広い種類のプロセッサに適用できる。これはフ
アームウェア開発のより早い展開を惹起する。The previous method of enabling firmware was tedious and time consuming, especially for events related to real-time clocks. With the ability to remotely read and write target processor registers and memory manually or automatically through the use of script file commands, the currently disclosed systems are required to test firmware or verify special firmware changes. Time is significantly reduced. With the use of standardized communication primitives, the same monitor system can be applied to a wide variety of processors as long as the primitives are implemented in the processor's firmware. This causes a faster development of the firmware development.
【0082】この好ましい実施例の汎用エミュレーター
装置の使用は、従来のプロセッサ特定のエミュレーター
の収集を獲得する必要を除去することによりコスト効率
の改善を招来する。生産性もまた異なったエミュレター
によって使用される異なったインターフェイスに適応さ
せるよりは、標純化されたインターフェイスを使用する
ことで達成される。The use of the general purpose emulator device of the preferred embodiment results in improved cost efficiency by eliminating the need to obtain a conventional processor-specific emulator collection. Productivity is also achieved by using standardized interfaces rather than adapting to different interfaces used by different emulators.
【0083】可変配列及びラベル名の類似のクラスのア
プリション用のプロセッサにわたっての標準化は、同一
アプリケーション用の新しい1組のコードを理解する退
屈さを減少する。ある特別の実施において一つのプロセ
ッサの使用から他のプロセッサへの使用に要するリード
タイムは、この戦略によって低減される。Standardization of variable arrays and label names across processors for similar classes of applications reduces the tedium of understanding a new set of code for the same application. The lead time required from use of one processor to use of another processor in one particular implementation is reduced by this strategy.
【0084】前記の記載は本発明の若干の実施例のみを
記載する、当業者に明白な変更は、本発明の精神及び範
囲を離脱することなしにこれに加えることができる。The foregoing description describes only some embodiments of the invention, and modifications obvious to those skilled in the art may be added thereto without departing from the spirit and scope of the invention.
【0085】[0085]
【発明の効果】本発明の埋め込みプロセッサのシステム
におけるファームウェアをテスト、バグ除去するリアル
タイムモニタ装置では、目標プロセッサの差異によら
ず、メモリ及びレジスタの内容をリアルタイムでアクセ
スして変更することができる。According to the real-time monitor for testing and removing bugs in the firmware of the embedded processor system of the present invention, the contents of the memory and the register can be accessed and changed in real time regardless of the difference between the target processors.
【0086】本発明のそれぞれ異なる制御プロセッサを
持つ複数の目標サブシステムの1つにホストモニタシス
テムの使用でテストを許すための通信プリミティブの標
準化された開発の方法では、制御ラインが通信ラインの
割り当てを任意化することができる。In a standardized development method of a communication primitive for allowing testing of one of a plurality of target subsystems, each having a different control processor, with the use of a host monitor system according to the present invention, the control line is assigned a communication line assignment. Can be made optional.
【0087】本発明の目標システムの各々が制御目標プ
ロセッサを持つ複数の目標システムの1つの開発及びテ
ストのための汎用回路内エミュレータ装置では、異なる
プロセンサ群を目標にすることができ、プロセッサが動
作している間であってもリアルタイムでメモリの変更を
行うことができる。In a general purpose in-circuit emulator for developing and testing one of a plurality of target systems, each of which has a control target processor, the target systems of the present invention can target different groups of pro sensors and operate the processors. The memory can be changed in real time even during the operation.
【図1】 本発明の一実施例によるホスト及び目標シス
テム内の各種の機能モジュールを示し、かつ、それらが
如何に相互に作用するかを示すブロック線図である。FIG. 1 is a block diagram illustrating various functional modules in a host and target system according to one embodiment of the present invention and showing how they interact.
【図2】 ある特定システムにおけるホスト、目標及び
外部装置間の通信及び制御ラインの共通使用を図示する
概略のブロック線図である。FIG. 2 is a schematic block diagram illustrating the common use of communication and control lines between a host, target and external devices in a particular system.
【図3】 好ましい実施例の汎用エミュレター装置の各
種の機能モジュール間の作用を描く概略ブロック線図で
ある。FIG. 3 is a schematic block diagram depicting the operation between various functional modules of the general purpose emulator of the preferred embodiment.
【図4】 目標プロセッサのリアルタイム作動システム
の概略のフローチャートである。FIG. 4 is a schematic flowchart of a real-time operation system of a target processor.
10…ホストモニタシステム 11…ホストプロセッサ 12…ホストバス 13…ハードウェアインターフェイス 14…通信プリミティブモジュール 15…モニタモジュール 16…自動テストモジュール 17…データベースエンジンモジュール 18…ユーザコマンドインターフェイスモジュール 19…目標システム使用保管部 30…目標システム 34…目標プロセッサ 35…プロセッサファームウェア 36…システムハードウェア 39…通信ライン 80…汎用エミュレータ装置 81…ホストプロセッサ 82…ホストバス 83…汎用エミュレータハードウェアモジュール 85…汎用遠隔プロセッサポッドモジュール 86…汎用エミュレータソフトウェアモジュール 87…自動テスターモジュール 88…テストデータベースエンジンモジュール 89…プロセッサ資源データ倉庫モジュール 90…ユーザインターフェース DESCRIPTION OF SYMBOLS 10 ... Host monitor system 11 ... Host processor 12 ... Host bus 13 ... Hardware interface 14 ... Communication primitive module 15 ... Monitor module 16 ... Automatic test module 17 ... Database engine module 18 ... User command interface module 19 ... Target system use storage part DESCRIPTION OF SYMBOLS 30 ... Target system 34 ... Target processor 35 ... Processor firmware 36 ... System hardware 39 ... Communication line 80 ... General purpose emulator 81 ... Host processor 82 ... Host bus 83 ... General purpose emulator hardware module 85 ... General purpose remote processor pod module 86 ... General-purpose emulator software module 87 ... Automatic tester module 88 ... Test database engine module Module 89: Processor resource data warehouse module 90: user interface
───────────────────────────────────────────────────── フロントページの続き (72)発明者 遠藤 聰 シンガポール469332シンガポール、ベドッ ク・サウス・アベニュー1、202番 マツ シタ・エレクトロニクス・(エス)・プラ イベイト・リミテッド内 (72)発明者 クム・ユエン・ヤン シンガポール798725シンガポール、ロロ ン・タンガム24番 (72)発明者 ツセ・ツソン・テオ シンガポール640542シンガポール、ナンバ ー01−1070、ジュロン・ウエスト・アベニ ュー1番 ブロック543 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Satoshi Endo Singapore 469332 Singapore, Bedok South Avenue 1, No. 202 Matsu Matsu Electronics (S) Private Limited (72) Inventor Kum Yuen・ Yan Singapore 798725 Singapore, Loron Tangham 24th (72) Inventor Tuse Tsung Theo Singapore 640542 Singapore, Number 01-1070, Jurong West Avenue 1st Block 543
Claims (26)
おけるフアームウェアをテスト、バグ除去するリアルタ
イムモニタ装置において、 ホストコンピュータサブシステム、 埋め込みプロセッササブシステムを表す目標サブシステ
ム、 ホストコンピュータサブシステムと目標サブシステムと
の間を接続する通信リンクサブシステム、 前記の目標サブシステムをリアルタイムでモニタし、そ
のモニタ結果を保有する作業のためにホストコンピュー
タサブシステム上に存在するモニタサブシステムよりな
ることを特徴とするモニタ装置。1. A real-time monitor for testing and removing bugs in firmware in an embedded processor-based system, comprising: a host computer subsystem; a target subsystem representing the embedded processor subsystem; and a host computer subsystem and a target subsystem. A communication link subsystem for monitoring the target subsystem in real time, and a monitor subsystem existing on a host computer subsystem for an operation of retaining the monitoring result.
れを通じて前記のホストサブシステムに入力されるユー
ザコマンドコンソールに相互接続されたホストプロセッ
サよりなることを特徴とするモニタ装置。2. The monitor of claim 1, wherein the host computer subsystem comprises a host processor interconnected with a user command console through which user commands are input to said host subsystem. Monitor device.
及び前記の目標プロセッサの外部の周辺装置よりなり且
つ前記の目標プロセッサにより制御されることを特徴と
するモニタ装置。3. The monitoring device according to claim 1, wherein said target subsystem comprises an embedded target subsystem and a peripheral device external to said target processor, and is controlled by said target processor. Monitor device.
前記のホスト及び目標サブシステムを相互接続する制御
ライン、前記のホスト及び目標サブシステム間にデータ
及び制御の移転を確立するための通信プロトコル、及
び、目標サブシステムにおける通信プリミティブセット
よりなることを特徴とするモニタ装置。4. The monitoring device according to claim 1, wherein said communication link subsystem interconnects data, clock and control lines interconnecting said host and target subsystems, and data between said host and target subsystems. And a communication protocol for establishing a transfer of control, and a set of communication primitives in the target subsystem.
システム間にデータ及び制御信号が交換される最小且つ
十分な数のリンクとして奉仕することを特徴とするモニ
タ装置。5. The monitoring device of claim 4, wherein said communication line serves as a minimum and sufficient number of links through which data and control signals are exchanged between said host target subsystems. Characteristic monitor device.
テムが情報の交換において固守せねばならぬコマンド、
データ、調停及び制御信号の所定または標準化された形
式であることを特徴とするモニタ装置。6. The monitoring device according to claim 4, wherein the communication protocol is a command that the host and the target subsystem must adhere to in exchanging information.
A monitoring device characterized in that the data, arbitration and control signals are in a predetermined or standardized form.
セットが信号ライン上の信号を解釈し前記のプロトコル
に従ってコマンド及びデータの受領及び伝達を取り扱う
ことを特徴とするモニタ装置。7. The monitoring device according to claim 6, wherein the set of communication primitives present in the host subsystem interprets signals on signal lines and handles reception and transmission of commands and data according to the protocol. Characteristic monitor device.
ットが信号ライン上の信号を解釈し前記のプロトコルに
従ってコマンド及びデータの受領及び伝達を取り扱うこ
とを特徴とするモニタ装置。8. The monitoring device according to claim 6, wherein said set of communication primitives present in the target subsystem interprets signals on signal lines and handles the reception and transmission of commands and data according to said protocol. Characteristic monitor device.
フェイスサブシステム、目標メモリモニタサブシステ
ム、自動テスターサブシステム、及び、データベースサ
ブシステムを包含することを特徴とするモニタ装置。9. The monitoring device according to claim 6, wherein said monitoring subsystem includes at least a user interface subsystem, a target memory monitoring subsystem, an automatic tester subsystem, and a database subsystem. Monitor device.
て、 前記のモニタサブシステムがユーザから入力を受け取り
目標サブシステムからの動作状態の現況及びデータを表
示することを特徴とするモニタ装置。10. The monitor device according to claim 9, wherein the monitor subsystem receives an input from a user and displays a current status and data of an operation state from a target subsystem.
て、 前記の目標メモリモニタサブシステムがユーザに目標サ
ブシステムのメモリ領域をただし、変更することを許す
ことを特徴とするモニタ装置。11. The monitoring device according to claim 9, wherein the target memory monitoring subsystem allows a user to change a memory area of the target subsystem.
て、 上記自動テスターサブシステムのユーザに対して、ユー
ザの介入、及び、テストの結果とその中に確認されたエ
ラー又は除外の報告無しに、目標サブシステムの自動テ
ストのためのテストシーケンス又は事前のプログラムを
許容することを特徴とするモニタ装置。12. The monitoring device according to claim 9, wherein the user of the automatic tester subsystem is notified without user intervention and reporting of the results of the test and any errors or exclusions identified therein. A monitoring device, which allows a test sequence or a pre-program for automatic testing of a target subsystem.
て、 前記のデータベースサブシステムにおいて、データベー
スサブシステムが異常をその原因及び救済策と共にドキ
ュメントすることを特徴とするモニタ装置。13. The monitoring device according to claim 9, wherein in the database subsystem, the database subsystem documents the abnormality together with its cause and remedy.
て、 更に、目標サブシステムの動作の分析を達成するために
前記目標プロセッサの外部入出力信号をモニタする装置
を有することを特徴とするモニタ装置。14. The monitoring device according to claim 1, further comprising a device for monitoring an external input / output signal of the target processor to achieve an analysis of a target subsystem operation. .
複数の目標サブシステムの一つにホストモニタシステム
の使用でテストを許すための通信プリミティブの標準化
された開発の方法において、(a)前記の目標サブシステ
ムの各アプリケーションフィールド内の可変名称を標準
化し、若干を前記のホストモニタシステム内に保有する
手段と、(b)前記の異なる制御プロセッサの各々及び前
記のホストモニタシステムの制御ホストプロセッサに対
して且つその間で通信プリミティブを標準化し、それを
前記のホストモニタ内部に保留する手段よりなる開発の
方法。15. A method of standardized development of communication primitives for allowing testing of one of a plurality of target subsystems, each having a different control processor, using a host monitor system, the method comprising: (a) providing the target subsystem; Means for standardizing the variable names in each application field and retaining some in the host monitor system; and (b) for each of the different control processors and the control host processor of the host monitor system and A method of development comprising means for standardizing communication primitives between them and holding them inside said host monitor.
て、 前記の可変名称の理解が内部の設置またはアドレス位置
が異なっても与えられた可変の名称が常に同義であるよ
うに類似のタイプ、用途、機能の項目に対して類似の名
称を与えることを特徴とする開発の方法。16. The method of development according to claim 15, wherein the understanding of the variable names is of a similar type, such that given variable names are always synonymous, even if the internal installation or address location is different. A development method characterized by giving similar names to items of use and functions.
て、 前記の通信プリミティブの理解がプリミティブが同一の
機能性を達成するために前記の異なったプロセッサにわ
たって異なって実施されても類似の機能に対して類似の
名称を使用することを特徴とする開発の方法。17. The method of development according to claim 15, wherein the understanding of the communication primitives results in similar functions even if the primitives are implemented differently across the different processors to achieve the same functionality. A method of development characterized by using similar names.
目標プロセッサを持つ複数の目標システムの一つの開発
及びテストのための汎用回路内エミュレータ装置におい
て、 ユーザインターフェイスサブシステムと、 プロセッサ資源データ倉庫サブシステムと、 テストデータベースエンジンサブシステムと、 汎用エミュレータソフトエアーエンジンサブシステム
と、 汎用エミュレーターハードウェアサブシステムと、 汎用遠隔プロセッサポッドサブシステムとからなること
を特徴とする汎用回路内エミュレータ装置。18. A general-purpose in-circuit emulator for developing and testing one of a plurality of target systems, each of said target systems having a control target processor, comprising: a user interface subsystem; a processor resource data warehouse subsystem; An emulator device in a general-purpose circuit, comprising: a test database engine subsystem; a general-purpose emulator software air engine subsystem; a general-purpose emulator hardware subsystem; and a general-purpose remote processor pod subsystem.
レータ装置において、 前記のユーザインターフェイスサブシステムが目標プロ
セッサが実行している間に目標プロセッサのレジスタ及
びメモリ資源の内容をリアルタイムで表示し、目標シス
テムのコマンド及び修正の発行を許容することを特徴と
する汎用回路内エミュレータ装置。19. The general in-circuit emulator of claim 18, wherein the user interface subsystem displays the contents of registers and memory resources of the target processor in real time while the target processor is executing. A general-purpose in-circuit emulator device, which permits issuing of system commands and corrections.
レータ装置において、 前記の標準化されたユーザインターフェイスサブシステ
ムが目標プロセッサが実行している間に目標プロセッサ
のレジスタ及びメモリ資源の、内容をリアルタイムでタ
イムで表示し、その外観及び慣行が使用されるプロセッ
サのタイプに無関係に同一のままであることを特徴とす
る汎用回路内エミュレータ装置。20. The emulator apparatus of claim 18, wherein the standardized user interface subsystem is configured to update the contents of registers and memory resources of the target processor in real time while the target processor is executing. A general purpose in-circuit emulator device characterized in that it is displayed in time and its appearance and practices remain the same regardless of the type of processor used.
ュレータ装置において、 前記のプロセッサ資源データ倉庫サブシステムが目標プ
ロセッサに関する如何なるデータをも追加、編集、探
索、及び削除する十分な設備を備えて、目標プロセッサ
の特別の一つを十分に定義するのに必要なすべての情報
を含有することを特徴とする汎用回路内エミュレータ装
置。21. The emulator apparatus of claim 18, wherein said processor resource data warehouse subsystem has sufficient facilities to add, edit, search, and delete any data relating to a target processor. A general purpose in-circuit emulator device characterized in that it contains all the information necessary to fully define a particular one of the target processors.
レータ装置において、 前記のデータベースサブシステムが目標システムの異常
をその可能な原因・救済策と共にドキュメントすること
を特徴とする汎用回路内エミュレータ装置。22. The general-purpose in-circuit emulator according to claim 18, wherein the database subsystem documents the abnormality of the target system together with its possible causes and remedies.
ュレータ装置において、 前記の自動テスターサブシステムがユーザに、ユーザの
介入なしに目標サブシステムの自動化テストに使用され
うるテストシーケンスまたはテストケースを事前にプロ
グラムし、ついでテスト結果、何らかのエラーまたは除
外を報告することをユーザに許可することを特徴とする
汎用回路内エミュレータ装置。23. The in-circuit emulator of claim 18, wherein the automatic tester subsystem pre-configures the user with a test sequence or test case that can be used for automated testing of the target subsystem without user intervention. Emulator device, which allows the user to program the device and then report the test results, any errors or exclusions.
レータ装置において、 前記の汎用エミュレーターソフトウェアエンジンサブシ
ステムが広い種類の目標プロセッサを取り扱うよう自身
を構成しうる柔軟性を含んで、前記の装置を実行するた
めのすべての必要な機能及び論理を提供することを特徴
とする汎用回路内エミュレータ装置。24. The emulator device of claim 18, wherein the general purpose emulator software engine subsystem includes the flexibility to configure itself to handle a wide variety of target processors. A general-purpose in-circuit emulator device characterized by providing all necessary functions and logics for execution.
レータ装置において、 前記の汎用エミュレーターハードウェアサブシステムが
レジスタ及びメモリの内用をリアルタイムで見るために
必要な高速データ移転・エラー訂正に可能にするために
前記の汎用エミュレーターソフトウェアサブシステムを
調整することを特徴とする汎用回路内エミュレータ装
置。25. The emulator device according to claim 21, wherein the general-purpose emulator hardware subsystem is capable of high-speed data transfer and error correction necessary for viewing the contents of registers and memories in real time. A general-purpose in-circuit emulator device, wherein the general-purpose emulator software subsystem is adjusted to perform the above-mentioned operations.
レータ装置において、 前記の汎用遠隔プロセッサポッドが目標プロセッサの異
なるパッケージ及びピン構成を収容するアダプターを持
つことにより広い種類の目標プロセッサわたって使用さ
れる能力を持つことを特徴とする汎用回路内エミュレー
タ装置。26. The general in-circuit emulator of claim 18, wherein the general-purpose remote processor pod is used across a wide variety of target processors by having adapters to accommodate different packages and pin configurations of the target processor. A general-purpose in-circuit emulator device having the ability to
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG9607894-4 | 1996-04-01 | ||
SG1996007894A SG52688A1 (en) | 1996-04-01 | 1996-04-01 | A processor software development and test apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1011112A true JPH1011112A (en) | 1998-01-16 |
Family
ID=20429364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9083088A Pending JPH1011112A (en) | 1996-04-01 | 1997-04-01 | Monitor device for developing and monitoring firmware for system, developing method, and in-generic-circuit emulator device |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPH1011112A (en) |
SG (1) | SG52688A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008097086A (en) * | 2006-10-06 | 2008-04-24 | Yamatake Corp | Firmware test automation method |
-
1996
- 1996-04-01 SG SG1996007894A patent/SG52688A1/en unknown
-
1997
- 1997-04-01 JP JP9083088A patent/JPH1011112A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008097086A (en) * | 2006-10-06 | 2008-04-24 | Yamatake Corp | Firmware test automation method |
Also Published As
Publication number | Publication date |
---|---|
SG52688A1 (en) | 1998-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737187B (en) | CAN bus fault simulation system and fault simulation method | |
EP0840219B1 (en) | An integrated circuit device and method of communication therewith | |
EP0849669B1 (en) | Diagnostic system and procedure in an integrated circuit device | |
US6539341B1 (en) | Method and apparatus for log information management and reporting | |
US20040003327A1 (en) | Method and system to implement a system event log for system manageability | |
EP0849668A1 (en) | Diagnostics procedures in an integrated circuit device | |
US6178525B1 (en) | Trigger sequencing controller | |
CN108170626B (en) | 1553B bus software dynamic configurable method | |
CN100444127C (en) | System and method for testing software | |
CN112100016A (en) | SOC diagnosis method and system under system abnormal scene | |
EP0840218B1 (en) | An integrated circuit device and method of communication therewith | |
CN115695234A (en) | System-level verification platform for PCIe bus network interface card | |
US6971046B1 (en) | System and method for performing input/output diagnostics | |
US6134481A (en) | Message protocol | |
US6370660B1 (en) | Apparatus and method for providing a wait for status change capability for a host computer system | |
CN115242681A (en) | System, method and equipment for testing communication module in chip and storage medium | |
EP3961403A1 (en) | Bus monitoring device and method, storage medium, and electronic device | |
US7415560B2 (en) | Method of automatically monitoring computer system debugging routine | |
US6374399B1 (en) | Apparatus and method for providing list and read list capability for a host computer system | |
US6550022B1 (en) | Hierarchical JTAG based checkstop architecture for computer systems | |
CN104678292B (en) | A kind of complex programmable logic device (CPLD) test method and device | |
KR20050043900A (en) | Universal approach for simulating, emulating, and testing a variety of serial bus types | |
JPH1011112A (en) | Monitor device for developing and monitoring firmware for system, developing method, and in-generic-circuit emulator device | |
CN107704417A (en) | The method and its communication system to be communicated with equipment under test | |
CN109783417B (en) | Serial port communication device and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040217 |