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.

TMS320F28388D: CLA编程运行速度问题

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,太让人头疼了