summaryrefslogtreecommitdiff
path: root/doc/openocd.texi
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-11-10 11:58:31 -0800
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-11-10 11:58:31 -0800
commit61af6a681671eae69256dcc5b9e853cf9b161387 (patch)
tree2a2d5a5cdcf577fee19093aeaec829e394be6114 /doc/openocd.texi
parent6881c1b6d686c91a8cd604bdcd6098ab62d4dcb9 (diff)
downloadopenocd+libswd-61af6a681671eae69256dcc5b9e853cf9b161387.tar.gz
openocd+libswd-61af6a681671eae69256dcc5b9e853cf9b161387.tar.bz2
openocd+libswd-61af6a681671eae69256dcc5b9e853cf9b161387.tar.xz
openocd+libswd-61af6a681671eae69256dcc5b9e853cf9b161387.zip
target: MMU-aware init for memory read/write
Start switching MMU handling over to a more sensible scheme. Having an mmu() method enables MMU-aware behaviors. Not having one kicks in simpler ones, with no distinction between virtual and physical addresses. Currently only a handful of targets have methods to read/write physical memory: just arm720, arm920, and arm926. They should all initialize OK now, but the arm*20 parts don't do the "extra" stuff arm926 does (which should arguably be target-generic). Also simplify how target_init() loops over all targets by making it be a normal "for" loop, instead of scattering its three parts to the four winds. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'doc/openocd.texi')
-rw-r--r--doc/openocd.texi14
1 files changed, 9 insertions, 5 deletions
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 8223ee94..475482df 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -5051,9 +5051,11 @@ about what TAP is the current target, or about MMU configuration.
Display contents of address @var{addr}, as
32-bit words (@command{mdw}), 16-bit halfwords (@command{mdh}),
or 8-bit bytes (@command{mdb}).
+When the current target has an MMU which is present and active,
+@var{addr} is interpreted as a virtual address.
+Otherwise, or if the optional @var{phys} flag is specified,
+@var{addr} is interpreted as a physical address.
If @var{count} is specified, displays that many units.
-@var{phys} is an optional flag to indicate to use
-physical address and bypass MMU
(If you want to manipulate the data instead of displaying it,
see the @code{mem2array} primitives.)
@end deffn
@@ -5062,10 +5064,12 @@ see the @code{mem2array} primitives.)
@deffnx Command mwh [phys] addr halfword
@deffnx Command mwb [phys] addr byte
Writes the specified @var{word} (32 bits),
-@var{halfword} (16 bits), or @var{byte} (8-bit) pattern,
+@var{halfword} (16 bits), or @var{byte} (8-bit) value,
at the specified address @var{addr}.
-@var{phys} is an optional flag to indicate to use
-physical address and bypass MMU
+When the current target has an MMU which is present and active,
+@var{addr} is interpreted as a virtual address.
+Otherwise, or if the optional @var{phys} flag is specified,
+@var{addr} is interpreted as a physical address.
@end deffn