TMS320F28377S: CLA的运行时间超长问题

Part Number: TMS320F28377S

Hello:

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

image.png

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

image.png

对运行的观察结果如下:

image.png

令人惊讶的是,一行乘法计算代码的运行时间居然达到了623个时钟周期(200MHz主频,3us)。

但是将数组元素Direct[1]的初始化值,从-1改成1,其运行时间完全不同:

image.png

这行代码的执行时间仅34个时钟周期。

又将Direct数组改为float32型数据,其运行结果如下:

image.png

执行时间仅9个时钟周期。

第一种运行工况明显是有问题的,但是我又找不到根源何在。请协助!