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.

CLA 一定要用掉整个 RAML3 吗?



TI 的大牛你们好!

 

我在用 28035 CLA 的时候,发现只能配置    Cla1Prog :      RUN = RAML3;当我配置    Cla1Prog :    RUN = RAML2 时,

 

程序就会跑到 __interrupt void ILLEGAL_ISR(void) 函数。还有 CLA 的程序一般都很小,配置 RUN = RAML3 感觉有点多,

 

就同时把 ramfuncs 也配置 RUN = RAML3 ,这时也会跑到 __interrupt void ILLEGAL_ISR(void) 函数。

 

有没有什么办法给 CLA 运行 RAM 配小一点呢,最好能配置到 RAML1 或 RAML2。

 

看了 CCS5 的自带例程,都是把整个的 RAML3 全部给 CLA 使用。

  • 你的理解是对的,这也可以算是一个设计的小问题,或者说不灵活性。

    在F28035上,CLA程序只能映射到RAML3也即0x9000后的4k word区间内(而且当使用CLA时,必须配置),而之前从0x8800开始的2k word区间只能用于存储CLA数据或用做普通的C28x的数据区。见数据手册的memory map,如下截图。

    有一个建议是,尽可能将控制和算法代码放到CLA上去运行,既提高效率,也不浪费空间。

    相信后续芯片应该会在这上做改进,尽可能做到可配置。

     

     

  • 这么快就回复了,真是很给力!谢谢。

  • 但那个 L3 有 0x1000 那么大啊,要全部配给 CLA ,这个实在有点多。CLA 平时很少用掉 0x400.

  • 确实,很多其他同行也谈到这个问题,但估计在F28035上是没办法了,除非将来硅片升级,不知道会不会尝试去改变。

    所以,目前就只能这么使用,尽可能将算法都放到那里去吧。