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 start 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 large enough to hold the requested number of addresses. The target data has the same endianness as is declared in the memory space that is used for the access.
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 a side effect might be, for example, a clear-on-read.

If this parameter is set to false, the target must always omit side effects. This is a common use case when 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 to be valid up to this position.
Non-ConfidentialPDF file icon PDF versionARM 100963_0200_00_en
Copyright © 2014–2017 ARM Limited or its affiliates. All rights reserved.