(57)【要約】【課題】  ホスト部と、エンジンプロセッサを有し、ホスト部の管理下で動作するエンジン部とを備える移動通信端末装置においてエンジン部が実行するプログラムの開発に際して、良好な開発環境を提供する。【解決手段】  制御処理部６０のホストエミュレーション部６１が、内部バス６９を介して、エンジンプロセッサを含む開発中プログラム実行部７０へ開発中プログラムのロードや、プログラム実行制御コマンドを送る。プログラム実行制御コマンドに対応して、開発中プログラム実行部７０は、開発中プログラムの実行開始、停止、一時停止又は再開を行う。一方、制御処理部６０の実行態様設定部６２から開発中プログラム実行部７０へは、利用者からの指令に対応して、開発中プログラムの実行態様の設定情報が内部バス６９を介して送られる。開発中プログラム実行部７０では、実行態様の設定情報に基づいて、エンジンプロセッサによるプログラム実行動作を制御する。【選択図】  図５
2007206737.tif 000002
【特許請求の範囲】
【請求項１】
ホストプロセッサを有するホスト部と、エンジンプロセッサ及び前記ホスト部から送られてきたプログラム格納する揮発性記憶領域を有し、前記ホスト部からのプログラム実行制御コマンドに従って、前記揮発性記憶領域に格納された前記プログラムの実行を行うエンジン部とを備える移動通信端末装置において、前記エンジン部が実行する前記プログラムの開発を支援するプログラム開発支援装置であって、
前記ホスト部のエミュレーションを行うとともに、開発中プログラムの実行態様の設定を行う制御処理部と；
前記制御処理部と内部バスを介して接続され、開発中プログラムを実行する開発中プログラム実行部と；を備え、
前記開発中プログラム実行部が、
前記エンジンプロセッサと；
前記エンジンプロセッサに接続され、前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムが格納される揮発性記憶部と；
前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムの実行態様の設定情報に応じて前記エンジンプロセッサによるプログラム実行態様を制御する実行態様制御部と；
前記内部バスと、前記エンジンプロセッサ及び前記実行態様制御部とのインターフェーシングを行うバスインターフェース部と；を備えることを特徴とするプログラム開発支援装置。
【請求項２】
前記開発中プログラム実行部は、前記エンジンプロセッサのプログラム実行動作が停止されたときに、前記エンジンプロセッサの状態情報を収集し、前記内部バスを介して、実行状況情報として、前記制御処理部へ向けて送る、ことを特徴とする請求項１に記載のプログラム開発支援装置。
【請求項３】
前記開発中プログラム実行部は、前記内部バスを介して前記エンジンプロセッサと前記制御処理部との間でやり取りされるコマンド及び応答を収集し、コマンド履歴として記憶するとともに、前記制御処理部からのコマンド履歴要求に応答して、前記コマンド履歴を前記制御処理部へ送るコマンド履歴報告部を更に備える、ことを特徴とする請求項１又は２に記載のプログラム開発支援装置。
【請求項４】
前記開発中プログラムは、表示出力及び音出力の少なくとも一方を行うアプリケーションのプログラムであり、
前記開発中プログラムによる表示出力の際に利用する画面表示手段と；
前記開発中プログラムによる音出力の際に利用する音再生手段と；を更に備える、ことを特徴とする請求項１〜３のいずれか一項に記載のプログラム開発支援装置。
【請求項５】
前記実行態様の設定には、前記開発中プログラムの指定ブレークポイントアドレスまでの実行の設定、及び、プログラムカウンタの現在値に応じたプログラムアドレスに記載された１命令の実行の設定が含まれる、ことを特徴とする請求項１〜４のいずれか一項に記載のプログラム開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム開発支援装置に係り、より詳しくは、ホストプロセッサを有するホスト部と、エンジンプロセッサを有し、前記ホスト部の管理下で動作するエンジン部とを備える移動通信端末装置において、エンジン部が実行するプログラムの開発を支援するプログラム開発支援装置に関するものである。
【背景技術】
【０００２】
従来から、携帯電話装置等の移動通信端末装置が広く普及している。かかる移動通信端末装置、特に携帯電話に関する技術の進歩は目覚しいものがあり、移動通信端末装置としての必須機能である移動通信網を介した通信機能に加えて、ゲームや音楽鑑賞を楽しむための付加機能も実装されるようになっている。
【０００３】
こうした移動通信端末装置では、上記の必須機能及び付加機能を果たすために様々なデータ処理を行うプロセッサが内蔵されている。このプロセッサに、様々なプログラムやデータを格納するための記憶素子を含む記憶部、無線通信を行うための無線通信部、利用者が操作指令を行うための操作部、利用者に様々な情報を通知するための通知部（表示出力部や音出力部）等の資源が接続されている。そして、記憶部に格納されているプログラムをプロセッサが実行し、必要に応じて、接続された資源を適宜制御することにより、上記の必須機能及び付加機能を果たすようになっている。
【０００４】
かかるプログラムの開発におけるデバッグに際しては、最終的にプログラムが実行されることになる移動通信端末装置（以下、「実機」とも呼ぶ）と近いハードウエア環境で開発中のプログラムを動作させることが好ましい。このため、実機又はこれと同等な回路構成を有する開発用回路基板を用意して、別途に用意したインサーキットエミュレータ装置を用いる方式が一般的に採用されている（以下、「従来例」という）。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、従来の移動通信端末装置では様々な機能を果たすことが必要なため、内蔵されるプロセッサは汎用的なものが採用されている。これは、装置を簡易な構成とし、装置の小型化及び低消費電力化するという観点からは優れた方法である。しかしながら、汎用的なプロセッサを用いるのでは、例えばゲームや音楽鑑賞を楽しむための付加機能動作における性能を向上させようとしても、飛躍的な性能向上を図ることは困難である。
【０００６】
他の情報処理装置と比べたときに、移動通信端末装置における性能向上が求められているのは、付加機能動作であるといえる。このように性能向上が求められている付加機能動作は具体的にはゲーム実行や音楽再生等であるが、こうした付加機能動作に際しては、特に画面表示処理及び音データ出力処理が、プロセッサにとって大きな負荷となっているといえる。
【０００７】
また、移動通信端末装置に対しては、上述した必須機能と付加機能とを果たすことが要請されているが、利用者が原則として一人であるため、必須機能動作と付加機能動作とが、いかなる場合においても同時に独立して動作することまでは要請されていない。例えば、必須機能動作である通話動作を行っている間にも、付加機能動作であるゲーム動作を行うことまでは要請されていない。
【０００８】
以上の理由から、画面表示処理及び音データ出力処理に優れた付加機能専用のエンジンプロセッサを投入し、通信動作を行うプロセッサであるホストプロセッサを備えるホスト部による管理のもとで、エンジンプロセッサを備えるエンジン部に付加機能動作に対応するアプリケーションのプログラムを実行させることが考えられる。
【０００９】
こうしたホスト部とエンジン部とを備える構成を採用した場合、エンジン部で実行されるアプリケーションのプログラムは、いわゆるコンテンツプロバイダにより開発される。かかる開発に際して、コンテンツプロバイダは、エンジンプロセッサについてのインサーキットエミュレータを用意することが必要であった。このことは、コンテンツプロバイダにとっては、大きな負担となっていた。
【００１０】
本発明は、上記の事情を鑑みてなされたものであり、ホストプロセッサを有するホスト部と、エンジンプロセッサを有し、ホスト部の管理下で動作するエンジン部とを備える移動通信端末装置においてエンジン部が実行するプログラムの開発に際して、インサーキットエミュレータ装置を用意することなく、良好な開発環境を提供することができるプログラム開発支援装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のプログラム開発支援装置は、ホストプロセッサを有するホスト部と、エンジンプロセッサ及び前記ホスト部から送られてきたプログラム格納する揮発性記憶領域を有し、前記ホスト部からのプログラム実行制御コマンドに従って、前記揮発性記憶領域に格納された前記プログラムの実行を行うエンジン部とを備える移動通信端末装置において、前記エンジン部が実行する前記プログラムの開発を支援するプログラム開発支援装置であって、前記ホスト部のエミュレーションを行うとともに、開発中プログラムの実行態様の設定を行う制御処理部と；前記制御処理部と内部バスを介して接続され、開発中プログラムを実行する開発中プログラム実行部と；を備え、前記開発中プログラム実行部が、前記エンジンプロセッサと；前記エンジンプロセッサに接続され、前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムが格納される揮発性記憶部と；前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムの実行態様の設定情報に応じて前記エンジンプロセッサによるプログラム実行態様を制御する実行態様制御部と；前記内部バスと、前記エンジンプロセッサ及び前記実行態様制御部とのインターフェーシングを行うバスインターフェース部と；を備えることを特徴とするプログラム開発支援装置である。
【００１２】
このプログラム開発支援装置では、制御処理部がホストエミュレーションを行い、内部バスを介して、開発中プログラム実行部へ開発中プログラムを送る。開発中プログラム実行部では、受信した開発中プログラムが揮発性記憶部に格納される。なお、開発が完了した後にプログラムが実装される移動通信端末装置のエンジン部においても、ホスト部から送られてきたプログラムデータは、揮発性記憶素子により構成された記憶部に格納されるようになっている。
【００１３】
その後、制御処理部がホストエミュレーションを行い、内部バスを介して、開発中プログラム実行部へプログラム実行制御コマンドを送る。こうして制御処理部から送られてきたプログラム実行制御コマンドに対応して、開発中プログラム実行部では、揮発性記憶領域に格納されている開発中プログラムの実行開始、停止、一時停止又は再開を行う。
【００１４】
一方、制御処理部から開発中プログラム実行部へは、開発者からの指令に対応して、開発中プログラムの実行態様の設定情報が内部バスを介して送られる。こうした実行態様の設定情報には、例えば、ブレークポイントアドレス情報及びブレークポイントアドレスに至るまでの開発中プログラムの実行の指令情報等が含まれる。
【００１５】
開発中プログラム実行部では、実行態様の設定情報を、実行態様制御部が受ける。実行態様制御部は、実行態様の設定情報に基づいて、エンジンプロセッサによるプログラム実行動作を制御する。例えば、特定のブレークポイントアドレスまでの開発中プログラムの実行の設定情報を実行監視部から受けた場合には、実行態様制御部は、特定のブレークポイントアドレスにおける命令を実行した時に、エンジンプロセッサ及び揮発性記憶部の状態を保持しつつ、エンジンプロセッサの動作を停止させる。
【００１６】
すなわち、本発明のプログラム開発支援装置では、内部バスに接続可能であり、プログラム開発後に実行が行われるエンジン部と同一のハードウエア環境、及び、プログラム開発用デバッグのために必要なデバッグ用ハードウエア環境を含むように開発中プログラム実行部が構成されている。
【００１７】
また、プログラム開発支援装置においてソフトウエア等により構成され、プログラム実行部と内部バスを介して接続された制御処理部によって、ホスト部の動作がエミュレートされる。この結果、開発者が制御処理部に対する指令を行うことにより、開発中プログラムを開発中プログラム実行部にロードすることができるとともに、開発中プログラムに関するプログラム実行制御コマンドを開発中プログラム実行部にロードすることができる。
【００１８】
また、開発者が制御処理部に対する指令を行うことにより、開発中プログラムの実行態様の設定情報を開発中プログラム実行部に送ることができる。
【００１９】
この結果、開発者は、制御処理部のみに対して指令を行うことにより、開発中プログラムのデバッグを行うことができる。したがって、本発明のプログラム開発支援装置によれば、ホストプロセッサを有するホスト部と、エンジンプロセッサを有し、ホスト部の管理下で動作するエンジン部とを備える移動通信端末装置においてエンジン部が実行するプログラムの開発に際して、別途にエンジンプロセッサについてのインサーキットエミュレータ装置を用意することなく、良好な開発環境を提供することができる。
【００２０】
本発明の開発支援装置では、前記開発中プログラム実行部は、前記エンジンプロセッサのプログラム実行動作が停止されたときに、前記エンジンプロセッサの状態情報を収集し、前記内部バスを介して、実行状況情報として、前記制御処理部へ向けて送るようにすることができる。この場合には、制御処理装置は、動作の停止時におけるエンジンプロセッサ内の各種レジスタの内容等といったエンジンプロセッサの状態情報を得ることができる。そして、制御処理部が、得られた状態情報の表示等をすることにより、開発者に対して、エンジンプロセッサの動作を停止させたときにおけるエンジンプロセッサの状態情報という、プログラムデバッグにおいて有用な情報を提供することができる。
【００２１】
また、本発明のプログラム開発支援装置では、前記開発中プログラム実行部が、前記内部バスを介して前記エンジンプロセッサと前記制御処理部との間でやり取りされるコマンド及び応答を収集し、コマンド履歴として記憶するとともに、前記制御処理部からのコマンド履歴要求に応答して、前記コマンド履歴を前記制御処理部へ送るコマンド履歴報告部を更に備えるようにすることができる。この場合には、制御処理部は、エンジンプロセッサと制御処理部との間でやり取りされるコマンド及び応答からなるコマンド履歴を、開発者の要請があったときに得ることができる。そして、制御処理部が、得られた状態情報の表示等をすることにより、開発者に対して、開発中プログラムのデバッグに有効なコマンド履歴情報を提供することができる。
【００２２】
また、本発明のプログラム開発支援装置では、前記開発中プログラムが、表示出力及び音出力の少なくとも一方を行うアプリケーションのプログラムである場合には、前記開発中プログラムによる表示出力の際に利用する画面表示手段と；前記開発中プログラムによる音出力の際に利用する音再生手段と；を更に備えるようにすることができる。この場合には、制御処理部が表示等に使用するものとは別の画面表示手段及び音再生手段に開発中プログラムによる表示出力や音出力をすることができ、良好なデバッグ環境とすることができる。
【００２３】
なお、本発明のプログラム開発支援装置では、前記実行態様の設定には、前記開発中プログラムの指定ブレークポイントアドレスまでの実行の設定、及び、プログラムカウンタの現在値に応じたプログラムアドレスに記載された１命令の実行の設定が含まれるようにすることができる。
【発明の効果】
【００２４】
以上説明したように、本発明のプログラム開発支援装置によれば、ホストプロセッサを有するホスト部と、エンジンプロセッサを有し、ホスト部の管理下で動作するエンジン部とを備える移動通信端末装置においてエンジン部が実行するプログラムの開発に際して、別途にエンジンプロセッサのインサーキットエミュレータ装置を用意することなく、良好な開発環境を提供することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２５】
まず、後述する本発明の一実施形態のプログラム開発支援装置１００（図５参照）を用いて開発されたアプリケーションのプログラム（以下、単に「アプリケーション」ともいう）が最終的に実装される移動通信端末装置である携帯電話装置１０について、図１〜図４を参照して説明する。
【００２６】
図１及び図２には、携帯電話装置１０の構成が概略的に示されている。ここで、図１（Ａ）には携帯電話装置１０の展開状態における外観の正面図が示され、図１（Ｂ）には携帯電話装置１０の展開状態における外観の右側面図が示され、図１（Ｃ）には携帯電話装置１０の展開状態における外観の裏面図が示されている。また、図２には、携帯電話装置１０の機能ブロック構成が示されている。
【００２７】
図１に示されるように、携帯電話装置１０は、第１部分１１と、該第１部分１１に対して、軸ＡＸ１を中心軸として回動可能な第２部分１２とを備えている。
【００２８】
第１部分１１には、図１（Ａ）に示されるように、（ａ）テンキー、ファンクションキー等の操作キーが配列された操作部２１と、（ｂ）通話時に音声を入力するためのマイクロフォン２２とが配置されている。また、第１部分１１における操作部２１の配置面を正面としたときの背面側には、図１（Ｃ）に示されるように、（ｃ）着信音や案内音を発生するための案内用スピーカ２６Ｓが配置されている。
【００２９】
第２部分１２には、図１（Ａ）に示されるように、（ａ）操作案内、動作状況、受信メッセージ、後述する撮像部２９による撮像結果、エンジンアプリケーションによる画像等を表示するメイン表示部２５Ｍと、（ｂ）通話時に通信相手から送られてきた音声信号を再生するスピーカ２６Ｍと、（ｃ）利用者に注意を喚起するためのＬＥＤ（Light Emitting Diode）２７とが配置されている。また、第２部分１２におけるメイン表示部２５Ｍの表示面を正面としたときの背面側には、図１（Ｃ）に示されるように、（ｄ）補助的な表示を行うサブ表示部２５Ｓと、（ｅ）結像光学系の視野内の像を撮像する撮像部２９とが配置されている。
【００３０】
また、図２に示されるように、携帯電話装置１０は、（ｆ）着信時に携帯電話装置１０を振動させて着信を利用者に通知するためのバイブレータ２４と、（ｇ）携帯電話装置１０に作用している加速度及び携帯電話装置１０の姿勢を検出するための加速度・姿勢センサ２８を更に備えている。これらのバイブレータ２４及び加速度・姿勢センサ２８は、携帯電話装置１０の内部に配置されている。
【００３１】
また、携帯電話装置１０は、（ｊ）通信機能等の携帯電話装置としての基本機能を果たすためのホスト部３０と、（ｋ）エンジンアプリケーションの実行を行うエンジン部４０とを備えている。これらのホスト部３０及びエンジン部４０は、携帯電話装置１０の内部に配置されている。
【００３２】
ホスト部３０は、携帯電話装置１０の全体を統括制御するホストプロセッサ３１と、アンテナ３３を介して通信信号の送受信を行うための無線通信部３２と、プログラムやデータを格納する記憶部３５とを備えている。ホストプロセッサ３１には、上述した操作部２１、マイクロフォン２２、案内用スピーカ２６Ｓ、ＬＥＤ２７、サブ表示部２５Ｓ及びバイブレータ２４も接続されている。
【００３３】
ホストプロセッサ３１には、中央処理装置（ＣＰＵ）機能、デジタル信号プロセッサ（ＤＳＰ）機能が搭載されている。そして、ホストプロセッサ３１が、記憶部３５に格納されたホスト用プログラム３８（図３参照）を読み出して実行することにより、通信機能動作等の基本機能動作や、エンジン部４０との間における様々なデータのやりとりが行われる。
【００３４】
記憶部３５は、様々なデータを一時的に記憶するための揮発性領域３６と、プログラム等を恒久的に記憶するための不揮発性領域３７とを備えている。揮発性領域３６は、動作電力が供給されなくなると記憶内容が保証されなくなる揮発性記憶素子により構成されている。また、不揮発性領域３７は、動作電力が供給されなくなっても記憶内容が保証される不揮発性記憶素子により構成されている。ここで、不揮発性領域３７には、図３に示されるように、上記のホスト用プログラム３８に加えて、エンジン部４０において実行されるエンジン統括制御プログラム３９0、エンジンアプリケーション３９1，３９2，…，３９Nが格納されている。
【００３５】
図２に戻り、エンジン部４０は、エンジン部４０の全体を統括制御するエンジンプロセッサ４１と、エンジンプロセッサ４１が実行するプログラムやデータを記憶部４２とを備えている。ここで、記憶部４２は、エンジンプロセッサ４１に接続されている。また、エンジンプロセッサ４１には、上述したメイン表示部２５Ｍ及びスピーカ２６Ｍが接続されている。エンジンプロセッサ４１の詳細については、後述する。
【００３６】
記憶部４２は、動作電力が供給されなくなると記憶内容が保証されなくなる揮発性記憶素子により構成されている。ここで、記憶部４２には、図４に示されるように、上述したエンジン統括制御プログラム３９0が格納されるシステム領域４６と、エンジンアプリケーション３９k（ｋ＝１，…）の１つ以上が格納されるエンジンアプリケーション領域４７と、エンジン統括制御プログラム３９0及び実行中のエンジンアプリケーションが利用する作業用領域４８とを備えている。なお、エンジン統括制御プログラム３９0は、装置の初期化時にホスト部３０からエンジン部にロードされるとともに、エンジンアプリケーション３９kは、利用者の指令に対応してホスト部３０からエンジン部にロードされるようになっている。
【００３７】
なお、ホスト部３０とエンジン部４０とは、例えば８ビットパラレルのインターフェースデータ信号ＩＤＴ及びインターフェース制御信号ＩＣＴによりホスト部３０と接続される。これらの信号により、ホスト部３０とエンジン部４０の間で、必要に応じて付属データを伴う指令及び応答の授受が行われるようになっている。
【００３８】
また、ホスト部３０からエンジン部４０へは、リセット指令信号ＲＳＴ、ホスト出力制御信号ＨＣＴ、ホスト表示画像信号ＨＩＤ及びホスト音信号ＨＡＤが供給される。これらの信号によるエンジン部４０の動作制御については、後述する。
【００３９】
以下、本発明の一実施形態に係るプログラム開発支援装置を、図５〜図２０を参照して説明する。なお、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００４０】
［構成］
図５には、一実施形態のプログラム開発支援装置１００の概略的な構成がブロック図にて示されている。このプログラム開発支援装置１００は、上述した携帯電話装置１０におけるエンジン部４０において実行されるアプリケーションのプログラムを開発するための装置である。
【００４１】
図５に示されるように、プログラム開発支援装置１００は、（ａ）装置全体を統括制御する処理制御部６０と、（ｂ）開発中プログラムを実行する開発中プログラム実行部７０とを備えている。処理制御部６０と開発中プログラム実行部７０とは、内部バス６９を介して接続されている。
【００４２】
また、プログラム開発支援装置１００は、（ｃ）処理制御部６０による制御のもとで画像や文字等を表示する液晶ディスプレイ装置等の表示デバイス６６と、（ｄ）処理制御部６０へ向けてコマンドやデータを入力するキーボード等のストロークデバイス６７と、（ｅ）処理制御部６０へ向けて表示デバイス６６の画面上の位置を入力するマウス等のポインティングデバイス６８とを備えている。これらのデバイス６５〜６８は、処理制御部６０に接続されている。
【００４３】
また、プログラム開発支援装置１００は、（ｆ）ＮＴＳＣ方式のテレビ受像機７９を備えている。このテレビ受像機７９は、開発中プログラム実行部７０に接続されている。
【００４４】
なお、本実施形態においては、プログラム開発支援装置１００はパーソナルコンピュータシステムとして構成されている。ここで、プログラム開発支援装置１００は、当該パーソナルコンピュータに実装可能なＩ／Ｏモジュールとして構成されている。
【００４５】
処理制御部６０は、（ｉ）上述した携帯電話装置１０におけるホスト部３０のエミュレーションを行うホストエミュレーション部６１と、（ii）開発中プログラム実行部７０における開発中プログラムの実行態様を設定する実行態様設定部６２と、（iii）開発中プログラム実行部７０から、開発中プログラムの実行状況情報を収集する実行状況情報収集部６３とを備えている。なお、本実施形態では、処理制御部６０が中央処理装置（ＣＰＵ）及びディスク等の周辺装置から構成されており、上記のホストエミュレーション部６１、実行態様設定部６２及び実行状況情報収集部６３の機能はソフトウエアにより実現されるようになっている。
【００４６】
ホストエミュレーション部６１は、ストロークデバイス６７又はポインティングデバイス６８を利用した開発者の指令に応じて、プログラム実行制御コマンドを開発中プログラム実行部７０へ向けて発行する。こうしたプログラム実行制御コマンドには、開発中プログラムの実行開始コマンド、実行停止コマンド、一時停止コマンド、再開コマンドがある。
【００４７】
また、ホストエミュレーション部６１は、上述したエンジン統括制御プログラム３９0と、開発中プログラムを含んでいる。そして、ストロークデバイス６７又はポインティングデバイス６８を利用した開発者の指令に応じて、エンジン統括制御プログラム３９0や開発中プログラムを、開発中プログラム実行部へロードするようになっている。
【００４８】
また、ホストエミュレーション部６１は、こうした実行制御コマンド等に対する開発中プログラム実行部７０からの応答を受ける。また、ホストエミュレーション部６１は、開発中プログラム実行部７０からコマンドを受けた場合には、その内容を表示デバイス６６に表示する。そして、当該コマンドの内容を参照した開発者からのストロークデバイス６７又はポインティングデバイス６８を利用した指令に応じて、適宜応答を返送する。
【００４９】
実行態様設定部６２は、ストロークデバイス６７又はポインティングデバイス６８を利用した開発者の指令に応じて、実行態様設定を開発中プログラム実行部７０へ向けて送る。こうした実行態様情報には、開発中プログラム実行における後述するエンジン部４０のエンジンプロセッサ４１（図６参照）のプログラム実行に関する即時動作停止設定、動作再開設定、ブレークポイント設定、１ステップ実行設定等が含まれる。
【００５０】
実行状況情報収集部６３は、エンジンプロセッサ４１のプログラム実行動作が停止した際に開発中プログラム実行部７０から報告されてきた、プログラム実行動作が停止した時点におけるエンジンプロセッサ４１の内部レジスタの内容を受けて、表示デバイス６６の画面上に表示する。また、実行状況情報収集部６３は、エンジンプロセッサ４１の動作の停止中に、ストロークデバイス６７又はポインティングデバイス６８を利用した開発者の指令に応じて、開発中プログラム実行部７０における後述するコマンド履歴要求や記憶部４２の記憶内容の読出要求を開発中プログラム実行部７０へ送る。そして、実行状況情報収集部６３は、この読出要求に対する応答として返送されてきた、コマンド履歴や記憶部４２の指定領域における記憶内容を、表示デバイス６６の画面上に表示する。
【００５１】
開発中プログラム実行部７０は、図６に示されるように、エンジン部４０、実行状況情報報告部７１、バスインターフェース部７２及びＮＴＳＣ変換部７３を備えている。エンジン部４０から出力された表示画像信号ＭＩＤ及び音信号ＭＡＤは、ＮＴＳＣ変換部７３においてＮＴＳＣ形式の信号に変換されて、テレビ受像機７９へ向けて出力される。
【００５２】
エンジン部４０は、携帯電話装置１０の場合と同様に構成されている。すなわち、エンジン部４０は、エンジンプロセッサ４１と、記憶部４２とを備えている。ここで、記憶部４２は、エンジンプロセッサ４１に接続されている（図７参照）。
【００５３】
エンジンプロセッサ４１は、図７に示されるように、制御処理部５１と、ホストインターフェース部５２とを備えている。また、エンジンプロセッサ４１は、メイン表示部２５Ｍに供給される表示画像信号ＭＩＤとして、ホスト部３０からのホスト表示画像信号ＨＩＤ及び制御処理部５１からのエンジン表示画像信号ＥＩＤのいずれかを選択してメイン表示部２５Ｍへ供給するための表示出力選択部５３を備えている。さらに、エンジンプロセッサ４１は、スピーカ２６Ｍに供給される音信号ＭＡＤとして、ホスト部３０からのホスト音信号ＨＡＤ及び制御処理部５１からのエンジン音信号ＥＡＤのいずれかを選択してスピーカ２６Ｍへ供給するための音出力選択部５４を備えている。
【００５４】
制御処理部５１は、記憶部４２に格納されているエンジン統括制御プログラム３９0の実行、及び、エンジン統括制御プログラム３９0によるの制御のもとおける開発中プログラムの実行動作を行う。なお、制御処理部５１は、３次元グラフィック処理機能及び音生成処理機能を有しており、上記のエンジンアプリケーション３９1，３９2，…のいずれかを実行する際に、３次元グラフィック処理機能及び音生成処理機能を発揮する。
【００５５】
また、制御処理部５１は、実行状況情報報告部７１からの動作停止要求信号ＨＴが有意となると、プログラムの実行動作を停止する。この後、動作停止要求信号ＨＴが非有意となると、制御処理部５１は、プログラムの実行を再開する。なお、制御処理部５１は、命令の実行中に動作停止要求信号ＨＴが有意となると、その命令の実行を終了後に、動作を停止するようになっている。
【００５６】
プログラムの実行動作の停止中において、実行状況情報報告部７１から双方向性のレジスタ読出信号ＲＲＷによりレジスタ読出要求があると、制御処理部５１は、プログラムカウンタ、ステータスレジスタ等の専用レジスタ及び汎用レジスタの内容を、レジスタ読出信号を介して、実行状況情報報告部７１へ報告する。
【００５７】
また、プログラムの実行動作の停止中においては、制御処理部５１は、記憶部４２へのアクセスをするためのメモリアドレス信号ＥＭＡ及びメモリデータ信号ＥＭＤ等の出力状態を高インピーダンス状態とする。この結果、実行状況情報報告部７１による記憶部４２へのアクセスが可能となる。なお、制御処理部５１がプログラムの実行動作中であるときには、実行状況情報報告部７１からのメモリアドレス信号ＥＭＡ及びメモリデータ信号ＥＭＤ等の出力状態が高インピーダンス状態となるようになっている。
【００５８】
また、制御処理部５１は、命令フェッチサイクル、データ読込サイクル、データ書込サイクル等の動作サイクルの種別を、プロセッサ状態信号ＰＴとして出力するようになっている。
【００５９】
ホストインターフェース部５２は、ホスト部３０と制御処理部５１との間に位置し、ホスト部３０との間で授受する各種コマンド及び各種データのバッファリングや各種制御信号の仲立ちを行う。このホストインターフェース部５２は、２ポートＲＡＭ（Random Access Memory）素子を有している。
【００６０】
ホストインターフェース部５２では、２ポートＲＡＭ素子の一方のポートにおいて、内部データ信号ＤＴ及び内部制御信号ＣＮＴにより制御処理部５１と接続される。ここで、内部制御信号ＣＮＴには、制御処理部５１がホストインターフェース部５２へ向けて発行する、２ポートＲＡＭからの内部読出指令信号及び２ポートＲＡＭへの内部書込指令信号等が含まれている。また、内部制御信号ＣＮＴには、ホストインターフェース部５２が制御処理部５１へ向けて発行する、ホスト部３０からエンジン部４０へ向けてデータが送られたことを示す内部割込信号等が含まれている。
【００６１】
また、ホストインターフェース部５２では、２ポートＲＡＭ素子の他方のポートにおいて、例えば８ビットパラレルのインターフェースデータ信号ＩＤＴ及びインターフェース制御信号ＩＣＴによりホスト部３０と接続される。ここで、インターフェース制御信号ＩＣＴには、ホスト部３０がホストインターフェース部５２へ向けて発行する、２ポートＲＡＭからのインターフェース読出指令信号及び２ポートＲＡＭへのインターフェース書込指令信号等が含まれている。また、インターフェース制御信号ＩＣＴには、ホストインターフェース部５２がホスト部３０へ向けて発行する、エンジン部４０からホスト部３０へ向けてデータが送られたことを示すインターフェース割込信号等が含まれている。
【００６２】
以上のような信号をやりとりすることにより、ホストインターフェース部５２を介して、ホスト部３０とエンジン部４０の間で、必要に応じて付属データを伴う命令及び応答の授受が行われるようになっている。
【００６３】
表示出力選択部５３では、ホスト部３０からのホスト出力制御信号ＨＣＴ及び制御処理部５１からのエンジン出力制御信号ＥＣＴによる指定に応じて、次のようにして、ホスト表示画像信号ＨＩＤ及びエンジン表示画像信号ＥＩＤの一方を表示画像信号ＭＩＤとして選択して出力する。ここで、ホスト出力制御信号ＨＣＴの信号によりホスト画面の優先表示が指定されている場合には、エンジン出力制御信号ＥＣＴによる指定にかかわらず、表示出力選択部５３は、ホスト表示画像信号ＨＩＤを選択して、表示画像信号ＭＩＤとして出力する。一方、ホスト出力制御信号ＨＣＴによりホスト画面の優先表示が指定されていない場合には、表示出力選択部５３は、エンジン出力制御信号ＥＣＴによる指定に従って、表示画像信号ＭＩＤとして、ホスト表示画像信号ＨＩＤ及びエンジン表示画像信号ＥＩＤの一方を選択する。
【００６４】
すなわち、表示出力選択部５３では、ホスト出力制御信号ＨＣＴによりホスト画面の優先表示が指定されておらず、かつ、エンジン出力制御信号ＥＣＴによりエンジン画面の表示が指定されている場合には、エンジン表示画像信号ＥＩＤを選択して、表示画像信号ＭＩＤとして出力する。また、表示出力選択部５３では、ホスト出力制御信号ＨＣＴによりホスト画面の優先表示が指定されておらず、かつ、エンジン出力制御信号ＥＣＴによりエンジン画面の表示が指定されていない場合には、表示出力選択部５３は、ホスト表示画像信号ＨＩＤを選択して、表示画像信号ＭＩＤとして出力する。
【００６５】
音出力選択部５４では、上述した表示出力選択部５３と同様にして、ホスト出力制御信号ＨＣＴ及びエンジン出力制御信号ＥＣＴによる指定に応じて、ホスト音信号ＨＡＤ及びエンジン音信号ＥＡＤの一方を音信号ＭＡＤとして選択して出力する。すなわち、ホスト出力制御信号ＨＣＴによりホスト音の優先出力が指定された場合には、エンジン出力制御信号ＥＣＴによる指定にかかわらず、音出力選択部５４は、ホスト音信号ＨＡＤを選択して、音信号ＭＡＤとして出力する。また、ホスト出力制御信号ＨＣＴによりホスト音の優先出力が指定されておらず、かつ、エンジン出力制御信号ＥＣＴによるエンジンアプリケーション音出力が指定されている場合には、音出力選択部５４は、エンジン音信号ＥＡＤを選択して、音信号ＭＡＤとして出力する。また、ホスト出力制御信号ＨＣＴによりホスト音の優先出力が指定されておらず、かつ、エンジン出力制御信号ＥＣＴによるエンジンアプリケーション音出力が指定されていない場合には、音出力選択部５４は、ホスト音信号ＨＡＤを選択して、音信号ＭＡＤとして出力する。
【００６６】
実行状況情報報告部７１は、図８に示されるように、実行態様制御部７５と、ブレーク条件監視部７６と、コマンドモニタ部７７とを備えている。なお、実行状況情報報告部７１は、例えば８ビットパラレルのインターフェースデータ信号ＪＤＴ及びインターフェース制御信号ＩＣＴにより、バスインターフェース部７２及びインターフェース制御信号ＩＣＴにより、処理制御部６０との間で様々な情報のやり取りを行うようになっている。
【００６７】
実行態様制御部７５は、実行状況情報報告部７１の全体を統括制御する。また、実行態様制御部７５は、処理制御部６０の実行態様設定部６２から内部バス６９を介して受けた実行態様設定に対応した処理を行う。
【００６８】
ここで、実行態様設定が即時動作停止であった場合には、実行態様制御部７５は、直ちに動作停止要求信号ＨＴを有意とする。また、実行態様設定が動作再開であった場合には、実行態様制御部７５は、直ちに動作停止要求信号ＨＴを非有意とする。
【００６９】
さらに、実行態様設定がブレークポイント設定である場合には、実行態様制御部７５は、指定されたブレークポイントアドレスを、検出条件として実行アドレス監視部に通知する。また、実行態様設定が１ステップ実行設定である場合には、次の命令フェッチサイクルに入ったことを検出条件とすべき旨を通知する。
【００７０】
こうして、検出条件としてブレークポイントアドレスが通知された場合には、ブレーク条件監視部７６は、制御処理部５１が命令フェッチサイクルにおいて出力したメモリアドレス信号ＥＭＡにおけるメモリアドレスが、通知されたブレークポイントアドレスと一致したときに、検出条件を満たすイベントが発生したことを、実行態様制御部７５へ報告する。また、検出条件として命令フェッチサイクルに入ったことが通知された場合には、ブレーク条件監視部７６は、制御処理部５１が次の命令フェッチサイクルに入ったときに、検出条件を満たすイベントが発生したことを、実行態様制御部７５へ報告する。
【００７１】
こうして、ブレーク条件監視部７６から、検出条件を満たすイベントが発生したことが通知されると、実行態様制御部７５は、動作停止要求信号ＨＴを有意とし、制御処理部５１の動作を停止させる。この後、実行態様制御部７５は、制御処理部５１に対してレジスタ読出要求を行い、各種内部レジスタの内容を読み出す。そして、実行態様制御部７５は、バスインターフェース部７２及び内部バスを介して、読出結果を処理制御部６０へ報告する。なお、実行態様制御部７５は、即時動作停止の実行態様設定に応じて動作停止要求信号ＨＴを有意とし、制御処理部５１の動作を停止させた場合も、制御処理部５１の各種内部レジスタの内容を読み出して、処理制御部６０へ報告する。
【００７２】
また、実行態様制御部７５は、処理制御部６０の実行状況情報収集部６３から内部バス６９を介して受けた実行情報要求に応じて、その時点におけるエンジン部４０の実行情報を取得して、内部バス６９を介して、実行状況情報収集部６３へ報告する。ここで、実行情報要求には、記憶部４２の記憶内容の報告要求、コマンドモニタ部７７において記録されている、ホストエミュレーション部６１とエンジン部４０との間でやりとりされたプログラム実行制御コマンド等のコマンド及び応答の履歴要求等が含まれる。
【００７３】
なお、コマンドモニタ部７７は、ホストエミュレーション部６１とエンジン部４０との間においてやりとりされたコマンド及び応答が時間順次に記録するようになっている。かかるコマンド及び応答の記憶のために使用されるコマンドモニタ部７７内の記憶領域は、いわゆるリングバッファとして構成されるとともに、いわゆるＦＩＦＯ（First-in First-out）型とされている。
【００７４】
また、実行態様制御部７５からバッファリセット指令を受けると、コマンドモニタ部７７では、コマンド及び応答の記憶のために使用されるポインタ情報がリセットされるようになっている。
【００７５】
［動作］
次に、上記のように構成されたプログラム開発支援装置１００におけるプログラム支援のための動作について、説明する。
【００７６】
＜開発中プログラム実行部の初期化＞
開発中プログラム実行部７０は、処理制御部６０のホストエミュレーション部６１が発行するリセット指令により、リセットされる。かかるリセット指令は、プログラム開発支援装置１００の初期化時や、ストロークデバイス６７又はポインティングデバイス６８の操作による開発者からの開発中プログラム実行部７０のリセット要求に応じて発行される。
【００７７】
上記のリセット指令に際しては、ホストエミュレーション部６１が、開発中プログラム実行部７０へ向けて、内部バス６９を介して、リセット指令を送る。開発中プログラム実行部７０では、バスインターフェース部７２が、このリセット指令を受ける。そして、リセット指令を受けたバスインターフェース部７２は、リセット指令信号ＲＳＴを所定期間にわたって有意レベルとして、リセット指令をエンジン部４０及び実行状況情報報告部７１へ通知する。
【００７８】
リセット指令を受けたエンジン部４０は、アイドル状態となる。このアイドル状態では、上述した基本インターフェースプログラム５９が制御処理部５１において実行される。
【００７９】
なお、リセット指令を発行する際には、ホストエミュレーション部６１は、メイン表示部２５Ｍ及びスピーカ２６Ｍに関するホスト出力優先指令を、開発中プログラム実行部７０へ向けて、内部バス６９を介して送る。開発中プログラム実行部７０では、バスインターフェース部７２が、このホスト出力優先指令を受ける。そして、ホスト出力優先指令を受けたバスインターフェース部７２は、ホスト出力制御信号ＨＣＴによりホスト画面の優先表示が指定されているとともに、ホスト音の優先出力が指定されていることを、エンジン部４０へ通知する。
【００８０】
この結果、メイン表示部２５Ｍには、ホストエミュレーション部６１から、内部バス６９及びバスインターフェース部７２を介して、ホスト表示画像信号ＨＩＤとしてエンジン部４０へ送られたホスト画像が表示される。また、スピーカ２６Ｍからは、ホストエミュレーション部６１から、内部バス６９及びバスインターフェース部７２を介して、ホスト音信号ＨＡＤとしてエンジン部４０へ送られたホスト音が出力される。すなわち、メイン表示部２５Ｍ及びスピーカ２６Ｍは、ホストエミュレーション部６１による制御を受けることになる。
【００８１】
また、エンジン部４０が初期化されると、エンジン部４０では、エンジン出力制御信号ＥＣＴによるエンジン出力指定を解除する。この結果、ホスト出力制御信号ＨＣＴの信号レベルにかかわらず、メイン表示部２５Ｍ及びスピーカ２６Ｍは、ホストエミュレーション部６１による制御を受けることになる。
【００８２】
こうして、ホストエミュレーション部６１から発行されたリセット指令に関連する処理が終了すると、ホストエミュレーション部６１からエンジン部４０へのエンジン統括制御プログラム３９0のロードから実行開始までの初期ロード処理が行われる。この初期ロード処理では、図９に示されるように、まず、ホストエミュレーション部６１が、内部バス６９及びバスインターフェース部７２を介して、エンジン統括制御プログラム３９0を付属データとする初期プログラムロード命令をエンジン部４０へ向けて送る。
【００８３】
エンジン部４０では、基本インターフェースプログラムが、初期プログラムロード命令の付属データとしてホストエミュレーション部６１から送られてきたエンジン統括制御プログラム３９0を、記憶部４２のシステム領域４６に格納する。こうして、エンジン統括制御プログラム３９0の記憶部４２への格納が終了すると、基本インターフェースプログラム４９は、エンジン統括制御プログラム３９0のロード完了報告を、バスインターフェース部７２及び内部バス６９を介して、ホストエミュレーション部６１へ送る。
【００８４】
ホストエミュレーション部６１では、エンジン統括制御プログラム３９0のロード完了報告を受けると、内部バス６９及びバスインターフェース部７２を介して、付属データ無しのエンジン統括制御プログラム３９0の実行開始命令をエンジン部４０へ向けて送る。
【００８５】
エンジン部４０では、エンジン統括制御プログラム３９0の実行開始命令を受けると、基本インターフェースプログラム４９が、エンジン統括制御プログラム３９0の実行を開始させるとともに、バスインターフェース部７２及び内部バス６９を介して、エンジン統括制御プログラム３９0の実行開始報告をホストエミュレーション部６１へ送る。
【００８６】
こうして、初期ロード処理が終了する。この初期ロード処理により、エンジン部４０においてエンジン統括制御プログラム３９0の実行を開始すると、エンジン部４０の状態が、アイドル状態からレディ状態に遷移する。このレディ状態では、基本インターフェースプログラム４９と比べて多くの機能を有するエンジン統括制御プログラム３９0の実行による制御及び処理が行われる。
【００８７】
なお、初期ロード処理が完了すると、ホストエミュレーション部６１は、ホスト出力制御信号ＨＣＴの信号レベルによるホスト画像及びホスト音の優先出力指定を解除する。一方、エンジン部４０では、エンジン出力制御信号ＥＣＴによるエンジン画像及びエンジン音の出力指定を行わない状態を維持する。この結果、エンジン部４０がアイドル状態にあるときと同様に、エンジン部４０がレディ状態となっても、メイン表示部２５Ｍ及びスピーカ２６Ｍは、ホストエミュレーション部６１による制御を受けるようになっている。
【００８８】
＜開発中プログラムのロード及びアンロード＞
（１）開発中プログラムのロード処理
上述の初期ロード処理が正常に終了した後、開発者のストロークデバイス６７又はポインティングデバイス６８の操作による開発中プログラムのロード指令がなされると、ホストエミュレーション部６１から、内部バス６９及びバスインターフェース部７２を介して、開発中プログラムがエンジン部４０へロードされる。
【００８９】
この開発中プログラムのロード処理は、開発中プログラムが記憶部４２のアプリケーション領域４７に格納されることを除いて、上述した初期プログラムロードと同様にして行われる。すなわち、図１０に示されるように、ホストエミュレーション部６１から開発中プログラムを付属データとするアプリケーションロード命令が、内部バス６９及びバスインターフェース部７２を介して、エンジン部４０へ向けて送られる。アプリケーションロード命令を受けたエンジン部４０では、付属データである開発中プログラムを記憶部４２のアプリケーション領域４７に格納する。そして、開発中プログラムの記憶部４２への格納が終了すると、エンジン部４０は、バスインターフェース部７２及び内部バス６９を介して、ロード完了報告をホスト部３０へ送る。
【００９０】
上記の開発中プログラムのロード処理が完了すると、エンジン部４０の状態が、レディ状態から、アプリケーションロード済状態に遷移する。このアプリケーションロード済状態においては、エンジン部４０では、エンジン出力制御信号ＥＣＴの信号レベルを非有意レベルとする。この結果、エンジン部４０が上述のアイドル状態及びレディ状態にあるときと同様に、メイン表示部２５Ｍ及びスピーカ２６Ｍは、ホストエミュレーション部６１による制御を受けることになる。
【００９１】
（２）開発中プログラムのアンロード処理
上記のようにエンジン部４０へロードされた開発中プログラムは、図１１に示される手順によってアンロードすることができる。
【００９２】
開発中プログラムのアンロード処理は、開発者のストロークデバイス６７又はポインティングデバイス６８の操作による開発中プログラムのアンロード指令に応じて行われる。
【００９３】
この開発中プログラムアンロード処理では、まず、ホストエミュレーション部６１が、開発中プログラムアンロード命令を、上述したアプリケーションロード命令の場合と同様にしてエンジン部４０へ向けて送る。この開発中プログラムアンロード命令を受けると、エンジン部４０では、記憶部４２のアプリケーション領域４７から開発中プログラムが削除される。そして、開発中プログラムの記憶部４２からの削除が終了すると、エンジン部４０は、バスインターフェース部７２及び内部バス６９を介して、開発中プログラムのアンロード完了報告をホストエミュレーション部６１へ通知する。
【００９４】
上記の開発中プログラムのアンロード処理が行われ、記憶部４２のアプリケーション領域４７に何等のプログラムも格納されていない状態となると、エンジン部４０の状態が、アプリケーションプログラムロード済状態からレディ状態に遷移する。
【００９５】
＜開発中プログラムの実行制御＞
（１）開発中プログラムの実行開始処理
上述した開発中プログラムのエンジン部４０における実行開始は、図１２に示される手順によって行われる。なお、開発中プログラムの実行開始処理は、開発者のストロークデバイス６７又はポインティングデバイス６８の操作による開発中プログラムの実行開始指令に応じて行われる。
【００９６】
この開発中プログラム実行開始処理は、まず、ホストエミュレーション部６１が、開発中プログラム実行開始命令を、上述した開発中プログラムアンロード命令の場合と同様にして、エンジン部４０へ向けて送る。この開発中プログラム実行開始命令を受けると、エンジン部４０は、開発中プログラムの実行を開始するとともに、開発中プログラムの実行開始報告をホストエミュレーション部６１へ向けて返送する。
【００９７】
上記の開発中プログラムの実行開始処理が行われ、開発中プログラムの実行が開始された場合には、エンジン部４０の状態が、アプリケーションロード済状態からアプリケーション動作状態に遷移する。このアプリケーション動作状態においては、エンジン部４０では、エンジン出力制御信号ＥＣＴによるエンジン画像及びエンジン音の出力指定が行われる。この結果、アプリケーション動作状態においては、上述のようにホストエミュレーション部６１がメイン表示部２５Ｍ及びスピーカ２６Ｍを制御するホストモードではなく、エンジン部４０がメイン表示部２５Ｍ及びスピーカ２６Ｍを制御するエンジンモードとなる。
【００９８】
（２）開発者の指令による開発中プログラムの停止処理
開発者のストロークデバイス６７又はポインティングデバイス６８の操作による開発中プログラムの停止指令に応じて、実行中又は後述する開発中プログラム一時停止命令により一時停止中の開発中プログラムは、図１３に示される手順によって停止される。
【００９９】
この開発中プログラム停止処理では、まず、ホスト部３０が、アプリケーション停止命令を、上述したエンジン統括制御プログラムの実行開始命令の場合と同様にして、エンジン部４０へ向けて送る。このアプリケーション停止命令を受けると、エンジン部４０は、開発中プログラムの実行を停止するとともに、開発中プログラムの停止報告をホスト部３０へ返送する。
【０１００】
実行中の開発中プログラムの実行が停止され、エンジン部４０において実行されているアプリケーションプログラムが存在しなくなり、かつ、一時停止中のアプリケーションアプリケーションが存在しないと、エンジン部４０の状態が、アプリケーション動作状態からアプリケーションロード済状態に遷移する。この結果、エンジンモードからホストモードに変化する。
【０１０１】
（３）開発中プログラムの一時停止処理
実行中の開発中プログラムは、アプリケーション動作中状態において、図１４に示される手順によって一時停止される。なお、開発中プログラムの一時停止処理は、開発者のストロークデバイス６７又はポインティングデバイス６８の操作による開発中プログラムの一時停止指令に応じて行われる。
【０１０２】
このアプリケーション一時停止処理では、まず、ホストエミュレーション部６１が、アプリケーション一時停止命令を、上述したアプリケーション停止命令の場合と同様にして、エンジン部４０へ向けて送る。このアプリケーション一時停止命令を受けると、エンジン部４０は、開発中プログラムの実行を一時停止させるとともに、開発中プログラムの一時停止報告をホストエミュレーション部６１へ返送する。
【０１０３】
上記の開発中プログラムの一時停止処理により開発中プログラムの実行が一時停止され、動作中のアプリケーションプログラムが存在しなくなると、エンジン部４０の状態が、アプリケーション動作状態からアプリケーション一時停止状態に遷移する。この結果、エンジンモードからホストモードに変化する。
【０１０４】
（４）開発中プログラムの再開処理
上記のようにして一時停止された開発中プログラムは、開発者のストロークデバイス６７又はポインティングデバイス６８の操作による開発中プログラムの一時停止指令に応じて、図１５に示される手順によって再開することができる。
【０１０５】
この開発中プログラム再開処理では、まず、ホストエミュレーション部６１が、アプリケーション再開命令を、上述したアプリケーション一時停止命令の場合と同様にして、エンジン部４０へ向けて送る。このアプリケーション再開命令を受けると、エンジン部４０は、開発中プログラムの実行を再開させるとともに、開発中プログラムの再開報告をホストエミュレーション部６１へ返送する。
【０１０６】
アプリケーション一時停止状態における上記の開発中アプリケーションの再開処理により開発中プログラムの実行が再開されると、エンジン部４０の状態が、アプリケーション一時停止状態からアプリケーション動作状態に遷移する。この結果、ホストモードからエンジンモードに変化する。
【０１０７】
以上のようにして、ホストエミュレーション部６１からの各種の命令により、エンジン部４０の動作状態が制御される。
【０１０８】
なお、上記のホストエミュレーション部６１から発行された命令及びエンジン部４０から発行された応答の内容は、コマンドモニタ部７７により収集される。
【０１０９】
＜エンジンプロセッサの動作態様の制御及び実行状況情報の収集＞
（１）エンジンプロセッサにおけるプログラム実行動作の即時停止
開発者が、所望の時にストロークデバイス６７又はポインティングデバイス６８の操作をして、エンジンプロセッサ４１の即時停止指令を行うことにより、エンジンプロセッサ４１のプログラム実行動作が、図１６に示される手順で即時停止される。なお、エンジンプロセッサ４１において実行されているプログラムが、エンジン統括制御プログラム３９0であっても、開発中プログラムであっても、図１６に示される手順で即時停止される。
【０１１０】
エンジンプロセッサ即時停止処理では、開発者によるエンジンプロセッサ４１の即時動作停止指令を受けた実行態様設定部６２が、内部バス６９及びバスインターフェース部７２を介して、即時動作停止設定を実行態様制御部７５へ送る。この即時動作停止設定を受けた実行態様制御部７５は、直ちに、動作停止要求信号ＨＴを有意とし、エンジンプロセッサ４１に対して動作停止要求を行う。動作停止要求を受けたエンジンプロセッサ４１では、制御処理部５１が、その時に実行している命令の実行終了後に、プログラム実行動作を停止する。
【０１１１】
なお、プログラム実行動作を停止しても、制御処理部５１は、エンジン出力制御信号ＥＣＴ、エンジン表示画像信号ＥＩＤについて、プログラム実行動作停止の直前の出力内容を維持する。このため、プログラム実行動作の停止中においては、プログラム実行動作停止の直前の表示画像がメイン表示部２５Ｍに表示される。
【０１１２】
こうしてプログラムの実行動作が停止された後、実行態様制御部７５は、レジスタ読出信号ＲＲＷを利用して、エンジンプロセッサ４１の制御処理部５１内の各種内部レジスタの内容の読出要求を行い、プログラムカウンタ等の各種内部レジスタの内容を読み出す。そして、実行態様制御部７５は、バスインターフェース部７２及び内部バスを介して、読出結果を処理制御部６０の実行状況情報収集部６３へ報告する。
【０１１３】
この報告を受けた実行状況情報収集部６３は、報告された内容を表示デバイス６６に表示し、開発者に提供する。この結果、開発者は、即時停止指令を行った時点におけるエンジンプロセッサの実行状況情報を知ることができる。
【０１１４】
なお、エンジンプロセッサ４１の制御処理部５１におけるプログラム実行動作の停止中に即時動作停止設定を受けた場合には、実行態様制御部７５は、プログラム実行動作が停止中である旨の実行状況情報収集部６３への報告のみを行うようになっている。
【０１１５】
（２）エンジンプロセッサにおけるプログラム実行動作の再開停止
上記のプログラム実行動作停止指令によってプログラム実行動作が停止されたエンジンプロセッサ４１は、開発者が、所望の時にストロークデバイス６７又はポインティングデバイス６８の操作をして、エンジンプロセッサ４１の再開停止指令を行うことにより、図１６に示される手順で、プログラムの実行動作を再開する。
【０１１６】
このプログラム実行動作再開処理では、開発者によるエンジンプロセッサ４１の動作再開指令を受けた実行態様設定部６２が、内部バス６９及びバスインターフェース部７２を介して、動作再開設定を実行態様制御部７５へ送る。この動作再開設定を受けた実行態様制御部７５は、直ちに、動作停止要求信号ＨＴを非有意とし、エンジンプロセッサ４１に対して動作再開要求を行う。動作再開要求を受けたエンジンプロセッサ４１では、制御処理部５１が、動作停止直前の状態からプログラムの実行動作を再開する。
【０１１７】
なお、エンジンプロセッサ４１の制御処理部５１におけるプログラムの実行動作中に動作再開設定を受けた場合には、実行態様制御部７５は、プログラムの実行動作中である旨の実行状況情報収集部６３への報告のみを行うようになっている。
【０１１８】
（３）ブレークポイント設定
開発者が、ストロークデバイス６７又はポインティングデバイス６８の操作をして、ブレークポイントの設定指令を行うことにより、図１７に示される手順で、ブレークポイントを設定することができる。ここで、「ブレークポイント」とは、エンジンプロセッサ４１の制御処理部５１が実行後にエンジンプロセッサ４１の動作を停止させるべきプログラムアドレスをいう。こうしたブレークポイントの設定は、本実施形態では、エンジンプロセッサ４１が、プログラム実行処理を停止しているときにのみ行えるようになっている。
【０１１９】
このブレークポイント設定処理では、ブレークポイントのアドレスを指定した開発者によるブレークポイントの設定指令を受けた実行態様設定部６２が、内部バス６９及びバスインターフェース部７２を介して、ブレークボイント設定を実行態様制御部７５へ送る。このブレークポイント設定を受けた実行態様制御部７５は、ブレークポイントアドレス値及び当該ブレークポイントアドレスの命令実行がブレーク条件である旨をブレーク条件監視部７６へ通知する。
【０１２０】
ブレークポイントの設定が終了後、開発者がストロークデバイス６７又はポインティングデバイス６８の操作をして、エンジンプロセッサ４１の再開停止指令を行うことにより、上記のようにして、エンジンプロセッサ４１によるプログラムの実行動作が再開される。そして、エンジンプロセッサ４１が、設定されたブレークポイントアドレスの命令の実行を開始すると、ブレーク条件監視部７６が、ブレーク条件の発生を検出し、その旨を実行態様制御部７５へ通知する。
【０１２１】
ブレーク条件発生通知を受けた実行態様制御部７５は、直ちに、動作停止要求信号ＨＴを有意とし、エンジンプロセッサ４１に対して動作停止要求を行う。動作停止要求を受けたエンジンプロセッサ４１では、制御処理部５１が、その時に実行している命令、すなわちブレークポイントアドレスの命令の実行終了後に、プログラム実行動作を停止する。
【０１２２】
こうしてエンジンプロセッサ４１によるプログラム実行動作が停止すると、上述した即時停止処理の場合と同様にして、実行態様制御部７５は、レジスタ読出信号ＲＲＷを利用して、エンジンプロセッサ４１の制御処理部５１内の各種内部レジスタの内容の読出要求を行い、プログラムカウンタ等の各種内部レジスタの内容を読み出す。そして、実行態様制御部７５は、バスインターフェース部７２及び内部バスを介して、読出結果を処理制御部６０の実行状況情報収集部６３へ報告する。
【０１２３】
この報告を受けた実行状況情報収集部６３は、報告された内容を表示デバイス６６に表示し、開発者に提供する。この結果、開発者は、ブレークポイントアドレスの命令の実行直後の時点におけるエンジンプロセッサの実行状況情報を知ることができる。
【０１２４】
なお、エンジンプロセッサ４１の制御処理部５１におけるプログラムの実行動作中にブレークポイント設定を受けた場合には、実行態様制御部７５は、プログラムの実行動作中である旨の実行状況情報収集部６３への報告のみを行うようになっている。
【０１２５】
（４）１ステップ実行設定
開発者は、ストロークデバイス６７又はポインティングデバイス６８の操作をして、１ステップ実行の設定指令を行うことにより、図１８に示される手順で、１ステップ実行を設定することができる。こうした１ステップ実行の設定は、本実施形態では、エンジンプロセッサ４１が、プログラム実行処理を停止しているときにのみ行えるようになっている。
【０１２６】
この１ステップ実行設定処理では、開発者による１ステップ実行の設定指令を受けた実行態様設定部６２が、内部バス６９及びバスインターフェース部７２を介して、１ステップ実行設定を実行態様制御部７５へ送る。この１ステップ実行設定を受けた実行態様制御部７５は、まず、１ステップ実行がブレーク条件である旨をブレーク条件監視部７６へ通知する。
【０１２７】
次に、実行態様制御部７５は、動作停止要求信号ＨＴを非有意とすることにより、エンジンプロセッサ４１に対して動作再開要求を行う。この結果、エンジンプロセッサ４１では、制御処理部５１が、次の命令の実行を開始する。この次の命令の実行開始を、ブレーク条件監視部７６は、ブレーク条件の発生として検出し、その旨を実行態様制御部７５へ通知する。
【０１２８】
ブレーク条件発生通知を受けた実行態様制御部７５は、直ちに、動作停止要求信号ＨＴを有意とすることにより、エンジンプロセッサ４１に対して動作停止要求を行う。動作停止要求を受けたエンジンプロセッサ４１では、制御処理部５１が、その時に実行している命令、すなわち次の命令の実行終了後に、プログラム実行動作を停止する。
【０１２９】
こうしてエンジンプロセッサ４１によるプログラム実行動作が停止すると、上述した即時停止処理やブレークポイント処理の場合と同様にして、実行態様制御部７５は、レジスタ読出信号ＲＲＷを利用して、エンジンプロセッサ４１の制御処理部５１内の各種内部レジスタの内容の読出要求を行い、プログラムカウンタ等の各種内部レジスタの内容を読み出す。そして、実行態様制御部７５は、バスインターフェース部７２及び内部バスを介して、読出結果を処理制御部６０の実行状況情報収集部６３へ報告する。
【０１３０】
この報告を受けた実行状況情報収集部６３は、報告された内容を表示デバイス６６に表示し、開発者に提供する。この結果、開発者は、１ステップ実行直後の時点におけるエンジンプロセッサの実行状況情報を知ることができる。
【０１３１】
なお、エンジンプロセッサ４１の制御処理部５１におけるプログラムの実行動作中に１ステップ実行設定を受けた場合には、実行態様制御部７５は、プログラムの実行動作中である旨の実行状況情報収集部６３への報告のみを行うようになっている。
【０１３２】
（５）コマンド履歴の読出し
開発者は、ストロークデバイス６７又はポインティングデバイス６８の操作をして、コマンド履歴要求を行うことにより、図１９に示される手順で、コマンドモニタ部７７にバッファリングされているコマンド履歴を読み出すことができる。こうしたコマンド履歴の読出しは、本実施形態では、エンジンプロセッサ４１が、プログラム実行処理を停止しているときにのみ行えるようになっている。
【０１３３】
このコマンド履歴要求処理では、読出し数を指定した開発者によるコマンド履歴要求を受けた実行状況情報収集部６３が、内部バス６９及びバスインターフェース部７２を介して、読出し数をパラメータとするコマンド履歴要求を実行態様制御部７５へ送る。なお、開発者により読出し数が指定されたかった場合には、実行状況情報収集部６３は、読出し数を１としたコマンド履歴要求を実行態様制御部７５へ送る。
【０１３４】
このコマンド履歴要求を受けた実行態様制御部７５は、指定された読出し数のコマンド又は応答を、コマンドモニタ部７７から古い順に読み出す。そして、実行態様制御部７５は、バスインターフェース部７２及び内部バスを介して、読出結果を処理制御部６０の実行状況情報収集部６３へ報告する。
【０１３５】
この報告を受けた実行状況情報収集部６３は、報告された内容を表示デバイス６６に表示し、開発者に提供する。この結果、開発者は、ホストエミュレーション部６１とエンジン部４０との間でやり取りされたコマンド及び応答を知ることができる。
【０１３６】
なお、エンジンプロセッサ４１の制御処理部５１におけるプログラムの実行動作中にコマンド履歴要求を受けた場合には、実行態様制御部７５は、プログラムの実行動作中である旨の実行状況情報収集部６３への報告のみを行うようになっている。
【０１３７】
（５）エンジン部内のメモリデータの読出し
開発者は、ストロークデバイス６７又はポインティングデバイス６８の操作をして、メモリデータ要求を行うことにより、図２０に示される手順で、エンジン部４０の記憶部４２内に記憶されているデータを読み出すことができる。こうしたメモリデータの読出しは、エンジンプロセッサ４１が、プログラム実行処理を停止しているときにのみ行えるようになっている。
【０１３８】
このメモリデータ処理では、読出し領域を指定した開発者によるメモリデータ要求を受けた実行状況情報収集部６３が、内部バス６９及びバスインターフェース部７２を介して、読出し領域指定をパラメータとするメモリデータ要求を実行態様制御部７５へ送る。このメモリデータ要求を受けた実行態様制御部７５は、指定された領域内のデータを、記憶部４２から読み出す。そして、実行態様制御部７５は、バスインターフェース部７２及び内部バスを介して、読出結果を処理制御部６０の実行状況情報収集部６３へ報告する。
【０１３９】
この報告を受けた実行状況情報収集部６３は、報告された内容を表示デバイス６６に表示し、開発者に提供する。この結果、開発者は、現時点における記憶部４２に格納されているデータを知ることができる。
【０１４０】
以上説明したように、本実施形態では、処理制御部６０のホストエミュレーション部６１が、内部バス６９を介して、開発中プログラム実行部７０へ開発中プログラムを送る。開発中プログラム実行部７０では、エンジン部４０の揮発性の記憶部４１に格納される。その後、ホストエミュレーション部６１が、内部バス６９を介して、開発中プログラム実行部７０へプログラム実行制御コマンドを送る。こうしてホストエミュレーション部６１から送られてきたプログラム実行制御コマンドに対応して、エンジン部４０では、エンジンプロセッサ４１が、記憶部４２に格納されている開発中プログラムの実行開始、停止、一時停止又は再開を行う。
【０１４１】
一方、処理制御部６０の実行態様設定部６２から開発中プログラム実行部７０の実行状況情報報告部７１へは、開発者からの指令に対応して、開発中プログラムの実行態様の設定情報が内部バス６９を介して送られる。実行状況情報報告部７１では、実行態様の設定情報を、実行態様制御部７５が受ける。そして、実行態様制御部７５が、エンジンプロセッサ４１によるプログラム実行動作を制御する。
【０１４２】
この結果、開発者は、処理制御部６０のみに対して指令を行うことにより、開発中プログラムのデバッグを行うことができる。したがって、本実施形態によれば、ホストプロセッサ３１を有するホスト部３０と、エンジンプロセッサ４１を有し、ホスト部３０の管理下で動作するエンジン部４０とを備える携帯電話装置１０においてエンジン部４０が実行するプログラムの開発に際して、別途にエンジンプロセッサ４１についてのインサーキットエミュレータ装置を用意することなく、良好な開発環境を提供することができる。
【０１４３】
また、実行状況情報報告部７１における実行態様制御部７５が、エンジンプロセッサ４１のプログラム実行動作を停止させたときに、エンジンプロセッサ４１の状態情報を収集し、内部バス６９を介して、処理制御部６０へ向けて送る。このため、処理制御部６０は、動作の停止時におけるエンジンプロセッサ４１内の各種レジスタの内容等といったエンジンプロセッサ４１の状態情報を得ることができる。そして、処理制御部６０が、得られた状態情報の表示等をすることにより、開発者に対して、エンジンプロセッサ４１の動作を停止させたときにおけるエンジンプロセッサの状態情報という、プログラムデバッグにおいて必須の情報を提供することができる。
【０１４４】
また、開発中プログラム実行部７０におけるコマンドモニタ部７７が、内部バス６９を介してエンジンプロセッサ４１とホストエミュレーション部６１との間でやり取りされるコマンド及び応答を収集し、コマンド履歴として記憶する。そして、処理制御部６０における実行状況情報収集部６３からのコマンド履歴要求に応答して、実行態様制御部７５が、コマンド履歴を実行状況情報収集部６３へ報告する。このため、処理制御部６０は、エンジンプロセッサ４１とホストエミュレーション部６１との間でやり取りされたコマンド及び応答からなるコマンド履歴を、開発者の要請に応じて得ることができる。そして、処理制御部６０が、得られた状態情報を表示する等することにより、開発者に対して、開発中プログラムのデバッグに有効なコマンド履歴情報を提供することができる。
【０１４５】
また、開発中プログラムが、表示出力及び音出力の少なくとも一方を行う場合に、開発中プログラムによる表示出力及び音出力の際に利用する専用のテレビ受像機７９を備えている。このため、良好なデバッグ環境を提供することができる。
【０１４６】
なお、上記の実施形態では、ブレークポイント設定、１ステップ実行及びコマンド履歴要求が、エンジンプロセッサ４１のプログラム実行動作の停止中にのみ行えるようにしたが、これらの設定又は要求の少なくとも１つを、エンジンプロセッサ４１のプログラム実行動作中にも行えるようにすることもできる。
【０１４７】
また、上記の実施形態では、エンジンプロセッサ４１のプログラム実行動作を停止させるブレーク条件を、即時停止指令、ブレークポイント設定がなされている場合におけるブレークポイントアドレスの命令の実行、１ステップ実行設定がなされている場合の１ステップ実行の３種とした。これらの３種の条件に加えて、指定アドレスへのデータの書込み、指定アドレスからのデータの読出し、及び、指定アドレスへの指定データの書込み等を、ブレーク条件とすることもできる。
【０１４８】
また、上記の実施形態では、デバッグ用の記憶部４２へのアクセスについて、記憶部４２からのデータ読出しのみを可能としたが、データ書込みも可能とすることができる。
【０１４９】
また、上記の実施形態では、携帯電話装置において実行されるプログラムのための開発支援装置に本発明を適用したが、ホストプロセッサを有するホスト部と、エンジンプロセッサを有し、ホスト部の管理下で動作するエンジン部とを備える移動通信端末装置であれば、携帯電話装置以外の移動通信端末装置において実行されるプログラムのための開発支援装置に対して本発明を適用することができるのは勿論である。
【産業上の利用可能性】
【０１５０】
以上説明したように、本発明のプログラム開発支援装置は、ホストプロセッサを有するホスト部と、エンジンプロセッサを有し、ホスト部の管理下で動作するエンジン部とを備える移動通信端末装置においてエンジン部が実行するプログラムの開発に際して利用可能である。
【図面の簡単な説明】
【０１５１】
【図１】一実施形態のプログラム開発支援装置を用いて開発されたプログラムが最終的に実装される携帯電話装置の外観構成を概略的に示す図である。
【図２】図１の携帯電話装置の内部構成を説明するためのブロック図である。
【図３】図２のホスト部の記憶部における不揮発性領域の内容を説明するための図である。
【図４】図２のエンジン部の記憶部の構成を説明するための図である。
【図５】一実施形態のプログラム開発支援装置の構成を説明するためのブロック図である。
【図６】図５の開発中プログラム実行部の構成を説明するためのブロック図である。
【図７】図５のエンジン部の構成を説明するためのブロック図である。
【図８】図６の実行状況情報報告部の構成を説明するためのブロック図である。
【図９】エンジン部への初期ロード処理を説明するためのシーケンス図である。
【図１０】開発中プログラムのエンジン部へのロード処理を説明するためのシーケンス図である。
【図１１】開発中プログラムのエンジン部からのアンロード処理を説明するためのシーケンス図である。
【図１２】開発中プログラムの実行開始処理を説明するためのシーケンス図である。
【図１３】開発中プログラムの停止処理を説明するためのシーケンス図である。
【図１４】開発中プログラムの一時停止処理を説明するためのシーケンス図である。
【図１５】開発中プログラムの再開処理を説明するためのシーケンス図である。
【図１６】プログラム実行動作の即時停止処理及び再開処理を説明するためのシーケンス図である。
【図１７】ブレークポイント設定処理を説明するためのシーケンス図である。
【図１８】１ステップ実行処理を説明するためのシーケンス図である。
【図１９】コマンド履歴の読出し処理を説明するためのシーケンス図である。
【図２０】エンジン部内のメモリ内容の読出し処理を説明するためのシーケンス図である。
【符号の説明】
【０１５２】
１０…携帯電話装置（移動通信端末装置）、１１…第１部分、１２…第２部分、２１…操作部、２２…マイクロフォン、２４…バイブレータ、２５Ｍ…メイン表示部、２５Ｓ…サブ表示部、２６Ｍ…スピーカ、２６Ｓ…案内用スピーカ、２７…ＬＥＤ、２８…加速度・姿勢センサ、２９…撮像部、３０…ホスト部、３１…ホストプロセッサ、３２…無線通信部、３３…アンテナ、３５…記憶部、３６…揮発性領域、３７…不揮発性領域、３８…ホスト用プログラム、３９0…エンジン統括制御プログラム、３９j（ｊ＝１，２，…）…エンジンアプリケーション、４０…エンジン部、４１…エンジンプロセッサ、４２…記憶部、５１…制御処理部、５２…ホストインターフェース部、５３…表示出力選択部、５４…音出力選択部、５９…基本インターフェースプログラム、６０…処理制御部、６１…ホストエミュレーション部、６２…実行態様設定部、６３…実行状況情報収集部、６９…内部バス、７０…開発中プログラム実行部、７１…実行状況情報報告部、７２…バスインターフェース部、７３…ＮＴＳＣ変換部、７５…実行態様制御部、７６…ブレーク条件監視部、７７…コマンドモニタ部、７９…テレビ受像機。
【図１】
2007206737.tif 000003
【図２】
2007206737.tif 000004
【図３】
2007206737.tif 000005
【図４】
2007206737.tif 000006
【図５】
2007206737.tif 000007
【図６】
2007206737.tif 000008
【図７】
2007206737.tif 000009
【図８】
2007206737.tif 000010
【図９】
2007206737.tif 000011
【図１０】
2007206737.tif 000012
【図１１】
2007206737.tif 000013
【図１２】
2007206737.tif 000014
【図１３】
2007206737.tif 000015
【図１４】
2007206737.tif 000016
【図１５】
2007206737.tif 000017
【図１６】
2007206737.tif 000018
【図１７】
2007206737.tif 000019
【図１８】
2007206737.tif 000020
【図１９】
2007206737.tif 000021
【図２０】
2007206737.tif 000022
【手続補正書】
【提出日】平成18年12月25日(2006.12.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明のプログラム開発支援装置は、移動通信端末装置のエンジン部が実行するプログラムの開発を支援するプログラム開発支援装置であって、前記移動通信端末装置は、ホストプロセッサを有するホスト部と；エンジンプロセッサ及び前記ホスト部から送られてきたプログラムを格納する揮発性記憶領域を有し、前記ホスト部からのプログラム実行制御コマンドに従って、前記揮発性記憶領域に格納された前記プログラムの実行を行うエンジン部と：を備え、前記プログラム開発支援装置は、前記移動通信端末装置のホスト部のエミュレーションを行うとともに、開発後にエンジン部で実行する開発中プログラムの実行開始、停止、一時停止又は再開からなる実行態様の設定を行う制御処理部と；前記制御処理部と内部バスを介して接続され、開発中プログラムを実行する開発中プログラム実行部と；を備え、前記開発中プログラム実行部が、前記エンジンプロセッサと同様に構成された開発用エンジンプロセッサと；前記エンジンプロセッサに接続され、前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムが格納される揮発性記憶部と；前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムの実行開始、停止、一時停止又は再開からなる実行態様の設定情報に応じて前記エンジンプロセッサによるプログラムの動作停止又は動作再開を制御する実行態様制御部と；前記内部バスと、前記開発用エンジンプロセッサ及び前記実行態様制御部とのインターフェーシングを行うバスインターフェース部と；を備えることを特徴とするプログラム開発支援装置である。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
本発明の開発支援装置では、前記開発中プログラム実行部は、前記開発用エンジンプロセッサのプログラム実行動作が停止されたときに、前記開発用エンジンプロセッサの状態情報を収集し、前記内部バスを介して、実行状況情報として、前記制御処理部へ向けて送るようにすることができる。この場合には、制御処理装置は、動作の停止時におけるエンジンプロセッサ内の各種レジスタの内容等といった開発用エンジンプロセッサの状態情報を得ることができる。そして、制御処理部が、得られた状態情報の表示等をすることにより、開発者に対して、開発用エンジンプロセッサの動作を停止させたときにおける開発用エンジンプロセッサの状態情報という、プログラムデバッグにおいて有用な情報を提供することができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
また、本発明のプログラム開発支援装置では、前記開発中プログラム実行部が、前記内部バスを介して前記開発用エンジンプロセッサと前記制御処理部との間でやり取りされるコマンド及び応答を収集し、コマンド履歴として記憶するとともに、前記制御処理部からのコマンド履歴要求に応答して、前記コマンド履歴を前記制御処理部へ送るコマンド履歴報告部を更に備えるようにすることができる。この場合には、制御処理部は、開発用エンジンプロセッサと制御処理部との間でやり取りされるコマンド及び応答からなるコマンド履歴を、開発者の要請があったときに得ることができる。そして、制御処理部が、得られた状態情報の表示等をすることにより、開発者に対して、開発中プログラムのデバッグに有効なコマンド履歴情報を提供することができる。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
移動通信端末装置のエンジン部が実行するプログラムの開発を支援するプログラム開発支援装置であって、
前記移動通信端末装置は、
ホストプロセッサを有するホスト部と；
エンジンプロセッサ及び前記ホスト部から送られてきたプログラムを格納する揮発性記憶領域を有し、前記ホスト部からのプログラム実行制御コマンドに従って、前記揮発性記憶領域に格納された前記プログラムの実行を行うエンジン部と；を備え、
前記プログラム開発支援装置は、
前記移動通信端末装置のホスト部のエミュレーションを行うとともに、開発後にエンジン部で実行する開発中プログラムの実行開始、停止、一時停止又は再開からなる実行態様の設定を行う制御処理部と；
前記制御処理部と内部バスを介して接続され、開発中プログラムを実行する開発中プログラム実行部と；を備え、
前記開発中プログラム実行部が、
前記エンジンプロセッサと同様に構成された開発用エンジンプロセッサと；
前記開発用エンジンプロセッサに接続され、前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムが格納される揮発性記憶部と；
前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムの実行開始、停止、一時停止又は再開からなる実行態様の設定情報に応じて前記エンジンプロセッサによるプログラムの動作停止又は動作再開を制御する実行態様制御部と；
前記内部バスと、前記開発用エンジンプロセッサ及び前記実行態様制御部とのインターフェーシングを行うバスインターフェース部と；を備えることを特徴とするプログラム開発支援装置。
【請求項２】
前記開発中プログラム実行部は、前記開発用エンジンプロセッサのプログラム実行動作が停止されたときに、前記開発用エンジンプロセッサの状態情報を収集し、前記内部バスを介して、実行状況情報として、前記制御処理部へ向けて送る、ことを特徴とする請求項１に記載のプログラム開発支援装置。
【請求項３】
前記開発中プログラム実行部は、前記内部バスを介して前記開発用エンジンプロセッサと前記制御処理部との間でやり取りされるコマンド及び応答を収集し、コマンド履歴として記憶するとともに、前記制御処理部からのコマンド履歴要求に応答して、前記コマンド履歴を前記制御処理部へ送るコマンド履歴報告部を更に備える、ことを特徴とする請求項１又は２に記載のプログラム開発支援装置。
【請求項４】
前記開発中プログラムは、表示出力及び音出力の少なくとも一方を行うアプリケーションのプログラムであり、
前記開発中プログラムによる表示出力の際に利用する画面表示手段と；
前記開発中プログラムによる音出力の際に利用する音再生手段と；を更に備える、ことを特徴とする請求項１〜３のいずれか一項に記載のプログラム開発支援装置。
【請求項５】
前記実行態様の設定には、前記開発中プログラムの指定ブレークポイントアドレスまでの実行の設定、及び、プログラムカウンタの現在値に応じたプログラムアドレスに記載された１命令の実行の設定が含まれる、ことを特徴とする請求項１〜４のいずれか一項に記載のプログラム開発支援装置。
【手続補正書】
【提出日】平成19年5月1日(2007.5.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明のプログラム開発支援装置は、移動通信端末装置のエンジン部が実行するプログラムの開発を支援するプログラム開発支援装置であって、前記移動通信端末装置は、ホストプロセッサを有するホスト部と；エンジンプロセッサ及び前記ホスト部から送られてきたプログラムを格納する揮発性記憶領域を有し、前記ホスト部からのプログラム実行制御コマンドに従って、前記揮発性記憶領域に格納された前記プログラムの実行を行うエンジン部と：を備え、前記プログラム開発支援装置は、前記移動通信端末装置のホスト部のエミュレーションを行うとともに、開発後にエンジン部で実行する開発中プログラムの実行開始、停止、一時停止又は再開からなる実行態様の設定を行う制御処理部と；前記制御処理部と内部バスを介して接続され、開発中プログラムを実行する開発中プログラム実行部と；を備え、前記開発中プログラム実行部が、前記エンジンプロセッサと同様に構成された開発用エンジンプロセッサと；前記エンジンプロセッサに接続され、前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムが格納される揮発性記憶部と；前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムの実行開始、停止、一時停止又は再開からなる実行態様の設定情報に応じて前記エンジンプロセッサによるプログラムの動作停止又は動作再開を制御する実行態様制御部と；前記内部バスと、前記開発用エンジンプロセッサ及び前記実行態様制御部とのインターフェーシングを行うバスインターフェース部と；を備え、前記開発中プログラム実行部は、前記制御処理部による制御のもとで、前記開発中プログラムが実行されていない期間においては、前記ホスト部のエミュレーションの実行によって発生するホスト画像を表示させるとともに、前記ホスト部のエミュレーションの実行によって発生するホスト音声を出力させ、前記開発中プログラムが実行されている期間においては、前記開発中プログラムの実行によって発生するエンジン画像を、前記ホスト画像を表示するのと同一の表示手段に表示させるとともに、前記開発中プログラムの実行によって発生するエンジン音声を、前記ホスト音声を出力するのと同一の音出力手段から出力させる、ことを特徴とするプログラム開発支援装置である。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
移動通信端末装置のエンジン部が実行するプログラムの開発を支援するプログラム開発支援装置であって、
前記移動通信端末装置は、
ホストプロセッサを有するホスト部と；
エンジンプロセッサ及び前記ホスト部から送られてきたプログラムを格納する揮発性記憶領域を有し、前記ホスト部からのプログラム実行制御コマンドに従って、前記揮発性記憶領域に格納された前記プログラムの実行を行うエンジン部と；を備え、
前記プログラム開発支援装置は、
前記移動通信端末装置のホスト部のエミュレーションを行うとともに、開発後にエンジン部で実行する開発中プログラムの実行開始、停止、一時停止又は再開からなる実行態様の設定を行う制御処理部と；
前記制御処理部と内部バスを介して接続され、開発中プログラムを実行する開発中プログラム実行部と；を備え、
前記開発中プログラム実行部が、
前記エンジンプロセッサと同様に構成された開発用エンジンプロセッサと；
前記開発用エンジンプロセッサに接続され、前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムが格納される揮発性記憶部と；
前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムの実行開始、停止、一時停止又は再開からなる実行態様の設定情報に応じて前記エンジンプロセッサによるプログラムの動作停止又は動作再開を制御する実行態様制御部と；
前記内部バスと、前記開発用エンジンプロセッサ及び前記実行態様制御部とのインターフェーシングを行うバスインターフェース部と；を備え
前記開発中プログラム実行部は、前記制御処理部による制御のもとで、前記開発中プログラムが実行されていない期間においては、前記ホスト部のエミュレーションの実行によって発生するホスト画像を表示させるとともに、前記ホスト部のエミュレーションの実行によって発生するホスト音声を出力させ、前記開発中プログラムが実行されている期間においては、前記開発中プログラムの実行によって発生するエンジン画像を、前記ホスト画像を表示するのと同一の表示手段に表示させるとともに、前記開発中プログラムの実行によって発生するエンジン音声を、前記ホスト音声を出力するのと同一の音出力手段から出力させる、
ことを特徴とするプログラム開発支援装置。
【手続補正書】
【提出日】平成19年5月16日(2007.5.16)
【手続補正１】
【補正対象書類名】手続補正書
【補正対象項目名】手続補正２
【補正方法】変更
【補正の内容】
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
移動通信端末装置のエンジン部が実行するプログラムの開発を支援するプログラム開発支援装置であって、
前記移動通信端末装置は、
ホストプロセッサを有するホスト部と；
エンジンプロセッサ及び前記ホスト部から送られてきたプログラムを格納する揮発性記憶領域を有し、前記ホスト部からのプログラム実行制御コマンドに従って、前記揮発性記憶領域に格納された前記プログラムの実行を行うエンジン部と；を備え、
前記プログラム開発支援装置は、
前記移動通信端末装置のホスト部のエミュレーションを行うとともに、開発後にエンジン部で実行する開発中プログラムの実行開始、停止、一時停止又は再開からなる実行態様の設定を行う制御処理部と；
前記制御処理部と内部バスを介して接続され、開発中プログラムを実行する開発中プログラム実行部と；を備え、
前記開発中プログラム実行部が、
前記エンジンプロセッサと同様に構成された開発用エンジンプロセッサと；
前記開発用エンジンプロセッサに接続され、前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムが格納される揮発性記憶部と；
前記制御処理部から前記内部バスを介して送られてきた前記開発中プログラムの実行開始、停止、一時停止又は再開からなる実行態様の設定情報に応じて前記エンジンプロセッサによるプログラムの動作停止又は動作再開を制御する実行態様制御部と；
前記内部バスと、前記開発用エンジンプロセッサ及び前記実行態様制御部とのインターフェーシングを行うバスインターフェース部と；を備え
前記開発中プログラム実行部は、前記制御処理部による制御のもとで、前記開発中プログラムが実行されていない期間においては、前記ホスト部のエミュレーションの実行によって発生するホスト画像を表示させるとともに、前記ホスト部のエミュレーションの実行によって発生するホスト音声を出力させ、前記開発中プログラムが実行されている期間においては、前記開発中プログラムの実行によって発生するエンジン画像を、前記ホスト画像を表示するのと同一の表示手段に表示させるとともに、前記開発中プログラムの実行によって発生するエンジン音声を、前記ホスト音声を出力するのと同一の音出力手段から出力させる、
ことを特徴とするプログラム開発支援装置。
【請求項２】
前記開発中プログラム実行部は、前記開発用エンジンプロセッサのプログラム実行動作が停止されたときに、前記開発用エンジンプロセッサの状態情報を収集し、前記内部バスを介して、実行状況情報として、前記制御処理部へ向けて送る、ことを特徴とする請求項１に記載のプログラム開発支援装置。
【請求項３】
前記開発中プログラム実行部は、前記内部バスを介して前記開発用エンジンプロセッサと前記制御処理部との間でやり取りされるコマンド及び応答を収集し、コマンド履歴として記憶するとともに、前記制御処理部からのコマンド履歴要求に応答して、前記コマンド履歴を前記制御処理部へ送るコマンド履歴報告部を更に備える、ことを特徴とする請求項１又は２に記載のプログラム開発支援装置。
【請求項４】
前記開発中プログラムは、表示出力及び音出力の少なくとも一方を行うアプリケーションのプログラムであり、
前記開発中プログラムによる表示出力の際に利用する画面表示手段と；
前記開発中プログラムによる音出力の際に利用する音再生手段と；を更に備える、ことを特徴とする請求項１〜３のいずれか一項に記載のプログラム開発支援装置。
【請求項５】
前記実行態様の設定には、前記開発中プログラムの指定ブレークポイントアドレスまでの実行の設定、及び、プログラムカウンタの現在値に応じたプログラムアドレスに記載された１命令の実行の設定が含まれる、ことを特徴とする請求項１〜４のいずれか一項に記載のプログラム開発支援装置。