JPH10326205A - システムコール発行方法 - Google Patents

システムコール発行方法

Info

Publication number
JPH10326205A
JPH10326205A JP9146888A JP14688897A JPH10326205A JP H10326205 A JPH10326205 A JP H10326205A JP 9146888 A JP9146888 A JP 9146888A JP 14688897 A JP14688897 A JP 14688897A JP H10326205 A JPH10326205 A JP H10326205A
Authority
JP
Japan
Prior art keywords
system call
emulator
program
issuing
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9146888A
Other languages
English (en)
Inventor
Satoyuki Inui
聡之 乾
Kota Muranaka
高大 村中
Hiroyuki Muraki
宏行 村木
Akinari Fukui
昭也 福井
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.)
Renesas Design Corp
Mitsubishi Electric Corp
Original Assignee
Renesas Design Corp
Mitsubishi Electric Corp
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 Renesas Design Corp, Mitsubishi Electric Corp filed Critical Renesas Design Corp
Priority to JP9146888A priority Critical patent/JPH10326205A/ja
Priority to US08/917,386 priority patent/US5964890A/en
Publication of JPH10326205A publication Critical patent/JPH10326205A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 システムコール発行のために、ユーザプログ
ラムの一部にデバッグタスクが必要とされ、ROMおよ
びRAMの使用量が増加するため、いかにしてROMお
よびRAMの使用量を減らし、エミュレータからシステ
ムコール発行を可能にするかという課題があった。 【解決手段】 ターゲットプログラム8の実行時、メモ
リ領域を介して前記エミュレータ2と前記ターゲットプ
ログラムの構成要素であるOSカーネルでデータのやり
取りを行い、システムコール発行要求があるか否かを判
断し、システムコール発行要求があれば、前記エミュレ
ータからシステムコールを発行するように構成したもの
である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、リアルタイムO
Sを使用したアプリケーションプログラムのデバッグ時
において、エミュレータからリアルタイムOSのシステ
ムコールを発行するシステムコール発行方法に関するも
のである。
【0002】
【従来の技術】近年、リアルタイムOSを使用したアプ
リケーションプログラムは、増加してきている。それに
伴い、このリアルタイムOSを使用したアプリケーショ
ンプログラムのデバッグ時において、様々な機能が要求
されるようになってきた。そのひとつとして、エミュレ
ータからリアルタイムOSのシステムコールを発行する
機能がある。
【0003】この機能を実現することにより、「あるタ
スクの優先度を変更する」「あるタスクを終了させる」
「あるタスクを待ち状態にする」「あるイベントフラグ
のフラグパターンを変更する」などといったリアルタイ
ムOSのサービスを受けることが可能となり、リアルタ
イムOSを使用したアプリケーションプログラムのデバ
ッグに必要とされる期間を短縮することができる。
【0004】たとえば、リモコン処理のデバッグはキー
入力処理ハンドラとリモコン処理タスクに分かれてい
る。キー入力処理ハンドラがシステムコールを発行し
て、リモコン処理タスクにどのキーが押されたかメッセ
ージを送る。リモコン処理タスクは、メッセージが送ら
れると実行され、どのキーが押されたかにより、異なっ
た処理を行う。
【0005】このようなプログラムをデバッグする場
合、ある特定のキーが押された場合、正常に動作するか
どうか確認するといったケースも十分考えられる。も
し、エミュレータからシステムコールが発行できない場
合、まず、リモコン処理の部分にマイクロコンピュータ
のプログラムカウンタ、レジスタ、タスクの使用してい
るメモリの内容などを設定しなければならない。
【0006】ところが、デバッグ時にシステムコールが
発行可能であった場合、フロントエンドからシステムコ
ール発行コマンドを入力するだけでこの処理を行うこと
ができ、また、不具合がないか確認するために、ランダ
ムにキー入力を行う場合も、フロントエンドでシステム
コールを発行するようなスクリプトを書くだけで簡単に
実現できる。
【0007】図5はデバッグ装置を示す構成図であり、
図において、101はパーソナルコンピュータ、また
は、ワークステーション等のホストコンピュータであ
り、デバッグ時にはターゲットプログラムとの通信によ
り、デバッグコマンドを供給し、さらにターゲットボー
ド104から送られたデータを加工し、ユーザに理解で
きるデータに加工して表示させるプログラムが実行され
る。このプログラムをフロントエンドという。
【0008】図6は、デバッグ時にシステムコールを発
行する時の従来の動作の流れを示した構成図である。タ
ーゲットプログラム105は、OSカーネル、ユーザプ
ログラム、デバッグタスク、ホストとの通信処理部分で
構成されている。ユーザはホストコンピュータ101が
実行するプログラムであるフロントエンド110に対し
て、システムコール発行コマンドを入力すると、フロン
トエンド110はシリアル割り込みなどの割り込みを利
用して、ターゲットプログラム105にシステムコール
発行要求があることを伝える。
【0009】フロントエンド110からの割り込みが入
ると、ターゲットプログラム105内のホストとの通信
処理部分がデータを受け取り、デバッグタスクを起動す
る。起動したデバッグタスクは、フロントエンド110
から送られてきたデータを解釈し、システムコール発行
要求があれば、システムコールの引数をレジスタにセッ
トし、ソフトウェア割り込みやジャンプ命令などにより
システムコール処理にジャンプさせる。
【0010】
【発明が解決しようとする課題】従来のシステムコール
発行方法は以上のように構成されているので、シリアル
割り込みなどを使用するため、ハードウェア資源を一つ
デバッグ用に提供しなければならなかった。また、従来
のシステムコールの発行方法ではユーザプログラムの一
部にデバッグタスクとホストとの通信処理部分が必要と
され、さらにデバッグタスクのスタック領域や、デバッ
グタスクのタスク制御用のデータ領域、ホストとの通信
に使用するデータ領域を使用するため、ROMおよびR
AMの使用量が増加する。また、このRAM、ROMの
使用量を少なくするためには、デバッグタスク、ホスト
との通信処理部分を削除しなければならない。
【0011】つまり、デバッグが終了し、実際に応用製
品となり、ROMにプログラムを焼き込む段階になる
と、すでにデバッグが終了しているので、デバッグタス
クは不要になる。デバッグタスク、ホストとの通信処理
部分を実装すると、数キロバイトのROMおよびRAM
を使用するので、ROM、RAM容量がかなり圧迫され
る。従って、ROMに焼き込む段階では、不要であるデ
バッグタスクを削除する場合もでてくる。デバッグタス
クを削除するには手間がかかり、不具合発生の原因にな
りかねない等の課題があった。
【0012】この発明は上記の課題を解決するためにな
されたもので、ハードウェア資源を使用することなく、
システムコール発行のためのRAMおよびROMの使用
量を低減したシステムコール発行方法を得ることを目的
とする。
【0013】
【課題を解決するための手段】請求項1記載の発明に係
るシステムコール発行方法は、エミュレータで制御され
るエミュレーションポッドのマイクロコンピュータによ
るターゲットプログラムの実行時、メモリ領域を介して
前記エミュレータと前記ターゲットプログラムの構成要
素であるOSカーネルのシステムクロック割り込み処理
を利用することによってデータのやり取りを行い、シス
テムコール発行要求があるか否かを判断し、システムコ
ール発行要求があれば、OSカーネルがシステムコール
処理を行うものである。すなわち、前記エミュレータか
らシステムコールを発行するものである。
【0014】請求項2記載の発明に係るシステムコール
発行方法は、ターゲットプログラムの実行時、システム
クロック割り込み処理によりシステムコール発行要求が
あるか否かを判断し、システムコール発行要求があれ
ば、OSカーネルがシステムコール処理を行うものであ
る。すなわち、エミュレータからシステムコールを発行
するものである。
【0015】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.デバッグ装置の全体構成は、図1に示す
とおりである。図において、1はホストコンピュータで
あり、従来例で示したフロントエンドが実行される。こ
のホストコンピュータ1のフロントエンドはエミュレー
タ2を制御する。ユーザはデバッグに必要なコマンドを
フロントエンドに対して入力する。フロントエンドはユ
ーザからのコマンドをエミュレータ2に対して供給し、
エミュレータ2から返ってきたデータをユーザの理解で
きるデータに加工して表示する。上記エミュレータ2
は、フロントエンドから送られてきたコマンドをもとに
エミュレーションポッド3内のマイクロコンピュータを
コントロールする。上記エミュレーションポッド3内の
マイクロコンピュータはターゲットプログラム8を実行
しターゲットボード4を制御する。
【0016】ユーザからのシステムコールの発行要求
は、ホストコンピュータ1のフロントエンドに入力さ
れ、メモリ領域としてRAM領域を使用してターゲット
上のプログラムに伝えられる。ここで使用するRAM領
域は、エミュレータ2内にあるエミュレーションメモリ
もしくは、ターゲットボード4上のメモリに配置されて
いる。使用されるRAM領域は、アドレスの下位にシス
テムコール発行要求データおよび引数が格納されている
が、これがアドレスの上位であってもかまわない。
【0017】図2はRAM領域のデータ格納状態を示し
たもので、6はシステムコールの要求があるのか、ない
のかというシステムコール発行データを読み書きする箇
所、7はシステムコール発行に必要な引数を格納する箇
所である。なお、このRAM領域の開始アドレスは、リ
アルタイムOSの使用できるRAM領域ならば、特に制
限はない。また、サイズも、システムコールで必要な引
数やマイクロコンピュータの扱うことのできるデータサ
イズに依存する。
【0018】次に動作について説明する。図3はシステ
ムコール発行までの動作の流れを表した構成図であり、
OSカーネルとユーザプログラムで構成されたターゲッ
トプログラム8は、OSカーネルのシステムクロック割
り込み処理で、リアルタイムOSの使用しているタイマ
割り込みが入るたびにRAM領域(メモリ領域)9に格
納されているデータのチェックを行っている。
【0019】まず、エミュレーションポッド3内のマイ
クロコンピュータで、ターゲットプログラム8の実行中
に、ユーザがホストコンピュータ1のフロントエンド1
0にシステムコールの発行コマンドを入力すると、エミ
ュレータ2がシステムコールの引数をRAM領域9の箇
所7に書き込み、RAM領域9の箇所6にシステムコー
ル発行要求データを書き込む。
【0020】ターゲットプログラム8では、リアルタイ
ムOSの使用するタイマ割り込みが入るたびに、システ
ムクロック割り込み処理により、RAM領域からデータ
を読み込み(図3のデータ読み込み11)、システムコ
ール発行要求のチェックを行い、システムコールの発行
要求があれば、システムコールを発行した後、ターゲッ
トプログラム8からRAM領域9にシステムコールの発
行要求をクリアすべきことを書き込む(図3のデータ書
き込み12)。
【0021】図4はシステムクロック割り込み処理の詳
細を示すフローチャートである。まず、システムクロッ
ク割り込み処理開始後、タイムアウト処理などの従来通
りのシステムクロック割り込み処理を行う(ステップS
T1)。次に、RAM領域9の箇所6の格納データを読
み込み、システムコール要求があるかどうか判断する
(ステップST2)。判断の結果、システムコール発行
要求があれば、システムコール発行要求をクリアするこ
とをRAM領域に書き込む(ステップST3)。
【0022】一方、OSカーネルは上記システムコール
発行要求に基づき、RAM領域9の箇所7のシステムコ
ールの引数を読み込み、レジスタにセットする(ステッ
プST4)。そして、ソフトウェア割り込みまたは、ジ
ャンプ命令によってシステムコール処理にジャンプし
て、エミュレータ2からシステムコールを発行し(ステ
ップST5)、処理を終了する(ステップST6)。
【0023】以上のように、この実施の形態1によれ
ば、ターゲットプログラムが実行中にエミュレータ2か
らシステムコールを発行することができる。また、実施
の形態1によるシステムクロック割り込み処理でシステ
ムコール発行制御を行うためデバッグタスク、ホストと
の通信処理は必要とせず、デバッグタスクに必要なスタ
ック領域や、デバッグタスク制御用のデータ領域を使用
しないため、RAM、ROMの使用量をかなり減らすこ
とができる。また、システムコールを発行するためにシ
リアル割り込みなどを使用しないため、ハードウェア資
源を減らさずにすむものである。
【0024】実施の形態2.上記実施の形態1は、ター
ゲットプログラム実行中にシステムコールを発行させる
方法であるが、実施の形態2はターゲットプログラム8
が停止中でもシステムコール発行準備(コマンド)を有
効にさせるもので、デバッグ装置の全体構成は実施の形
態1と同様、図1と同じである。
【0025】次に動作について説明する。ターゲットプ
ログラム8の停止中に、フロントエンド10からシステ
ムコール発行コマンドが入力されると、エミュレータ2
がシステムコールの引数をRAM領域9の箇所7に書き
込み、システムコール発行要求データをRAM領域9の
箇所6に書き込み、システムコール発行準備を行う。こ
の状態において、ターゲットプログラム8の実行が再開
されると、システムクロック割り込み処理が入った時
に、前記図4の処理が行われ、エミュレータ2からシス
テムコールが発行される。
【0026】以上のように、実施の形態2によれば、タ
ーゲットプログラムが停止中でもシステムコール発行準
備が可能であるため、実施の形態1と比べ、デバッグ作
業を効率的に行うことが可能である。
【0027】
【発明の効果】以上のように、請求項1記載の発明によ
れば、ターゲットプログラムの実行時、RAM領域を介
して前記エミュレータと前記ターゲットプログラムの構
成要素であるOSカーネルでデータのやり取りを行い、
システムコール発行要求があるか否かを判断し、システ
ムコール要求があれば、前記エミュレータからシステム
コールを発行するように構成したので、デバッグタス
ク、通信処理が不要となるため、従来のデバッグタスク
を利用したシステムコール発行方法より、RAMおよび
ROMの使用量が少なくなるという効果がある。また、
通信用のシリアル割り込みなどを使用しないので、ハー
ドウェア資源を減らさずにすむという効果もある。
【0028】請求項2記載の発明によれば、ターゲット
プログラムの実行時、システムクロック割り込み処理に
よりシステムコール発行要求があるか否かを判断し、シ
ステムコール要求があれば、エミュレータからシステム
コールを発行するように構成したので、デバッグ作業を
より効率的に行うことが可能であるという効果がある。
【図面の簡単な説明】
【図1】 この発明のデバッグ装置の全体構成図であ
る。
【図2】 この発明の実施の形態1、実施の形態2で使
われるRAM領域に格納したデータ図である。
【図3】 この発明の実施の形態1、実施の形態2にお
いてエミュレータからシステムコールを発行させる動作
の流れを表した構成図である。
【図4】 この発明の実施の形態1、実施の形態2で実
行されるシステムクロック割り込み処理のフローチャー
トである。
【図5】 従来のデバッグ装置を示す構成図である。
【図6】 デバッグ時にシステムコールを発行する時の
従来の動作の流れを示した構成図である。
【符号の説明】
1 ホストコンピュータ、2 エミュレータ、3 エミ
ュレーションポッド、8 ターゲットプログラム、9
RAM領域(メモリ領域)、10 フロントエンド。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 村中 高大 兵庫県伊丹市中央3丁目1番17号 三菱電 機セミコンダクタソフトウエア株式会社内 (72)発明者 村木 宏行 兵庫県伊丹市中央3丁目1番17号 三菱電 機セミコンダクタソフトウエア株式会社内 (72)発明者 福井 昭也 兵庫県伊丹市中央3丁目1番17号 三菱電 機セミコンダクタソフトウエア株式会社内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ユーザからのシステムコール発行要求を
    ホストコンピュータのフロントエンドを介してエミュレ
    ータに供給し、このエミュレータを介してメモリ領域に
    格納し、前記エミュレータで制御されるエミュレーショ
    ンポッドのマイクロコンピュータによるターゲットプロ
    グラムの実行時、前記メモリ領域を介して前記エミュレ
    ータと前記ターゲットプログラムの構成要素であるOS
    カーネルでデータのやり取りを行い、システムコール発
    行要求があるか否かを判断し、システムコール要求があ
    れば、前記エミュレータからシステムコールを発行する
    ことを特徴とするシステムコール発行方法。
  2. 【請求項2】 ターゲットプログラムの実行時、システ
    ムクロック割り込み処理によりシステムコール発行要求
    があるか否かを判断し、システムコール要求があれば、
    エミュレータからシステムコールを発行することを特徴
    とする請求項1記載のシステムコール発行方法。
