A.8.25. CADI::CADIMemWrite()

This function writes values to the memory in the target.

virtual CADIReturn_t CADI::CADIMemWrite(CADIAddrComplete_t startAddress,
                                       uint32_t unitsToWrite,
                                       uint32_t unitSizeInBytes,
                                       const uint8_t *data,
                                       uint32_t *actualNumOfUnitsWritten,
                                       uint8_t doSideEffects) = 0;

where:

startAddress

is the starting address to begin writing from. If startAddress.overlay is CADI_NO_OVERLAY, it refers to the current overlay.

unitsToWrite

is the number of units of size unitSizeInBytes to write.

unitSizeInBytes

is the unit size, specified in bytes, of the memory accesses.

data

is the data buffer holding the values to be written. This contains target data, encoded in little endian format.

actualNumOfUnitsWritten

is the number of units actually written to the target. It can be less than the number of units requested.

doSideEffects

If set to true, this parameter informs the target that it must perform side effects on a write access. Such side effects might be, for example, triggering an interrupt.

If set to false, the target must decide when to ignore this parameter. For some cases it is not possible to write to memory without doing a side effect such as manipulating a memory-mapped register that influences a hardware accelerator's behavior and changes the computed results.

Note

On error, CADIMemWrite() must return the error position in actualNumOfUnits*. Data is assumed valid up to this position.

If the write spans a gap in the memory space, the target must stop writing a the beginning of the gap and return the number of successful writes in numUnitsWritten.

Copyright © 2008-2014 ARM. All rights reserved.ARM DUI 0444M
Non-ConfidentialID051314