This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/AM5728: MMU setting for PCIE shared memory

Part Number: AM5728

Tool/software: TI-RTOS

Hello.

I'd like to have any advice about mmu setting for pcie shared memory.

I'm using AM5728 and TI-RTOS.

My custom board is pcie EP device.(The windows host can read/write board memory by pcie)

I use only BAR0 as inbound.(128MB on DDR3)

Everything is fine but speed.

My MMU table setting for 128MB DDR3 memory is...

var attrs= new Mmu.DescriptorAttrs();
Mmu.initDescAttrsMeta(attrs);

attrs.type = Mmu.DescriptorType_BLOCK;    // BLOCK descriptor
attrs.noExecute = true;                   // RW only
attrs.accPerm = 1;			  //write at any privelege level
attrs.shareable = 2;                      // sharerable
attrs.attrIndx = 0;                       // Non-cache, normal memory 0x44
// Set the descriptor for each entry in the address range
for (var i=0x90000000; i < 0x98000000; i = i + 0x00200000) 
{
    Mmu.setSecondLevelDescMeta(i, i, attrs); 
}

My Question is...

Q1.
I set this memory block as non-cache. Because I'm afraid if host read old data or I can not recognize when host changed memory by pcie.
But the thing is it's too slow when I read/write this memory block.
My firmware read and write this memory block every 250us.(about 10KB size)
So, is there any good way to improve memory access speed from my core?(MMU, DDR3 setting, etc...) *I use only MPU0.
Q2.
The host read speed by pcie is much slower then writing. Is this normal on pcie?

Thank you.