Part Number: TMS320F28377S
Hello:
最近在使用CAL进行一个应用开发,运行中发现CLA运行时间溢出(超过了CLA触发周期) 。使用PWM11模块的计数器对CLA程序的运行时间进行监控,最后定位到一行乘法代码:

其中Direct数组是定义在CLA和CPU共享RAM里的整形数组:

对运行的观察结果如下:

令人惊讶的是,一行乘法计算代码的运行时间居然达到了623个时钟周期(200MHz主频,3us)。
但是将数组元素Direct[1]的初始化值,从-1改成1,其运行时间完全不同:

这行代码的执行时间仅34个时钟周期。
又将Direct数组改为float32型数据,其运行结果如下:

执行时间仅9个时钟周期。
第一种运行工况明显是有问题的,但是我又找不到根源何在。请协助!