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.

F28069 CLA RAM access

Hi there.

I am using a Picollo F28069 and using the CLA RAM with both CPU and CLA access set at the same time which the datasheet says it's OK.

I initialize the bits as:

Cla1Regs.MMEMCFG.bit.PROGE = 1;

Cla1Regs.MMEMCFG.bit.RAM0E = 1;

Cla1Regs.MMEMCFG.bit.RAM0CPUE = 1;        // Allow CPU access to ClaDataRam
Cla1Regs.MMEMCFG.bit.RAM1E = 1;

Cla1Regs.MMEMCFG.bit.RAM1CPUE = 1;       // Allow CPU access to ClaDataRam

Somehow when the program is running, the CPU can no longer access the CLA RAM unless I call (again)

EALLOW;

Cla1Regs.MMEMCFG.bit.RAM0CPUE = 1;

EDIS;

before trying to access the CLA RAM.

We cannot examine the registers in the debugger (I think CCS does not yet have an updated gel file for this?) so I can't see if somehow this bit is being reset to 0, but I know my code is not setting it explicitly.

Has anyone else had trouble with this?

Thanks,

Cyril

 

 

  • Hi Cyril,

    according to table 9-4 of SPRUH18 you must set to 0 the RAMxCPUE bits in order to always allow CPU to access to CLA data memory.

    Regards,

    Raffaele

  • Hi Raffaele,

    Thanks for the note.  In that table, I read it as if

    RAMxE = 1  and RAMxCPUE = 1 then CPU data access is allowed to CLA RAM (as well as CLA access to the RAM).

    This is the mode I'm trying to run it in.  TI has told me this is valid, but it only works if I repeatedly reset the RAMxCPUE bit to 1 just before my READ to the RAM.  Puzzling....

    I can examine the PROGE, RAM0E and RAM1E bits in the debugger, but the RAMXCPUE bits are not available (yet) so I cannot see if or when those bits are being reset.

    Cyril

  • Please see

    http://e2e.ti.com/support/microcontrollers/tms320c2000_32-bit_real-time_mcus/f/171/p/218230/770892.aspx#770892

    this is part of the errata,