C.1. トラブルシューティング手順

このユーザガイドの第 2 章に記載されている手順に従ってハードウェアを設定しても ARM プロファイラからソースコードを実行するとエラーが発生する場合は、以下の一般的な原因を検討してください。

  1. ARM プロファイラが終了し、"Exiting application due to unrecoverable errors please refer to the ARM Profiler user guide Appendix C hardware troubleshooting guide" というエラーメッセージが表示された場合、以下の問題の 1 つが発生している可能性があります。

    • ARM プロファイラ起動コンフィギュレーションで指定されたイメージファイルがターゲットハードウェアのイメージファイルと一致しない。

      起動コンフィギュレーションで指定されたイメージが開発ボードにロードされたイメージと一致しない場合、プロファイリングをオンにしたターゲットでイメージを実行できません。 これは [シンボルのみ] オプションを使用した場合によく起こりますが、この場合は特定のエラーは生成されません。 イメージファイルがターゲットのイメージファイルに一致していることを確認してから、再度ハードウェアプロファイリングを試みてください。

    • 自己変更型コードを使用した

      ランタイム時に axf ファイルにないアドレスに分岐しようとする自己変更型コードがある場合、ARM プロファイラは上記のエラーを出して失敗することがあります。 自己変更型コードを削除して、再度ハードウェアプロファイリングを試みてください。

      Note

      これには例外があります。ARM プロファイラでは、ランタイムに 0x0 ~ 0x1C までのアドレスにハンドラをインストールする自己変更型コードを使用できます。

      ARM プロファイラでは、特定のアボートハンドラからのプロファイリングをサポートしていません。 プリフェッチアボートハンドラのような一部のハンドラの場合、上記のエラーを出して失敗することがあります。

    • ハードウェアターゲットの実行が速すぎる

      ARM プロファイラはコアクロックで 350 MHz までしかハードウェアをプロファイリングできません。 開発ボードの実行速度がこの速度を上回る場合は、プロファイリングのためにハードウェアの速度を落としてから再試行してください。

    • イメージファイルに含まれるコードに欠陥がある

      ARM プロファイラで実行する前に、コードが安定していることを確認することが重要です。

    • ハードウェアで反転クロックを使用している場合は、RVConfig ファイルで 'Inverted clock' 設定が使用されていることを確認してください。

  2. ARM プロファイラが以下のエラーメッセージを出して失敗する場合、RVI または RealView Trace 2 ユニットが不正な状態にある可能性があります。

    • "Session handle invalid"

    • "Device state requested on connection could not be achieved"

    • "RVI timed out waiting for a response from the device"

    RVI または RealView Trace 2 ユニットが不正な状態にある可能性があります。 修復するには、RVI ユニットと RealView Trace 2 ユニットの電源サイクルを行います。 最初に開発ボードの電源を切り、続けて RVI ユニットと RealView Trace 2 ユニットの電源を切ります。 次に開発ボードの電源を入れます。 続けて RVI ユニットと RealView Trace 2 ユニットを再起動し、RVI ユニットの STAT LED がオンになり、RealView Trace 2 ユニットの電源オン LED インジケータがオンになるまで待ちます。すべてのハードウェアが再度稼働状態になったら、開発ボードの電源サイクルを再度実行してから、別のプロファイリングを実行してみます。

  3. ARM プロファイラが失敗したときのエラーメッセージが"No connection to the device"の場合は、以下の方法を試してみます。

    • RVConfig ファイルが開発ボードに一致することを確認します。

    • RVI および RealView Trace 2 ユニット間の接続を確認します。

    • RVI とハードウェアターゲットの両方の電源がオンであることを確認します。

    上記をすべて確認した後も "No connection to the device" エラーメッセージが表示される場合は、デバイスが IP アドレスを取得していない可能性があります。 手順 2 の説明に従って RVI ユニットの電源サイクルを試します。

  4. ARM プロファイラが失敗し、"Device in use" エラーメッセージが表示される場合は、ユニットにアクティブな RealView Debugger が接続されている可能性があります。 RVI および RealView Trace 2 ユニットに複数のインスタンスを同時接続することはできないため、RVD が既に接続されている場合は、RVD を閉じて ARM プロファイラを再度実行してください。 このエラーは、別のインスタンスの ARM プロファイラが既にデバイスに接続されている場合にも発生します。 ARM プロファイラで開いているインスタンスが 1 つだけであることを確認してください。

  5. "Bad plugin" エラーメッセージは、指定された ‘.rvc’ コンフィギュレーションファイルがないことを示します。 RealView Trace 2 起動コンフィギュレーションダイアログで指定したディレクトリの場所にコンフィギュレーションファイルがあることを確認してください。

  6. "Failed to parse the specified configuration file" は、‘.rvc’ コンフィギュレーションファイルが不正、または無効であることを示します。 新しい有効な ‘.rvc’ コンフィギュレーションファイルを作成し、ハードウェアプロファイリングを再度実行してください。

    Note

    RVConfig ファイルは、RVI バージョン 3.3 以降を使用して作成する必要があります。 古いバージョンの RVI を使用して作成した RVConfig ファイルは ARM プロファイラと互換性がありません。

  7. "Buffer overflow" エラーメッセージもハードウェアターゲットの実行速度が速すぎるか、ユニットの 1 つが不正な状態にあることを示すことがあります。 これらの問題の修正可能な方法は、項目 1 と 2 を参照してください。

  8. ARM プロファイラで "Device not powered or has been disconnected" というエラーメッセージが表示されたら、RVI および RealView Trace 2 ユニットの接続と電源ステータスを確認してください。

  9. "Error in Loading the Object Image <path> execution terminated" は、イメージファイルが見つからないか、無効であることを示します。 起動コンフィギュレーションダイアログが有効なイメージファイルを指していることを確認してから、ハードウェアプロファイリングをやり直してください。

  10. "read/write memory failure" エラーメッセージは、ターゲットハードウェアのメモリマップのコンフィギュレーションが不正であることに起因することがあります。 ハードウェア仕様ごとにメモリマップを設定して、この問題を修正してください。

  11. 報告された命令が 0 個の状態で.apa 解析ファイルを作成し、高速でトレースをキャプチャする反転クロックの使用が必要なボードで実行した場合は、以下の修正方法を試してみてください。

    • プローブが正しいスロットにしっかりと接続されていることを確認してください。

    • ハードウェアで反転クロックを使用している場合は、RVConfig ファイルで反転クロック設定が使用されていることを確認してください。

    Note

    トレースタイミング設定を含めた RVConfig の多くの設定は ARM プロファイラで重要視されていませんが、反転クロック設定はこの規則の例外です。

  12. 一部の間接分岐エラーは、ベクタテーブルをブートストラップの一部として書き込むアプリケーションが原因で発生します。 一部の ARM ブレークポイントユニットの制限上、ベクタテーブルへの書き込みは一部のサブセットのみがキャッチされます。 ベクタテーブルがセットアップの一部として書き込まれる場合は、ベクタテーブルの最後の書き込みが以下のいずれかの場所で行われるようにしてください。

    • 0x08 (SVC)

    • 0x18 (IRQ)

    Note

    ベクタテーブルを書き込む場合は、ベクタテーブルの後に 2 つの NOP を追加して、特定のターゲットのコールチェーンのリンクの誤報告が起きないようにしてください。

ここに記載されていないハードウェアプロファイリングの問題が発生した場合は、上記の説明に従って RVI および RealView Trace 2 ユニットの電源サイクルを実行し、ハードウェアプロファイリングを再開してください。

Copyright © 2007, 2008 ARM Limited. All rights reserved.ARM DUI 0414CJ
Non-Confidential