Part Number:TMS320F28388D
i=0;
ctrlcla.Channel[i].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
i=1;
ctrlcla.Channel[i].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
i=2;
ctrlcla.Channel[i].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
i=3;
ctrlcla.Channel[i].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
i=4;
ctrlcla.Channel[i].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
i=5;
ctrlcla.Channel[i].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
i=6;
ctrlcla.Channel[i].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
i=7;
ctrlcla.Channel[i].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
for(i=0;i!=8;i++)
{
ctrlcla.Channel[i].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
}
把i等于01234567带入,如第一列
ctrlcla.Channel[0].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
ctrlcla.Channel[1].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
ctrlcla.Channel[2].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
ctrlcla.Channel[3].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
ctrlcla.Channel[4].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
ctrlcla.Channel[5].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
ctrlcla.Channel[6].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
ctrlcla.Channel[7].Current_all = Result[i]*cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].K0 + cla_calib.Calib_Cur[i].Calibration[cla_calib.Point[i]].B0;
三种实现同样功能的代码,在CLA运行时时间分别为 500ns 1us 和3us
想问CLA是否也能够像设置CPU的opt一样进行代码优化的方式,还是编程时注意什么,由于控制需要频率很高,简单的几行代码就相差几个US,太让人头疼了
Susan Yang:
TMS320C28x代码生成工具包括对编译CLA C代码的支持。由于CLA体系结构和编程环境的限制,CLA支持的C语言有一些限制。
具体可以看一下
https://www.ti.com/lit/ug/spru514v/spru514v.pdf
第10章 CLA Compiler
另外您可以设置文件级的优化设置,右击单个文件,选择properties,而后在optimization设置优化等级