メモリを読み出します。
構文
mrd [options] <address> [num]
アクティブ ターゲットの <address>
で指定したメモリ アドレスから <num>
で指定した値を読み出します。
オプション
オプション | 説明 |
---|---|
-force
|
アクセス保護を解除します。デフォルトでは、予約されているアドレス範囲および無効なアドレス範囲へのアクセスはブロックされます。 |
-size <access-size>
|
<access-size> は、b = バイト アクセス、h = ハーフワード アクセス、w = ワード アクセス、d = ダブルワード アクセスのいずれかの値にできます。デフォルトのアクセス サイズは w です。アドレスは、-unaligned-access オプションが使用されない場合は、メモリを読み出す前にアクセス サイズに揃えられます。ダブルワード アクセスがサポートされないターゲットでは、2 ワード アクセスが使用されます。読み出されるデータ値が 1 より大きい場合、デバッガーは適切なアクセス サイズを選択します。次に例を示します。
1. mrd -size b 0x0 4 の場合、デバッガーはメモリからの 1 ワードにアクセスし、4 バイトを表示します。2. mrd -size b 0x0 3 の場合、デバッガーはメモリからの 1 ハーフワードと 1 バイトにアクセスし、3 バイトを表示します。3. mrd 0x0 3 の場合、デバッガーはメモリからの 3 ワードにアクセスし、3 バイトを表示します。64 ビットを超えるデータを読み出しには、アドレスと共にデータ ワード数を指定します。読み出しデータは、アクセス サイズの倍数になります。たとえば、128 ビットのデータの読み出しには、mrd -size d <addr> 2 または mrd -size w <addr> 4 を実行します。 |
-value
|
結果をコンソールに表示する代わりに、値の Tcl リストを返します。 |
-bin
|
ターゲットから読み出したデータをバイナリ フォーマットで返します。 |
-file <file-name>
|
ターゲットから読み出したバイナリ データを <file-name> に記述します。 |
-address-space <name>
|
現在のターゲットのデフォルト メモリ空間ではなく、指定したメモリ空間にアクセスします。
Arm®
DAP ターゲットの場合、アドレス空間 DPR、APR、、および AP<n> を使用すると、それぞれ DP レジスタ、AP レジスタ、および MEM-AP アドレスにアクセスできます。下位互換性のため、-address-space APR の短縮形の -arm-dap、-address-space AP<n> の短縮形の -arm-ap も使用できます。APR アドレス範囲は 0x0 ~ 0xfffc で、上位 8 ビットで AP を選択し、下位 8 ビットでその AP のレジスタ アドレスを指定します。 |
-unaligned-access
|
読み出しを実行する前にメモリ アドレスはアクセス サイズに揃えられません。アドレス サイズに揃えないアクセスのサポートは、ターゲット アーキテクチャによります。このオプションを指定しない場合、アドレスは自動的にアクセス サイズに揃えられます。 |
注記
- Arm DAP および MEM-AP アドレス空間にアクセスする APU ターゲットを選択します。
戻り値
正しく実行された場合、メモリ アドレスと指定したフォーマットのデータが返されます。ターゲット メモリを読み出せない場合は、エラー文字列が返されます。
例
mrd 0x0
アドレス 0x0 から 1 ワードを読み出します。
mrd 0x0 10
アドレス 0x0 から 10 ワードを読み出します。
mrd -value 0x0 10
アドレス 0x0 から 10 ワードを読み出し、値の Tcl リストを返します。
mrd -size b 0x1 3
アドレス 0x1 から 3 バイトを読み出します。
mrd -size h 0x2 2
アドレス 0x2 から 2 ハーフワードを読み出します。
mrd -bin -file mem.bin 0 100
アドレス 0x0 から 100 ワードを読み出し、バイナリ データを mem.bin に記述します。
mrd -address-space APR 0x100
Zynq で APB-AP CSW を読み出します。上位 8 ビット (0x1) は APB-AP を選択し、下位 8 ビット (0x0) は CSW のアドレスを指定します。
mrd -address-space APR 0x04
Zynq で AHB-AP TAR を読み出します。上位 8 ビット (0x0) は AHB-AP を選択し、下位 8 ビット (0x4) は TAR のアドレスを指定します。
mrd -address-space AP1 0x80090088
DAP APB-AP のアドレス 0x80090088 を読み出します。AP 1 が APB-AP を選択します。APB-AP の 0x80090088 は、Zynq の Cortex-A9#0 の DBGDSCR に該当します。
mrd -address-space AP0 0xe000d000
DAP AHB-AP のアドレス 0xe000d000 を読み出します。AP 0 が AHB-AP を選択します。AHB-AP の 0xe000d000 は、Zynq の QSPI に該当します。