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.

why setMarMeta cannot set up the MAR register

Other Parts Discussed in Thread: SYSBIOS


HI ,
   I am developing C6678 software. My environment is
    CCS 5.4
    XDC 3.5
    BIOS 6.35
  
   I want to setup the external DDR3 interface is cachable. So In my project cfg file.
   I add the following command.
   (1)
   var Cache       =   xdc.useModule('ti.sysbios.family.c66.Cache');
   Cache.setMarMeta(0x80000000, 0x20000000, Cache.PC |  Cache.PFX  );
   
   After rebooting my board ,I dump the MAR register find that MAR12 is not changed:
  
      md.l is a shell command in my software.
    RFDSP->md.l 0x01848200 0x100
01848200: 00000000 00000000 00000000 00000000    ................
01848210: 00000000 00000000 00000000 00000000    ................
01848220: 00000000 00000000 00000000 00000000    ................
01848230: 00000000 00000000 00000000 00000000    ................
01848240: 0000000d 0000000d 0000000d 0000000d    ................
01848250: 0000000d 0000000d 0000000d 0000000d    ................
01848260: 0000000d 0000000d 0000000d 0000000d    ................
01848270: 0000000d 0000000d 0000000d 0000000c    ................


Then I use my shell commmand to write he MAR register again.
mw.l 0x01848200 0x0000000f and dump the mar128 again , It shows that the register value has been changed corectly.
It means that MAR128 is writable.

(2) Then I tried another method :
  Cache.MAR128_159=0x0000000f;
  the resust is the same as (1).
  My quesiton is why the XDC scripit cannot setup the corresponding MAR registers?

 

thank you