GRMON3-UM
June 2019, Version 3.1.0
90 www.cobham.com/gaisler
3. amem - syntax
NAME
amem - Asynchronous bus read
SYNOPSIS
amem
amem list
amem subcommand ?arg?
DESCRIPTION
The amem command is used to schedule bus read transfers for later retrieval of the result. Each transfer is asso-
ciated with a handle that has to be created before starting a transfer. Multiple concurrent transfers are supported
by using separate handles per transfer.
amem
amem list
List all amem handles and their states. An amem state is one of IDLE, RUN or DONE.
amem add name
Create a new amem handle named named name. The name is used as an identifier for the handle when
using other amem commands.
amem delete name
Delete the amem handle named name.
amem eval name address length
Schedule a bus read access for the handle name to read length bytes, starting at address. If a transfer
is already in progress, then the command will fail with the error code set to EBUSY.
amem wait name
Wait for an access to finish. The command returns when handle name is no longer in the RUN state.
amem result name
Return the result of a previous read access if finished, or raise an error if not finished.
amem prio name ?value?
Display or set debug link priority for a handle. 0 is the highest priority and 4 is the lowest.
amem state name
Display and return the current state of a handle.
RETURN VALUE
amem list returns a list of amem handle entries. Each entry is a sublist of the format: {name state}.
amem result returns the read data.
amem prio returns the priority.
amem state returns one of the strings IDLE, RUN or DONE.
EXAMPLE
Create a handle named myhandle and schedule a read of 1 MiB from address 0 in the background.
grmon3> amem add myhandle
Added amem handle: myhandle
grmon3> amem eval myhandle 0 0x100000
grmon3> set myresult [amem result myhandle]
List handles
grmon3> amem list