memory

このコマンドは、メモリ領域を定義します。

Show/hide構文

memory 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 がデフォルトです。

Show/hide

Example 74. memory

memory 0x1000 0x2FFF cache     # RW 領域 0x1000 ~ 0x2FFF(キャッシュ)を指定する
memory 0x3000 0x7FFF ro 8      # 8 ビット RO 領域 0x3000 ~ 0x7FFF(キャッシュなし)を指定する
memory 0x8000 0x0              # RW 領域 0x8000 ~ 0xFFFF(キャッシュなし)を指定する

Show/hide関連項目

Copyright © 2010, 2011 ARM. All rights reserved.ARM DUI 0452FJ
Non-ConfidentialID111611