4.7.8. armul_HarvardMemAccess

This is the memory access function used for true Harvard models, where both busses present the required access parameters in the same function call.

Syntax

void armul_HarvardMemAccess(void *handle, ARMword address1, ARMword *data1,
                            ARMul_acc access1, int *return1, ARMword address2,
                            ARMword *data2, ARMul_acc access2, int *return2)

where:

handle

is the value of interf->handle set in MemInit.

address1

is the value on the data address bus.

data1

is a pointer to the data for the data memory access. See Data for reads and writes for details.

access1

encodes the type of cycle for the data memory access. On some processors, for example, cached processors, some of the signals are not valid. See Macros for access types for details of the macros for determining access type.

return1

is the return value for the data memory access:

1

indicates successful completion of the cycle

0

tells the processor to busy-wait and try the access again next cycle

–1

signals an abort.

address2

is the value on the instruction address bus.

data2

is a pointer to the data for the instruction memory access. See Data for reads and writes for details.

access2

encodes the type of cycle for the instruction memory access. On some processors, for example, cached processors, some of the signals are not valid. See Macros for access types for details of the macros for determining access type.

return2

is the return value for the instruction memory access:

1

indicates successful completion of the cycle

0

tells the processor to busy-wait and try the access again next cycle

–1

signals an abort.

Copyright © 2002-2007 ARM Limited. All rights reserved.ARM DUI 0207D
Non-Confidential