JP9146888A 1997-03-27 1997-06-04 システムコール発行方法 Pending JPH10326205A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9146888A JPH10326205A (ja) 1997-03-27 1997-06-04 システムコール発行方法
US08/917,386 US5964890A (en) 1997-03-27 1997-08-26 System call issue method and debug system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7608897 1997-03-27
JP9-76088 1997-03-27
JP9146888A JPH10326205A (ja) 1997-03-27 1997-06-04 システムコール発行方法

Publications (1)

Publication Number Publication Date
JPH10326205A true JPH10326205A (ja) 1998-12-08

Family

ID=26417239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9146888A Pending JPH10326205A (ja) 1997-03-27 1997-06-04 システムコール発行方法

Country Status (2)

Country Link
US (1) US5964890A (ja)
JP (1) JPH10326205A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527506A (ja) * 2004-12-30 2008-07-24 インテル コーポレイション Os隔離シーケンサー上のユーザーレベルのマルチスレッド化をエミュレートする機構

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421635B1 (en) * 1998-11-02 2002-07-16 Hewlett-Packard Company Method and apparatus for handling asynchronous signals while emulating system calls
EP1281131A2 (en) * 1999-10-26 2003-02-05 Siemens Energy & Automation, Inc. Micro controller with re-programmable flash memory
US7134118B1 (en) 2000-10-26 2006-11-07 Siemens Energy & Automation, Inc. Re-programmable flash memory micro controller as programmable logic controller
FR2809204B1 (fr) * 2000-05-17 2003-09-19 Bull Sa Interface applicative multiprosseur, ne necessitant pas l'utilisation d'un systeme d'exploitation multiprocesseur
JP2002014841A (ja) * 2000-06-30 2002-01-18 Esol Co Ltd デバッグカーネルシステム
US6829727B1 (en) * 2001-01-12 2004-12-07 Metalink Corp. In-circuit emulation of single chip microcontrollers
US10527673B2 (en) 2016-08-01 2020-01-07 Microsoft Technology Licensing, Llc Hardware debug host

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4845615A (en) * 1984-04-30 1989-07-04 Hewlett-Packard Company Software performance analyzer
US5047919A (en) * 1986-04-03 1991-09-10 Harris Corporation Method and apparatus for monitoring software execution in a parallel multiprocessor computer system
US5450586A (en) * 1991-08-14 1995-09-12 Hewlett-Packard Company System for analyzing and debugging embedded software through dynamic and interactive use of code markers
US5265254A (en) * 1991-08-14 1993-11-23 Hewlett-Packard Company System of debugging software through use of code markers inserted into spaces in the source code during and after compilation
US5812748A (en) * 1993-06-23 1998-09-22 Vinca Corporation Method for improving recovery performance from hardware and software errors in a fault-tolerant computer system
JP2692609B2 (ja) * 1994-09-26 1997-12-17 日本電気株式会社 マルチタスクのプログラムデバッグ方法とその装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527506A (ja) * 2004-12-30 2008-07-24 インテル コーポレイション Os隔離シーケンサー上のユーザーレベルのマルチスレッド化をエミュレートする機構

