***************
Q1.Virtual Platform Analyzerが動作するOSは何ですか?
A1.本誌4月号で紹介しているVirtual Platform Analyzer(以下VPA)は、WindowsXP Service Pack 2以降で動作します。Windows2000やWindows Vistaでは動作しません。
***************
Q2.ダウンロードしたアーカイブ・ファイルをデスクトップで解凍し、VPAを起動したところ次のようなエラーが発生してVPAを起動できません。

A2.VPAのインストール・フォルダとしては「日本語のパスを含まない」かつ「フォルダ名にスペースを含まない」フォルダとしてください。
***************
Q3.記事中の説明で、ショートカットの作成と作業ディレクトリの指定のあたりの説明がよくわかりません。
A3.下記の説明を参照してください。
>> Virtual Platform Analyzerのショートカットおよび作業フォルダの設定
***************
Q4.VPA以外にFlexLMを使用するアプリケーションを使用しています。この場合でも「LM_LICENSE_FILE」という環境変数を設定して問題ありませんか?
A4.この場合は「COWARED_LICENSE_FILE」という環境変数名で設定してください。設定する環境変数の値は本文説明と同じにしてください。
***************
Q5.バッチファイルLMstart.batやVPAを起動すると、次のようなダイアログが表示されました。どうしたらよいですか?

A5.Windowsのセキュリティ設定により、このようなダイアログが表示される場合があります。「ブロックを解除する(U)」を選択してください。
***************
Q6.VPAを起動しシミュレーションをスタートすると、次のようなライセンスの指定を要求するダイアログが表示さます。この場合どうしたら良いでしょうか?

A6.本文中に説明がありますが、[インストールフォルダ]\bin\LMstart.batバッチ・ファイルを起動して、VPAの起動前にライセンス・サーバを起動しておく必要があります。この場合上記のLmstart.batを実行し忘れている事が考えられます。
***************
Q7.すでにVPAを一つ起動している状態で、別のVPAを立ち上げようとすると次のようなメッセージが表示されて起動できません。VPAは二つ以上立ち上げられないのでしょうか?


A7.今回CoWare社から提供されているライセンスでは、同時に二つのVAPを起動することはできません。
***************
Q8.VPAを起動し、メニューバーの「Simulation」→「Start」を選択し、Start Simulationのダイアログで「Start and connect」をクリックしてシミュレータを起動して、次のような画面まで進みました。

しかしそのまま緑色の三角ボタンを押してシミュレーションをスタートすると、次のような例外が発生してしまいます。

A8.これは本文中でも若干ふれていますが、sim.exeをVPAで起動した状態では、アプリケーションなどが一切ロードされていないまっさらのハードウェアがあるような状態です。この状態でシミュレーションをスタートすると実行するアプリケーションが存在しないため、このような例外が発生します。何らかのARM7用プログラムをロードしてからシミュレーションを実行してください。
***************
Q9.今回のVPAがサポートしているLPC2388の機能について、もう少し詳しく説明してください。
A9.今回用意したVPAはLPC2388のすべての機能をシミュレーションできるわけではありません.現時点で用意している周辺コントローラのモデルとメモリの範囲は次のようになります。
・フラッシュROM:512Kバイト
メモリ・アドレス 0x00000000~0x0007FFFF
・SRAM:64Kバイト
メモリ・アドレス 0x40000000~0x4000FFFF
・割り込みコントローラ(VIC)
レジスタ・アドレス 0xFFFFF000~0xFFFFFFFF
・FGPIOポート0
レジスタ・アドレス 0x3FFFC000~0x3FFFC01F
・FGPIOポート1
レジスタ・アドレス 0x3FFFC020~0x3FFFC03F
・FGPIOポート2
レジスタ・アドレス 0x3FFFC040~0x3FFFC05F
・FGPIOポート3
レジスタ・アドレス 0x3FFFC060~0x3FFFC07F
・FGPIOポート4
レジスタ・アドレス 0x3FFFC080~0x3FFFC09F
・タイマ(チャネル0のみ)
レジスタ・アドレス 0xE0004000~0xE0004043
・UART(チャネル0のみ)
レジスタ・アドレス 0xE000C000~0xE000C03F
また、次のコントローラは一部機能のみ実装しています。
・GPIOポート0
レジスタ・アドレス 0xE0028000~0xE00280B7
IO0IntStatやIO0IntClrレジスタなどの、割り込み制御系のレジスタのみを実装しています。
・クロック&パワー・コントローラ
レジスタ・アドレス 0xE01FC080~0xE01FC1FF
PLLCONレジスタの下位2ビットをセットすると、PLLSTATレジスタのビット26/25/24にクロック系ステータス・ビットが立ちます。それ以外のビットやレジスタは、書き込み時は何もせず、読み出し時はゼロを返します。各ペリフェラルへの供給クロックを設定するPCLKSEL0/1レジスタへの書き込みも無視されるため、分周設定を変更することはできません。実CPUのように、外部に接続した発振子を発振させてクロックを逓倍するという機能なども実装していません。CPUコアのクロックはデフォルトの内蔵発振回路の4MHzが、ペリフェラルにはデフォルトの分周設定(1/4)により1MHzが供給されていると考えてください。
また、実CPUでは、SYS_SCSレジスタのビット0をセットしないと、FGPIOのポート0と1は使えませんが、本シミュレータ上ではこのビットをセットしなくても、FGPIOのポート0/1が使えます。
・ピン・ファンクション設定コントローラ
レジスタ・アドレス 0xE002C000~0xE002C067
これらのレジスタは実際には書き込み時は何もせず、読み出し時はゼロを返します。実CPUでは、PINSEL0レジスタを設定してマルチプレクスされているピン機能からTxD0とRxD0を選択しないとUARTの通信ができませんが、本シミュレータ上ではこれらのビットをセットしなくても、UART0で通信ができます。
* * * * * *
上記で説明した以外のアドレスにアクセスすると、次のような例外が発生してシミュレーションが終了します。

この場合は、未定義アドレスへのアクセスをしないようにARM7用プログラムを修正して、再度VPAを起動し直してからシミュレーションを実行してください。