The extended address load and store instructions are privileged when the MMU is
enabled, unless they are allowed by setting the parameter
appropriately. If allowed, the instructions bypass the MMU translation treating the
extended address as a physical address.
•
The GNU compiler does not handle 64-bit address pointers, which means that unless
PAE is enabled the only way to access an extended address is using the specific
extended addressing instructions, available as macros.
The following C code exemplifies how an extended address can be used to access data:
#include "xil_types.h"
#include "mb_interface.h"
int main()
{
u64 Addr = 0x000000FF00000000LL; /* Extended address */
u32 Word;
u8 Byte;
Word = lwea(Addr);
swea(Addr, Word);
Byte = lbuea(Addr); /* Load byte from extended address */
sbea(Addr, Byte);
}
MicroBlaze Processor Reference Guide
UG984 (v2018.2) June 21, 2018
/* Load word from extended address */
/* Store word to extended address */
/* Store byte to extended address */
www.xilinx.com
Chapter 2: MicroBlaze Architecture
C_MMU_PRIVILEGED_INSTR
Send Feedback
133
Need help?
Do you have a question about the MicroBlaze and is the answer not in the manual?
Questions and answers