Also Published As

Publication number Publication date
US5964890A (en) 1999-10-12

Similar Documents

Publication Publication Date Title
JP2692609B2 (ja) マルチタスクのプログラムデバッグ方法とその装置
US4787026A (en) Method to manage coprocessor in a virtual memory virtual machine data processing system
JP2002351854A (ja) プログラム実行装置および携帯型情報処理装置
WO1999027434A1 (en) Using firmware to enhance the functionality of a controller
JP2655615B2 (ja) 情報処理装置
US20040098722A1 (en) System, method, and computer program product for operating-system task management
JPH06242987A (ja) コンピュータ装置においてマイクロプロセッサの正常な処理の引継ぎをホストプロセッサが実行する方法および装置
JPH10326205A (ja) システムコール発行方法
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JP2522158B2 (ja) マルチプロセッサシステムのプログラムデバッグ方法
JP2001256062A (ja) 割込処理方法およびその方法を用いた演算処理装置
JPH1139143A (ja) 演算装置、該装置の制御方法、前記装置の制御プログラムを記憶した記憶媒体、演算装置を利用した電子回路装置、該装置の制御方法、前記装置の制御プログラムを記憶した記憶媒体
JP2001507835A (ja) 過去に互換性のあるオペレーティングシステムのリアルタイムサービス
US7010781B1 (en) Methods and apparatus for managing debugging I/O
JP2003005987A (ja) エミュレーション装置
JP2866588B2 (ja) 処理プロセス間で制御の移転を行うシステムおよび方法
JP3449812B2 (ja) 制御用電子装置
JPH0264886A (ja) Icカード制御機能付き業務処理装置
JPH10260850A (ja) 仮想計算機システム
JP2954006B2 (ja) エミュレーション装置およびエミュレーション方法
JPH11316691A (ja) オペレーティングシステムの実行方法及び、これを用いた情報処理装置
JPH06161817A (ja) スレッドオンラインデバッグ装置
JPH03268033A (ja) リモートデバッグ方式
JPH0421892B2 (ja)
JPH05313916A (ja) 電子計算機における割込み処理方法及び電子計算機

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040511