1.3.90 memory

メモリ領域を定義し、その属性とサイズを指定します。

このコマンドにより、メモリ領域の ID を新しいデバッガ変数 $n に記録します。 n は数値です。メモリ領域のステータスを削除または変更するには、この変数をスクリプトで使用します。$n が最後または最後から 2 番目のデバッガ変数の場合は、$ または $$ をそれぞれ使用して ID にアクセスできます。

構文

mem ory start_address {end_address | +size} [attributes]...

各項目には以下の意味があります。

start_address

領域の開始アドレスを指定します。

end_address

領域の終了アドレス(指定したアドレスを含む)を指定します。アドレス空間の終わりを表すショートカットとして、0x0 を使用できます。

+size

領域のサイズを指定します。

attributes

追加の属性を指定します。

access_mode

領域のアクセスモードを指定します。

na

アクセス不可

ro

読み出し専用

wo

書き込み専用

rw

読み出し/書き込み。これがデフォルトです。

width

アクセス幅を指定します。

8

8 ‑ビット

16

16 ‑ビット

32

32 ‑ビット

64

64 ‑ビット

特定のアクセス幅の指定は、例えば、一部のペリフェラルへのアクセスなど、メモリ領域がアクセス幅に敏感な場合のみ必要です。

width を指定しない場合、デバッガは使用できる任意のアクセス幅を使用し、通常、最良のパフォーマンスが実現されます。

bp | nobp

ソフトウェアブレークポイントが領域内で設定可能かどうかを制御します。デフォルトは bp です。

hbp | nohbp

ハードウェアブレークポイントが領域内で設定可能かどうかを制御します。デフォルトは hbp です。

cache | nocache

デバッガがメモリ領域から読みだしたデータをキャッシュできるかどうかを制御します。メモリのキャッシュを有効にすると、デバッガのパフォーマンスが向上します。外部ソースによる変更が可能なメモリ領域は、デバッガによるキャッシュを有効にしないで下さい。これは例えば、揮発性のペリフェラルなどです。

nocache がデフォルトです。

verify | noverify

書き込み操作の際、値を読み出して書き込んだ値と比較することにより、値を検証する必要があるかどうかを制御します。verify オプションを使用する場合は、rw 属性を指定して、検証操作が実行できるようにする必要があります。一部の周辺レジスタは揮発性で、その値を読み出すと副作用としてその内容が変更されるので、ペリフェラルが含まれているメモリ領域は、noverify とマークすることをお勧めします。

verify がデフォルトです。

unwind | nounwind

スタックのアンワインド時にデバッガがこのメモリ領域から読みだすべきかどうかを制御します。

デフォルトでは、スタックのアンワインド時に、デバッガは読み込み可能としてマークされたどのメモリ領域にもアクセスします。

例 1-93 例

memory 0x1000 0x2FFF cache     # RW 領域 0x1000 ~ 0x2FFF(キャッシュ)を指定する
memory 0x3000 0x7FFF ro 8      # 8 ビット RO 領域 0x3000 ~ 0x7FFF(キャッシュなし)を指定する
memory 0x8000 0x0              # RW 領域 0x8000 ~ 0xFFFF(キャッシュなし)を指定する
非機密扱いPDF file icon PDF 版ARM DUI0452ZJ
Copyright © 2010–2016 ARM.All rights reserved.