virtual CADIReturn_t CADI::CADIMemRead(CADIAddrComplete_t startAddress,
uint32_t unitsToRead,
uint32_t unitSizeInBytes,
uint8_t *data,
uint32_t *actualNumOfUnitsRead,
uint8_t doSideEffects) = 0;
- startAddress
- is the starting address to begin reading from. If
startAddress.overlay
is CADI_NO_OVERLAY
,
it refers to the current overlay.
- unitsToRead
- is the number of units of size
unitSizeInBytes
to
read.
- unitSizeInBytes
- is the unit size, specified in bytes, for memory
accesses.
- data
- is the data buffer that was allocated by the caller
and must be big enough to hold the requested number of addresses.
The target data is encoded in little endian format.
- actualNumOfUnitsRead
- is the number of units actually read. It can be
less than the number of units requested.
- doSideEffects
if this parameter is set to true
,
it informs the target that it must perform side effects on a read
access. Such side effects might be, for example, a clear-on-read.
If the parameter is set to false
, the target
must always omit side effects. This is the common use case where
a debug read of memory must not interfere with the target execution.
Note
If an error occurs, CADIMemRead()
must
return the error position in actualNumOfUnits*
. Data
is assumed
valid up to this position.