6.16 キャッシュのデバッグについて

DS-5デバッガ。では、システムのキャッシュの内容を表示できます(L1 キャッシュ、TLB キャッシュなど)。

[キャッシュデータ]ビューで、または[コマンド]ビューで cache list コマンドと cache print コマンドを使用すると、キャッシュに関する情報を表示できます。

図 6-4 [キャッシュデータ]ビュー(L1 TLB キャッシュを示す)
[キャッシュデータ]ビュー(L1 TLB キャッシュを示す)


注:

キャッシュの認識は、正確なデバイスおよび接続方法によって異なります。

[DTSL コンフィギュレーションエディタ]ダイアログの[Cache debug mode]オプションは、[キャッシュデータ]ビューのキャッシュ RAM の読み出しを有効または無効にします。[キャッシュデータ]ビューが適切に設定されている場合にこのオプションを選択すると、ターゲットが停止するたびにキャッシュ RAM の読み出しを実行できます。

[DTSL コンフィギュレーションエディタ][Preserve cache contents in debug state]オプションを有効にすると、コアの停止中にキャッシュの内容が保持されます。このオプションを無効にした場合、コアの停止中にキャッシュの内容が保持される保証はありません。

注:

最も正確な結果を得るには、[DTSL コンフィギュレーションエディタ]ダイアログの[Preserve cache contents in debug state]オプションを有効にして下さい。このオプションを有効にしない場合、ターゲットとのデバッガのインタラクションのため、表示される情報の正確性が低下する場合があります。
図 6-5 DTSL コンフィギュレーションエディタ([Cache RAMs configuration]タブ)
DTSL コンフィギュレーションエディタ(キャッシュ読み出しオプションが有効な場合)


注:

ARMv8 アーキテクチャベースのプロセッサの場合、キャッシュ予約に制約があります。
  • 短い記述子変換テーブルフォーマットを使用するよう MMU が構成されている場合、キャッシュ予約できません。
  • 長い記述子変換テーブルフォーマットを使用する場合は、キャッシュ予約できますが、TLB コンテンツは予約できません。

[Debug Configurations]ダイアログからターゲットに接続する前、または[デバッグ制御]ビューのコンテキストメニューから接続した後に、このオプションを有効にすることができます。

注:

一部のデバイスでは、キャッシュデータの読み出しが非常に遅くなる可能性があります。この問題を回避するため、不要な DTSL オプションは有効にしないで下さい。また、必要に応じて、ユーザインタフェースのキャッシュビューを閉じます。

[メモリ]ビューでは、ターゲットに存在するさまざまなキャッシュのパースペクティブから見たターゲットメモリを表示できます。コマンドラインで、キャッシュのパースペクティブからメモリを表示または読み出すには、メモリアドレスの接頭辞として <cacheViewID=value>: を追加します。Cortex-A15 プロセッサに対して、指定できる cacheViewID の値を以下に示します。

以下に例を示します。

# L1D キャッシュのパースペクティブからアドレス 0x9000 のメモリを表示します。
x/16w N<cacheViewID=L1D>:0x9000

# L2 キャッシュのパースペクティブからアドレス 0x80009000 の myFile.bin にメモリをダンプします。
dump binary memory myFile.bin S<cacheViewID=L2>:0x80009000 0x10000

# L3 キャッシュのパースペクティブからアドレス 0x80009000 の myFile.bin にメモリを追加します。
append memory myFile.bin <cacheViewID=L3>:0x80009000 0x10000
非機密扱いPDF file icon PDF 版ARM DUI0446ZJ
Copyright © 2010–2016 ARM.All rights reserved.