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.

TMS320F28035: f28035 CLA RAM

Part Number: TMS320F28035

Hi TI experts,

I am working on a project using F28035 CLA.

From its datasheet, it is clear that

(1) 0x008800 to 0x008C00 is CLA Data RAM 0, if MMEMCFG.RAM0E  is set to  1

(2) 0x008C00 to 0x009000 is CLA Data RAM1, if MMEMCFG.RAM1E  is set to  1

(3) 0x009000 to 0x00A000 is CLA Prog RAM, if MMEMCFG.PROGE  is set to  1

However, by doing this, CLA occupies a lot of RAM that could otherwise be used by CPU. If my CLA program does not need that much data and program RAM, change I reduce the size of CLA Data RAM0 and 1, and CLA Prog RAM by writing the following to the .cmd file?

CLARAMM0       : origin = 0x009000, length = 0x000400 (previously 0x008800 to 0x008C00)

CLARAMM0       : origin = 0x009400, length = 0x000400 (previously 0x008C00 to 0x009000)

CLAPROG       : origin = 0x009800, length = 0x000800 (previously 0x009000 to 0x00A000)

So I can use 0x008800 to 0x008FFF for CPU.

  • Hi Ivan,

    Yes, you can allocate less space for the CLA via the linker cmd file. Instead of rewriting the origin addresses and/or length amounts, I would instead suggest splitting up both of the memories into two ranges that would occupy the same start and end locations, just to avoid assigning anything incorrectly. For example:

    Before

    • CLARAM0              : origin = 0x008800, length = 0x000400  //(ranges 0x00008800-0x00008C00)

    After

    • RAM0_CLA : origin = 0x008800, length = 0x000200  //use however much you need
    • RAM0_CPU : origin = 0x008A00, length = 0x000200

    Then in the sections portion of the file, you would replace all memories assigned to CLARAM0 with RAM0_CLA . This would compile the RAM0_CPU portion of memory for the c28x and won't hand over control to the CLA when the MEMCFG register fields are set. I suggest referring to the linker cmd file page, linked here, which explains what each portion of the linker cmd file means. This should help with making changes to it.

    Best Regards,

    Delaney