A.8.24 CADI::CADIMemRead()

The function reads memory values from the component. This function must be implemented to support the display of memory contents.

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.
Non-ConfidentialPDF file icon PDF versionARM DUI0842F
Copyright © 2014, 2015 ARM. All rights reserved.