TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28388D: CLA代码优化问题

Part Number:TMS320F28388D

经测试,相同代码在CLA中运行,cla在处理if,switch等语句时花费时间几乎是CPU的两倍?有什么优化的方法吗

DSP应用:

/*————–全局变量定义—————————————————-*/Uint16 tcount,icount,rccount,itemp;CTRL ctrlcla;CLA_CALIB cla_calib;Uint16 Channel_num;/*————–宏设置定义——————————————————*/

/*————-内部函数声明—————————————————–*/

/*不能使用函数指针,不能进行<>比较,采用=、!=*/__interrupt void Cla1Task1 ( void ){ Uint16 i,num; num = Channel_num; rccount++; GpioDataRegs.GPBSET.bit.GPIO33 = 1; /*9-16通道控制*/ for(i=0;i!=num;i++) { CTRL_Run_exe(&ctrlcla.Channel[i],i+8,cla_para.Period,cla_para.Test_flag); } GpioDataRegs.GPBCLEAR.bit.GPIO33 = 1;

}在back任务中Channel_num被赋值8,然后在任务中将值赋值给num,整个程序运行时间会比直接将num=8多花费一倍时间

,

Green Deng:

你好,CLA其实本身就不适合处理逻辑性的语句,而更适合处理计算类的,所以这个情况是必然会发生的。唯一的办法就是将这类代码放在CPU中运行,而CLA专注于运算方面的处理。

,

DSP应用:

程序这个明显不是语句的问题,是参数定义的问题,cla在参数定义时需要注意什么

,

DSP应用:

c语言和汇编混合编程的例程有吗

,

Green Deng:

看到你有发新帖,请留意新帖回复:e2echina.ti.com/…/tms320f28388d-cla

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28388D: CLA代码优化问题
分享到: 更多 (0)